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)