I have a machine with an attached Tesla S1070 server. I normally program in CUDA but I’m interested in learning OpenCL. One of the features of OpenCL that I want to use is the ability to retarget GPU kernels to execute on the x86 CPUs. From what I understand, this cannot be done within the CUDA OpenCL runtime, so I downloaded ATI Stream in the hope that I could switch between the CUDA and Stream OpenCL runtimes by simply flipping the symbolic link for /usr/lib64/libOpenCL.so between /usr/lib64/libOpenCL.so.nvidia (for CUDA) and /usr/lib64/libOpenCL.so.x86 (for Stream’s x86 runtime).
Unfortunately this isn’t working–even with the x86 runtime, I’m only getting the NVIDIA platform back from cl::Platform::get(). I wonder if I need to install the ATI Stream Linux kernel module for this to work. Note that I don’t have an ATI GPU, only the Tesla GPUs. There must be a component that I’m forgetting but I can’t seem to find it. Does anyone have any ideas?
Thank you in advance,