cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

mercuryknight
Journeyman III

undefined reference problem in clAmdFft

Has anyone ever seen this error when linking libclAmdFft.Runtime?

I'm sure that my opencl environment is setup properly and other opencl codes run perfectly in my computer. It seems that the opencl installed in my computer is version 1.1 while clAmdFft library requires version 1.0.

Does anyone know how to solve it? Thanks in advance.

/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clCreateBuffer@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clReleaseContext@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clReleaseKernel@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clSetKernelArg@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clGetContextInfo@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clEnqueueNDRangeKernel@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clGetDeviceInfo@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clReleaseMemObject@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clGetProgramBuildInfo@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clBuildProgram@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clRetainContext@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clCreateKernel@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clEnqueueWriteBuffer@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clReleaseProgram@OPENCL_1.0'
/home/jason/Dropbox/clAmdFft/lib32/libclAmdFft.Runtime.so: undefined reference to `clCreateProgramWithSource@OPENCL_1.0'

 

PS. I'm using 32-bit Ubuntu 11.10, with nvidia graphic driver and AMDAPP installed. In my other applications, I can use both CPU and GPU through opencl without any problem.

0 Likes
1 Reply
mercuryknight
Journeyman III

Solved.

Apparently I referenced the libOpenCL.so provided by nvidia, in /usr/local/cuda/lib. After I changed it to /opt/AMDAPP/lib/x86, it works fine.

However, I still think there is a bug in here. Different applications should have been compatible with the standard OpenCL library. If AMD's application only runs on AMD's OpenCL library and nvidia's application only runs on nvidia's OpenCL library. What can I do if I want to use both of them?

0 Likes