Programming on Python with PyOpenCL requires you to have knowledge of basic OpenCL-C programming skills across heterogeneous compute devices, including GPUs. PyOpenCL provides the following benefits:
- It is easier to write correct, leak, and crash-free code.
- PyOpenCL puts the full power of OpenCL's API at your disposal, if you wish. Every obscure get_info() query and all CL calls are accessible.
- All CL errors are automatically translated into Python exceptions.
- PyOpenCL's base layer is written in C++, so all the niceties that are mentioned are virtually free.
- PyOpenCL was tested and works with Apple's, AMD's, and NVIDIA's CL implementations.