• DocumentCode
    80538
  • Title

    Portable Parallel Programs with Python and OpenCL

  • Author

    Di Pierro, Massimo

  • Volume
    16
  • Issue
    1
  • fYear
    2014
  • fDate
    Jan.-Feb. 2014
  • Firstpage
    34
  • Lastpage
    40
  • Abstract
    Two Python modules are presented: pyOpenCL, a library that enables programmers to write Open Common Language (OpenCL) code within Python programs; and ocl, a Python-to-C converter that lets developers write OpenCL kernels using the Python syntax. Like CUDA, OpenCL is designed to run on multicore GPUs. OpenCL code can also run on other architectures, including ordinary CPUs and mobile devices, always taking advantage of their multicore capabilities. Combining Python, numerical Python (numPy), pyOpenCL, and ocl creates a powerful framework for developing efficient parallel programs that work on modern heterogeneous architectures. Open Common Language (OpenCL) runs on multicore GPUs, as well as other architectures including ordinary CPUs and mobile devices. Combining OpenCL with numerical Python (numPy) and a new module - ocl, a Python-to-C converter that lets developers use Python to write OpenCL kernels - creates a powerful framework for developing efficient parallel programs for modern heterogeneous architectures.
  • Keywords
    high level languages; parallel architectures; parallel programming; CUDA; Open Common Language; Python syntax; Python-to-C converter; numPy; numerical Python; ocl; portable parallel program; pyOpenCL; Computer applications; Graphics processing units; Kernel; Multicore processing; Parallel processing; Programming; Scientific computing; GPU; OpenCL; Python; meta-programming; parallel programming; scientific computing;
  • fLanguage
    English
  • Journal_Title
    Computing in Science & Engineering
  • Publisher
    ieee
  • ISSN
    1521-9615
  • Type

    jour

  • DOI
    10.1109/MCSE.2013.99
  • Filename
    6655872