Runtime Compilation of Array-Oriented Python Programs

Alex Rubinsteyn
Department of Computer Science, New York University
New York University, 2014


   title={Runtime Compilation of Array-Oriented Python Programs},

   author={Rubinsteyn, Alex},


   school={New York University}


Download Download (PDF)   View View   Source Source   



The Python programming language has become a popular platform for data analysis and scientific computing. To mitigate the poor performance of Python’s standard interpreter, numerically intensive computations are typically offloaded to library functions written in high-performance compiled languages such as Fortran or C. When there is no efficient library implementation available for a particular algorithm, the programmer must accept suboptimal performance or switch to a low-level language to implement the routine. This thesis seeks to give Python programmers a means to implement high-performance algorithms in a high-level form. We present Parakeet, a runtime compiler for an array-oriented subset of Python. Parakeet selectively augments the standard Python interpreter by compiling and executing functions explicitly marked for acceleration by the programmer. Parakeet uses runtime type specialization to eliminate the performance-defeating dynamicism of untyped Python code. Parakeet’s pervasive use of data parallel operators as a means for implementing array operations enables high-level restructuring optimization and compilation to parallel hardware such as multi-core CPUs and graphics processors. We evaluate Parakeet on a collection of numerical benchmarks and demonstrate its dramatic capacity for accelerating array-oriented Python programs.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: