compilers and vms for programming environments used by
play

Compilers and VMs for Programming Environments Used by - PowerPoint PPT Presentation

Compilers and VMs for Programming Environments Used by Scien;sts Jos Nelson Amaral Univ. of Alberta (with input from Laurie Hendren and Rahul


  1. Compilers ¡and ¡VMs ¡for ¡Programming ¡ Environments ¡Used ¡by ¡Scien;sts ¡ José ¡Nelson ¡Amaral ¡– ¡Univ. ¡of ¡Alberta ¡ (with ¡input ¡from ¡Laurie ¡Hendren ¡and ¡ Rahul ¡Garg ¡– ¡McGill ¡Univ.) ¡

  2. Why ¡Python ¡in ¡Computa;onal ¡ Chemistry? ¡ • Easy ¡integra;on ¡of ¡code ¡wriMen ¡in ¡C/C++; ¡ • Composibility ¡(reuse) ¡ – New ¡students ¡quickly ¡get ¡results ¡ – Build ¡from ¡exis;ng ¡modules, ¡instead ¡of ¡building ¡ from ¡scratch ¡ • Easy ¡to ¡learn ¡the ¡language ¡ • Visualiza;on ¡(very ¡important) ¡ • Drawbacks: ¡ – Performance ¡of ¡Python ¡modules ¡

  3. Comple;ng ¡the ¡Bridge ¡ OpenMP ¡ OpenMP ¡ CPU ¡ Compiler ¡ ¡Code ¡ Nvidia ¡ OpencL ¡ OpenCL ¡ Code ¡ Compiler ¡ Python/NumPy ¡ UnPython ¡ + ¡ Compiler ¡ ¡Annota;ons ¡ Jit4OpenCL ¡ Compiler ¡ AMD ¡ OpenCL ¡ Restricted ¡ Compiler ¡ Jit4GPU ¡ C++ ¡ Compiler ¡ ¡Syntax ¡ AMD ¡CAL ¡ AMD ¡CAL ¡ Code ¡ Compiler ¡

  4. Comple;ng ¡the ¡Bridge ¡ OpenMP ¡ OpenMP ¡ CPU ¡ ? ¡ MatLab ¡ Compiler ¡ ¡Code ¡ Nvidia ¡ OpencL ¡ OpenCL ¡ Code ¡ Compiler ¡ Python/NumPy ¡ UnPython ¡ + ¡ ? ¡ Compiler ¡ ¡Annota;ons ¡ Jit4OpenCL ¡ Compiler ¡ AMD ¡ OpenCL ¡ Restricted ¡ Compiler ¡ Jit4GPU ¡ C++ ¡ Compiler ¡ ¡Syntax ¡ AMD ¡CAL ¡ AMD ¡CAL ¡ Code ¡ Compiler ¡

  5. What ¡we ¡have ¡ OpenMP ¡ OpenMP ¡ CPU ¡ ? ¡ MatLab ¡ Compiler ¡ ¡Code ¡ Nvidia ¡ OpencL ¡ OpenCL ¡ Code ¡ Compiler ¡ Python/NumPy ¡ UnPython ¡ + ¡ ? ¡ Compiler ¡ ¡Annota;ons ¡ Jit4OpenCL ¡ Compiler ¡ AMD ¡ OpenCL ¡ Restricted ¡ Compiler ¡ Jit4GPU ¡ C++ ¡ Compiler ¡ ¡Syntax ¡ AMD ¡CAL ¡ AMD ¡CAL ¡ Code ¡ Compiler ¡

  6. What ¡we ¡want ¡ IR ¡to ¡ ¡ MatLab ¡ ¡ MatLab ¡ mul;core ¡ to ¡IR ¡ IR ¡to ¡ ¡ NVidia ¡ Intermediate ¡ Python/NumPy ¡ Python ¡ ¡ Represen-­‑ ¡ + ¡ to ¡IR ¡ ¡Annota;ons ¡ ta;on ¡ IR ¡to ¡ ¡ CELL ¡ IR ¡to ¡ ¡ AMD ¡

  7. Issues ¡with ¡MATLAB ¡ • No ¡formal ¡specifica;on ¡and ¡no ¡official ¡ publicly-­‑available ¡implementa;on ¡ – McLab ¡group ¡is ¡crea;ng ¡on ¡a ¡best-­‑effort ¡ specifica;on; ¡ • Designed ¡for ¡interpreta;on ¡not ¡for ¡efficient ¡ execu;on; ¡ • Many ¡dynamic ¡features ¡ – But ¡many ¡of ¡those ¡are ¡not ¡needed ¡or ¡are ¡misused; ¡

  8. Goals ¡for ¡Hendren’s ¡group ¡ • Create ¡a ¡modern ¡and ¡open ¡research ¡ framework ¡for ¡MATLAB: ¡ – Focus ¡on ¡dynamic ¡features ¡that ¡are ¡effec;vely ¡ used ¡ – Facilitate ¡crea;on ¡of ¡extensions ¡for ¡domain-­‑ specific ¡languages ¡ – Create ¡a ¡suitable ¡IR ¡ ¡

  9. Hendren’s ¡McLab ¡Vision: ¡ “start ¡with ¡the ¡languages ¡ that ¡scien;sts ¡are ¡using” ¡

  10. Challenges ¡ • Type ¡inference ¡ • Dynamic ¡features ¡ • Loose ¡Language ¡specifica;ons ¡ • Diverse, ¡complex, ¡and ¡evolving ¡hardware ¡ plaeorms ¡

Recommend


More recommend