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
Link To Document