Issue No.01 - Jan.-Feb. (2014 vol.16)
Massimo Di Pierro , DePaul University
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MCSE.2013.99
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.
Kernel, Graphics processing units, Computer applications, Parallel processing, Multicore processing, Programming, Scientific computing,scientific computing, parallel programming, Python, OpenCL, GPU, meta-programming
Massimo Di Pierro, "Portable Parallel Programs with Python and OpenCL", Computing in Science & Engineering, vol.16, no. 1, pp. 34-40, Jan.-Feb. 2014, doi:10.1109/MCSE.2013.99