Parakeet: a just-in-time parallel accelerator for python

  • Authors:
  • Alex Rubinsteyn;Eric Hielscher;Nathaniel Weinman;Dennis Shasha

  • Affiliations:
  • Computer Science Department, New York University, New York, NY;Computer Science Department, New York University, New York, NY;Computer Science Department, New York University, New York, NY;Computer Science Department, New York University, New York, NY

  • Venue:
  • HotPar'12 Proceedings of the 4th USENIX conference on Hot Topics in Parallelism
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

High level productivity languages such as Python or Matlab enable the use of computational resources by nonexpert programmers. However, these languages often sacrifice program speed for ease of use. This paper proposes Parakeet, a library which provides a just-in-time (JIT) parallel accelerator for Python. Parakeet bridges the gap between the usability of Python and the speed of code written in efficiency languages such as C++ or CUDA. Parakeet accelerates data-parallel sections of Python that use the standard NumPy scientific computing library. Parakeet JIT compiles efficient versions of Python functions and automatically manages their execution on both GPUs and CPUs. We assess Parakeet on a pair of benchmarks and achieve significant speedups.