The project focuses on the implementation of a compiler tool that supports the development of efficient and adaptive parallel applications. The compiler tool consists of the SCAPP component, the TwoL component and the scheduling component.
The SCAPP component (Source Code Analyser for Performance Prediction) analyses the source code of parallel programs and generates symbolic runtime formulas that model the program's runtime. Currently, the research is focused on the extraction of dynamic cost information of fundamental program components by the execution of automatically instrumented program codes and on the integration of these cost information into SCAPP.
The software tool TwoL implements a compiler-based approach for the generation of coordination code for mixed task and data parallel application programs from a predefined specification of the program structure. The tool is based on a modular design and includes interfaces to external components that can be integrated into the translation process. The schedule of the considered application is defined using annotation in an intermediade representation and can be modified using an external scheduling component. The runtime predictions required for the scheduling can be provided by the SCAPP compiler tool. The copy and data re-distribution operations included in the coordination code produced are implemented in the separate DRDLib library.
Further information can be obtained from the NIC (Neumann Institute for Computing) Homepage.