Download View the ALMA design framework guidelines.
Transcript
D3.8 ALMA design framework guidelines for multicore systems (final version) ALMA Preface This document is a collection of end-user guidelines for the ALMA tool chain. The user perspective for most parts of the ALMA tool flow components will be presented. It provides advice for an optimal use of the ALMA tool chain to create faster applications on Multiprocessor and Multicore systems. Abstract The ALMA project main product is the ALMA tool chain that is an end-to-end tool chain from a high-level program representation directly to embedded Multiprocessor System-on-Chip (MPSoC) platforms. The ALMA tool chain is not tailored to a specific platform, but rather abstracts the underlying parallel hardware architecture by the introduction of the Architecture Description Language. Various intermediate code representation optimizations, including polyhedral analysis and control and data flow graph optimization are introduced, before the parallel code is presented to the platform specific tools. This document provides end-user guidelines towards extracting the best performance from applications created using the ALMA tool chain. List of Figures Figure 1: ALMA tool flow from the user perspective .................................................. 8 Figure 2: ALMA tool chain architecture ...................................................................... 9 Figure 3: Fine-grain Flow ........................................................................................ 15 Figure 4: Multicore Simulator................................................................................... 23 Figure 5: Parallel Matrix Multiplication Scilab Code – File matrixmul_parallel.sce ......................................................................................................................... 28 Figure 6: GeCoS Script matrixmul_parallel.cs: First part, Front End ................ 28 Figure 7: GeCoS Script: Coarse grain parallelism extraction and fine grain parallelism optimization ...................................................................................................... 29 Figure 8: GeCoS Script demonstrating the use of CoarseGrain .............................. 30 Figure 9: The top level HTG layer for matrixmul_parallel ............................... 31 Figure 10: The parallel processor assignment for the top level HTG layer for matrixmul_parallel (processors are encoded as colours) ......................... 31 Figure 11: GeCoS Script matrixmul_parallel.cs: parallel code generation ........ 32 Figure 12: GeCoS Script matrixmul_parallel.cs: parallel code generation ........ 32 Figure 13: GeCoS Script: compiling and simulating the application ......................... 33 List of Tables Table 8-1: Command line argument list for systemsim ............................................ 23 Table 8-2: Command line argument format ............................................................. 24 Table 8-3: Available systemsim commands............................................................. 24 Table 8-4: Descriptor for module-specific command line arguments........................ 24 Table 8-5: Escape character for module-specific descriptor .................................... 25 Table 8-6: Descriptor for instance-specific command line arguments ...................... 25 Table 8-7: Escape character for instance-specific descriptor ................................... 25 Table 8-8: Configuration file format ......................................................................... 26 Table 8-9: Kahrisma specific simulator options........................................................ 27 Table 8-10: Extract of Xentium simulator options. .................................................. 27 Table 8-11: Extract of Xentium profiler options. ...................................................... 27 3 Version: v1.02 / FINAL Public (PU)