Today I came across a post in stackoverflow (see also here ):
We are developing opencl4py , higher level bindings. This project uses CFFI, so it works on Pypy.
The main problem we encountered with pyopencl is that "import pyopencl" initializes OpenCL and takes all the virtual memory in the case of the NVIDIA driver, preventing proper forcing and effectively disabling multiprocessing (yes, we say that using pyopencl disables multiprocessing in at least with NVIDIA). opencl4py uses OpenCL's lazy initialization, allowing this "import hell".
He later acquired some nice features, such as super-simple binary caching of programs, etc. Unfortunately, the documentation is somewhat brief. The best way to find out how this works is to pass the tests.
Like pyOpenCL, I was looking for the difference between the two packages. Does anyone know where I can find a review for pro and con for both of these packages?
Edit: To enable benshope comment, how would I be interested: what does it mean to “disable multiprocessing”? For example, it cannot start kernels at the same time on several devices?
user3413108
source
share