TUD – Mocasin
ID: R19 | Licence: ISC License | Owner: TUD | Contacts: jiahong.bi@tu-dresden.de |
Short Description | Mocasin enables high-level trace-driven simulation/optimization for parallel applications on heterogeneous systems (both modelled as graphs). |
Key features | – Highly customizable input/output format. – Fast prototyping in Python programming language. – Automatic Design Space Exploration based on information of the platform. |
Require | – MLIR (Multi-Level Intermediate Representation). |
Provide | – A high-flexible framework for modelling multi-processor platforms. |
Input | – DAG graph of to-be-optimized CGRA programs in a custom format. |
Output | – Mapping results in custom format which are inputs of CGRA dialect. |
User | – Developers. |
Benefits for the user | Automatic optimizations and deployment. |
Position in the MYRTUS DPE | Step 3 – Node Level Optimization and Deployment |
TRL@M0 | 2-3 |
TRL@M36 | 3-4 |
General description
Mocasin supports task graphs, Kahn Process Networks and static dataflow graphs as models of computation to represent applications. In all cases, traces are used to model execution. As for the platforms, Mocasin supports simple ARM big.LITTLE multi-cores (with thorough calibration and good result fidelity). There is no support for reactive models, for application adaptation, nor for distributed execution.
Role in the MYRTUS DPE
To deploy compute-intensive onto CGRA hardware, a mapping from different computing nodes to hardware resources is essential. Additional automatic DSE is key to the performance of running on CGRA hardware, which will generate different configurations in custom format with respect to execution time and energy consumption.
MYRTUS Extension/Contribution
Mocasin is going to be extended to:
- model specialised RISC-V platforms with CGRAs.
- provide support on the platform side to include distributed nodes.
- provide MOC support to reactive and/or adaptable application models.
Plans and Expectation
Assessment Plan@M18:
Mocasin should provide initial support for application adaptation (changing graph topology, changing mapping to react to environment). This will be measured with mock-application models, reporting performance and energy variations as a consequence of the adaptation. Initial support for the platforms developed in MYRTUS will be assessed by modelling simple CGRAs, calibrating to an error in latency of less than 20% for single kernels (tensor expression, signal processing kernels).
Expected Results@M18:
3 out of the following 5 features supported: modelling changing topology, modelling time-triggered actions, modelling input from external sources for runtime adaptation, modelling CGRA and platform-side reconfiguration, calibrated models for simple kernels with error below 20%.