I downloaded the latest version of Nvidia driver for my 9600GT card. I am on Ubuntu 8.10 (32-bit machine). I have the following driver installed according to my NVidia XServer settings
Driver version = 190.42

The driver was installed by running as a sudo.

I am able to compile ALL examples that comes with CUDA-2.3 without any problems. I am having difficulty compiling the OpenCL stuff. I downloaded the following file

When I run this file, this creates two sets of directory, on closer inspection the directory under SDK is a copy of the contents of what is available at the SDK direcotory level. For example, they both have directories called C and OpenCL. This is not how I had it for CUDA. Can some one explain why this is? It is likely I am doing some thing wrong!

If I now change directory in to OpenCL directory, as per the release notes, I get the following
Entering directory /home//libs/openCL/sdk/OpenCL/common' src/oclUtils.cpp: In function ‘void oclLogPtx(_cl_program*, _cl_device_id*, const char*)’: src/oclUtils.cpp:575: warning: ignoring return value of ‘size_t fwrite(const void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result ar: creating ../..//OpenCL//common//lib/liboclUtil.a a - obj/release/oclUtils.cpp.o make[1]: Leaving directory /home/libs/openCL/sdk/OpenCL/common’
make[1]: Entering directory /home/ibs/openCL/sdk/shared' a - obj/release/shrUtils.cpp.o a - obj/release/rendercheckGL.cpp.o a - obj/release/cmd_arg_reader.cpp.o make[1]: Leaving directory /home/libs/openCL/sdk/shared’
make -C src/oclReduction/
make[1]: Entering directory /home/libs/openCL/sdk/OpenCL/src/oclReduction' oclReduction.cpp: In function ‘void runTest(int, const char**, ReduceType) [with T = int]’: oclReduction.cpp:140: instantiated from here oclReduction.cpp:477: warning: unused variable ‘runShmoo’ oclReduction.cpp: In function ‘void runTest(int, const char**, ReduceType) [with T = float]’: oclReduction.cpp:143: instantiated from here oclReduction.cpp:477: warning: unused variable ‘runShmoo’ /usr/bin/ld: cannot find -lOpenCL collect2: ld returned 1 exit status make[1]: *** [../../..//OpenCL//bin//linux/release/oclReduction] Error 1 make[1]: Leaving directory /home/satheesh/libs/openCL/sdk/OpenCL/src/oclReduction’
make: *** [src/oclReduction/Makefile.ph_build] Error 2

It looks like it can’t build the examples, because its looking for the some where? Can some one tell me what is happening here? I thought it may be under /usr/lib like for CUDA, where you can find /usr/lib/ - should I have the same for OpenCL? If I should, obviously I don’t have it - does this mean my driver hasn’t built correctly? or am i doing some thing really stupid?

Apologies, I am a little new to this OpenCL/Cuda world …


afaik, opencl is only available with the driver version 190.29

Aghh - that explains it - I just assumed the latest version would work for all, will know next time. I not that CUDA is 190.19 (beta i think) and OpenCL is 190.29 as you say.

Does this mean, if I install 190.29, CUDA will stop working? It would be bad if thats the case…

I assume in order uninstall the driver, stop my gdm, login to command line and do

sudo ./Nvidia driver name -uninstall?


I’m facing the same problem. I installed NVidia 190.42 driver and when I enter make in ~/NVIDIA_GPU_Computing_SDK/OpenCL

I get error /usr/bin/ld: cannot find -lOpenCL

collect2: ld returned 1 exit status

Is it true that 190.42 does not include OpenCL and 190.29 does? So I should downgrade ?


To my understanding, that is true - 190.29 SUPPORTS OpenCL, 190.42, which happens to be the stable version does not.

You would need to ask the Nvidia folks why this is not the case, if you go to the nvidia downloads page, 190.29 is not even there, you can only get it by going to the openCL part of the Nvidia pages. It is likely that its going through lots of work …

However, I do share your frustrations …