I'm quite new to OpenCL and parallel computing in general.
I have just installed the SDK on a Linux SLES11 computer with a Core i7-4770 Processor.
Files installed were intel_sdk_for_ocl_applications_2014_22.214.171.124_x64.tgz and opencl_runtime_14.2_x64_126.96.36.199.tgz.
I've tried running two tests, first the sample code for general matrix multiply, and second a simple program to perform an addition and print out the processors capabilities, like MAX_COMPUTEEE_UNITS, MAX_WORK_GROUP_SIZE, etc. They both fail upon trying to compile the kernel, with the following message:
symbol lookup error: /opt/intel/opencl-1.2-188.8.131.52/lib64/libclang_compiler.so: undefined symbol: _ZN5Intel6OpenCL5Utils6Logger11GetInstanceEv, version Base
I guess it's looking for a library it can't find? Which one, and how to fix this problem.
We are having the exact same problem since upgrading our Intel OpenCL runtime to the latest version in opencl_runtime_14.2_x64_184.108.40.206.tgz.
Our application now fails with the error:
trade_pricer: symbol lookup error: /apps/tools/toolset10/Linux.3.0.101-0.35-default.x86_64/opencl-1.2-220.127.116.11/lib64/libclang_compiler.so: undefined symbol: _ZN5Intel6OpenCL5Utils6Logger11GetInstanceEv, version Base
where previously it was working fine.
To me this looks there is something wrong with the Intel opencl-1.2-18.104.22.168 runtime build. The missing symbol is part ot the Intel::OpenCL namespace,i.e.
> echo _ZN5Intel6OpenCL5Utils6Logger11GetInstanceEv | c++filt Intel::OpenCL::Utils::Logger::GetInstance()
It appears that readelf confirms the symbol is referenced in the packaged libclang_compiler.so shared library:
> readelf -Ws libclang_compiler.so | grep GetInstance | grep Logger 361: 0000000000000000 0 FUNC GLOBAL DEFAULT UND _ZN5Intel6OpenCL5Utils6Logger11GetInstanceEv@Base (14)
And also that it is defined in the packaged libcl_logger.so shared library:
> readelf -Ws libcl_logger.so | grep GetInstance 270: 0000000000008530 11 FUNC GLOBAL DEFAULT 13 _ZN5Intel6OpenCL5Utils6Logger11GetInstanceEv@@Base
So there is something very strange going on here.
Can someone at Intel please investigate whether there is a problem with the libraries pakcaged in opencl_runtime_14.2_x64_22.214.171.124.tgz?
Thanks for your prompt suggestion, Yuri.
This has corrected the issue for me and I can now get our application to run with the OpenCL runtime package installed in the manner you have specified.