Evolve methods and tools to facilitate the development (or restructuring) of parallel applications and to make them much more efficient.
The main tasks consist of:
Definition and implementation of a multi-level parallel programming and execution model for embedded applications and specification of a respective execution platform
Multilevel parallel programming with high-level directives based on OpenMP directives
Profiling and restructuring of sequential programs
Performance characterisation of multi-core /multithreaded systems through extensive benchmarking
Development of an expert system for optimising applications on multi-core /multithreaded systems by performing static and dynamic analysis, e.g. with respect to the efficiency of loop parallelisation, excessive cache coherence traffic, etc.
Adaptation of message passing APIs to MPSoC environments, probably as a subset of MPI
Tools for the design exploration of efficient interconnecting networks for Multiprocessors on a Chip (MPSoC)
NoC Maker NoC Maker is an architectural exploration tool to design networks on chip (NoCs) NoC Maker.
ocMPI - On-Chip MPI A lightweight implementation of the Message Passing Interface for MPSoC On-Chip MPI project .
MAQAO - a Modular Assembly Quality Analyzer and Optimizer, is a tool for analyzing and optimizing assembly code. MAQAO
FADAlib - an implementation of the FADA (Fuzzy Array Dataflow Analysis), which is an instance-wise dependence analysis for dynamic control programs FADAlib
HMPP - the programming glue between the legacy source
and hardware-accelerated compute kernels HMPP
STEP - a tool for transforming OpenMP programs into MPI programs STEP