Marmaduke Woodman <w...@protonmail.ch> writes:
> I am trying to run some PyOpenCL with the P100, and all of the kernels are
> resulting in build failures. For example, an array fill, for which PyOpenCL
> generates a fill kernel, e.g.
>
> //CL//
>
>
> #define PYOPENCL_ELWISE_CONTINUE continue
>
> __kernel void fill(__global float *z__base, long z__offset, float a, long n)
> {
> int lid = get_local_id(0);
> int gsize = get_global_size(0);
> int work_group_start = get_local_size(0)*get_group_id(0);
> long i;
>
> __global float *z = (__global float *) ((__global char *) z__base + 
> z__offset);;
> //CL//
> for (i = work_group_start + lid; i < n; i += gsize)
> {
> z[i] = a;
> }
>
> ;
> }
>
> it seems fine to me, but building this results in
>
> File 
> "/gpfs/homeb/pcp0/pcp0025/juron/env-tvb-hpc/lib/python3.6/site-packages/pyopencl-2016.2.1-py3.6-linux-ppc64le.egg/pyopencl/__init__.py",
>  line 438, in build
> options_bytes=options_bytes, source=self._source)
> File 
> "/gpfs/homeb/pcp0/pcp0025/juron/env-tvb-hpc/lib/python3.6/site-packages/pyopencl-2016.2.1-py3.6-linux-ppc64le.egg/pyopencl/__init__.py",
>  line 473, in _build_and_catch_errors
> raise err
> pyopencl.cffi_cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE -
>
> Build on <pyopencl.Device 'Tesla P100-SXM2-16GB' on 'NVIDIA CUDA' at 
> 0x1001b4092f0>:
>
>
> (options: -I 
> /gpfs/homeb/pcp0/pcp0025/juron/env-tvb-hpc/lib/python3.6/site-packages/pyopencl-2016.2.1-py3.6-linux-ppc64le.egg/pyopencl/cl)
> (source saved as /tmp/tmprsy_r587.cl)
>
>
> So, basically the CL compiler provides no feedback on why the build failed.
>
>
> Has anyone been able to use CL on this card and have some advice?

I haven't seen anything like that before. What driver version are you
using? Also, looks like you're on PPC? Maybe it's a PPC-specific bug?
You may have better odds of an answer pinging Nvidia about this...

Andreas

_______________________________________________
PyOpenCL mailing list
PyOpenCL@tiker.net
https://lists.tiker.net/listinfo/pyopencl

Reply via email to