A Compiler for Parallel Exeuction of Numerical Python Programs on ...
A Compiler for Parallel Exeuction of Numerical Python Programs on ...
A Compiler for Parallel Exeuction of Numerical Python Programs on ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Typed AST from un<str<strong>on</strong>g>Pyth<strong>on</strong></str<strong>on</strong>g>Typed ASTTyped ASTArray access analysisLoop optimizati<strong>on</strong>sData transferparametersIL Code generati<strong>on</strong>AMD ILAMD CAL IL compilerDatatransferparams(opt)GPU binary codeData transfer and executi<strong>on</strong>Figure 4.2: Block diagram <str<strong>on</strong>g>of</str<strong>on</strong>g> un<str<strong>on</strong>g>Pyth<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g> CPU code generati<strong>on</strong>4.3 Final RemarksThis chapter described the design <str<strong>on</strong>g>of</str<strong>on</strong>g> a new compiler system that combines an ahead-<str<strong>on</strong>g>of</str<strong>on</strong>g>-timecompiler, a just-in-time compiler and the AMD CAL IL compiler to create a compilati<strong>on</strong>path <str<strong>on</strong>g>for</str<strong>on</strong>g> parallel-annotated <str<strong>on</strong>g>Pyth<strong>on</strong></str<strong>on</strong>g> numerical code. This compilati<strong>on</strong> infrastructure generatesflexible code that execute either in a GPU or in a multicore CPU.32