OpenCL with GTX 260M on Linux 64 bit


I’m trying to use OpenCL on Linux using a GTX 260m on kubuntu 10.4 64 bits and I have big performance problems and crashes with both the default driver and the OpenCL 1.1 beta. For example, I have a 100 ms transfer for a 2 Mega pixel image that should take less than 1ms. The kernels are working but are maybe a little bit slower than on Windows. For information, all my code is working on Windows 7 64 bit in the same machine, so it is really a software problem. I also have all the examples in the SDK crashing. Here are some outputs:

~/NVIDIA_GPU_Computing_SDK/OpenCL/bin/linux/release$ ./oclBandwidthTest
./oclBandwidthTest Starting…

Segmentation fault

./oclBandwidthTest Starting…

Segmentation fault

:~/NVIDIA_GPU_Computing_SDK/OpenCL/bin/linux/release$ ./oclMatrixMul
./oclMatrixMul Starting…

Error: Failed to create OpenCL context!

Press to Quit…

As you can see the programs peek the good dll:

julian@tanek:~/NVIDIA_GPU_Computing_SDK/OpenCL/bin/linux/release$ ldd ./oclMatrixMul => (0x00007fff07bff000) => /usr/lib/nvidia-current/ (0x00007ffdeef95000) => /usr/lib/ (0x00007ffdeec81000) => /lib/ (0x00007ffdee9fd000) => /lib/ (0x00007ffdee7e6000) => /lib/ (0x00007ffdee463000) => /lib/ (0x00007ffdee25e000)
/lib64/ (0x00007ffdef0bb000)

It is the same OpenCL dll used by my program which is working, slowly but still working.

Any idea?

Try running the samples as root.

Ok it was a mismatch between the examples and my driver. it is now working BUT, I still have a huge performance problem with my memory transfer, 20MB/s of transfer from CPU to GPU is not normal. The oclBandwith test seems to work well with buffers with 2.5GB/s with mapped memory and 1.4GB/s with direct access (I am working with images, not buffers, and non mapped images…).