Hello,
I have tried to compile a simple opencl program using pyopencl.
---
__kernel void Pricing(__global float* simResults,
__global const unsigned int *d_MT,
__global const unsigned int *para,
__global const float *simPara,
__global const float *dt
)
{ ... }
---
Everything works fine for AMD (CPU) but for NVIDIA I get a compilation
error:
---
Choose platform:
[0] <pyopencl.Platform 'NVIDIA CUDA' at 0x2ea9450>
[1] <pyopencl.Platform 'AMD Accelerated Parallel Processing' at
0x7f2ef9485de0>
Choice [0]:
Set the environment variable PYOPENCL_CTX='' to avoid being asked again.
Workers 2
self.CLProgram.Pricing(self.queue, (16384,), (2,),
self.parameterList[0], self.parameterList[1], self.parameterList[2],
self.parameterList[3], self.parameterList[4])
Traceback (most recent call last):
File "test_ProductPricing.py", line 171, in <module>
res = instance.executeProgram(CODE, 'Pricing', para,
(data_points,) , (workers,) )
File "/work/pythonopencl/opencl/clinterface.py", line 82, in
executeProgram
exec_event = eval(command)
File "<string>", line 1, in <module>
File
"/usr/lib64/python2.7/site-packages/pyopencl-2014.1-py2.7-linux-x86_64.egg/pyopencl/__init__.py",
line 523, in kernel_call
global_offset, wait_for, g_times_l=g_times_l)
pyopencl.LogicError: clEnqueueNDRangeKernel failed: invalid value
---
I have assumed that OpenCL programs are flexible in the sense that I can
execute them on different hardware platforms (in general it works for
all examples provided in the pyopencl package).
Does anybody have an idea why it is not working for cuda although it
works for AMD?
Best regards,
Lars
_______________________________________________
PyOpenCL mailing list
[email protected]
http://lists.tiker.net/listinfo/pyopencl