Skip to content

Opencl datahandling

Stephan Seitz requested to merge seitz/pystencils:opencl-datahandling into master

Closes #15 (closed)

OpenCL kernels are now integrated in the normal create_kernel workflow. Also there exists a created a opencljit.init_globally function that just creates some CL queue/contex if you do not want to give it as a parameter to every kernel.

SerialDatahandling is extended to work with alternative GPU array libraries to PyCuda. There is now some overlapping code with the _custom_transfer_functions but I suppose they are for certain quantities that have a separate transfer function as oppose to using a whole different backend.

@kuron can you have a look on it? I think the solution is not as elegant as I thought it would be. pycuda.gpuarray.GPUArrays are not wrapped. So if you use dh.gpuarrays['foo'] you get either a pycuda array or a opencl array. I thought this step would be to drastic for one PR. Using OpenCL should still be a lot easier now.

Edited by Michael Kuron

Merge request reports