11.07.2015 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!