Download View the ALMA design framework guidelines.
Transcript
D3.8 ALMA design framework guidelines for multicore systems (final version) ALMA Table of contents 1 ................................................................................................................................................. 5 1 INTRODUCTION ........................................................................................................... 7 2 THE ALMA FRAMEWORK ......................................................................................... 7 3 DESIGN METHODOLOGY ........................................................................................ 10 4 ALMA FLOW FRONTEND TOOLS.......................................................................... 11 4.1 ALMA PRAGMA SUPPORT ....................................................................................... 11 4.1.1 alma_task_cluster ............................................................................................ 11 4.1.2 alma_task_alloc............................................................................................... 11 4.1.3 gcs_scop_ignore .............................................................................................. 12 4.1.4 gcs_scop_cg_schedule ..................................................................................... 12 4.1.5 GCS_PURE_FUNCTION................................................................................ 13 4.2 BEST PRACTICE FOR WRITING INTERFACE CODE ..................................................... 13 5 FINE GRAINED OPTIMIZATIONS FLOW ............................................................ 15 5.1 OVERVIEW ............................................................................................................... 15 5.2 LOOP TRANSFORMATIONS ....................................................................................... 15 5.2.1 Specifying Register Level Tile sizes ................................................................. 16 5.2.2 Understanding SCoPs ..................................................................................... 16 5.3 FLOATING-POINT TO FIXED-POINT CONVERSION .................................................... 18 5.3.1 Applicability of Automatic fixed-point specification ....................................... 18 5.3.2 Specifying Accuracy Constraint ...................................................................... 18 5.4 SIMD VECTORIZATION ........................................................................................... 19 5.5 GENERAL SCILAB CODING GUIDELINES .................................................................. 19 6 COARSE GRAIN PARALLELISM EXTRACTION ................................................ 19 6.1 OVERVIEW ............................................................................................................... 19 6.2 PARAMETERS CONTROLLED BY USER ...................................................................... 20 6.2.1 Number of parallel tasks ................................................................................. 20 6.2.2 Tile size ............................................................................................................ 20 7 COARSE GRAIN PARALLELISM OPTIMIZATION ............................................ 20 7.1 8 OPTIMIZATION METHOD OPTIONS AND TRADE-OFFS ............................................... 22 MULTICORE SIMULATOR ...................................................................................... 22 8.1 COMMAND LINE INTERFACE .................................................................................... 23 8.1.1 Global Command Line Arguments .................................................................. 23 8.1.2 Module Specific Command Line Arguments ................................................... 24 8.1.3 Instance-Specific Command Line Arguments .................................................. 25 8.1.4 Providing Application files .............................................................................. 25 8.2 CONFIGURATION FILES ............................................................................................ 25 8.2.1 Kahrisma Specific Options .............................................................................. 26 8.2.2 Xentium Specific Options ................................................................................ 27 9 ALMA FLOW DEMONSTRATION........................................................................... 27 9.1 9.2 9.3 9.4 9.5 FRONT END – GENERATING C CODE........................................................................ 28 COARSE AND FINE GRAIN PARALLELISM EXTRACTION .......................................... 28 COARSE GRAIN PARALLELISM OPTIMIZATION........................................................ 29 PARALLEL CODE GENERATION ............................................................................... 32 SIMULATING THE GENERATED PROGRAM ............................................................... 32 4 Version: v1.02 / FINAL Public (PU)