Download User Manual for the SPARK Parallelizing High

Transcript
4.5
Scripting Options for Controlling Transformations and Heuristics: Priority.rules . . . . . . . . . .
21
4.5.1
Scheduler Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.5.2
List of Allowed Code Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.5.3
Cost of Code Motions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
A Sample default.spark Hardware Description file
24
B Recommended Priority.rules Synthesis Script file
26
C Modifying Input Code to be Synthesizable by Spark
28
C.1 Input Code with Structs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
C.2 Input Code with Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
C.3 Input Code with Breaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
C.4 Input Code with Continues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
C.5 Input Code in which an Argument is Modified . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
C.6 Input Code with “?” if-then-else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
C.7 Input Code with Multi-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
2