Skip to main content

Python accelerators for high-performance computing

Abstract

Python became the preferred language for teaching in academia, and it is one of the most popular programming languages for scientific computing. This wide popularity occurs despite the weak performance of the language. This weakness is the motivation that drives the efforts devoted by the Python community to improve the performance of the language. In this article, we are following these efforts while we focus on one specific promised solution that aims to provide high-performance and performance portability for Python applications.

This is a preview of subscription content, access via your institution.

References

  1. Guo P (2014) Python is now the most popular introductory teaching language at top U.S. universities, July 7, 2014. http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext

  2. Most Popular Coding Languages of 2016, February 2, 2016. http://blog.codeeval.com/

  3. TIOBE Index. http://www.tiobe.com/tiobe-index/

  4. IEEE Spectrum ranking. http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages

  5. Scipy. http://www.scipy.org/

  6. Numpy. http://www.numpy.org/

  7. Matplotlib. http://matplotlib.org/

  8. Marowka A Is python suitable for teaching parallel programming?. will be published

  9. PyPy. http://pypy.org/

  10. pyCUDA. https://mathema.tician.de/software/pycuda/

  11. PyOpenCL. https://mathema.tician.de/software/pyopencl/

  12. Numba. http://numba.pydata.org/

  13. A speed comparisonof C, Julia, Python, Numba and Cython on LU Factorization. https://www.ibm.com/developerworks/community/blogs/jfp/entry_Comparison_Of_C_Julia_Python_Numba_Cython_Scipy_and_BLAS_on_LU_Factorization?lang=en

  14. PyPy Speed Center. http://speed.pypy.org/

  15. Cython. http://cython.org/

  16. Numexpr. https://github.com/pydata/numexpr

  17. Python multiprocessing module. https://docs.python.org/2/library/multiprocessing.html

  18. Anaconda accelerate. https://docs.continuum.io/accelerate/

  19. Anaconda python. https://www.continuum.io/downloads

  20. Python threading module. https://docs.python.org/3.3/library/threading.html

  21. Volkov V, Demmel J (2008) Benchmarking GPUs to tune dense linear algebra. In: Proc. (2008) ACM/IEEE Conf. on Supercomputing (SC’08), Piscataway, NJ: IEEE Press, 2008. Art. 31, pp 1–11

  22. LLVM compiler project. https://en.wikipedia.org/wiki/LLVM

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ami Marowka.

Rights and permissions

Reprints and Permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Marowka, A. Python accelerators for high-performance computing. J Supercomput 74, 1449–1460 (2018). https://doi.org/10.1007/s11227-017-2213-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-017-2213-5

Keywords

  • Python
  • Numba
  • Just-in-Time compilation
  • Performance portability