I copy the opencl.dll to the client computer,but it doesn't work.How can I do?
if he has radeon GPU then install Catalyst APP version. otherwise install AMD Stream SDK.
if I only use CL_DEVICE_TYPE_CPU ,what's the difference between copying opencl.dll and installing AMD Stream SDK?
opencl.dll is just loader for vendors implementation. there are more files which are needed for complete OpenCL driver.
panphone,
Are you trying to run prebuilt binaries or are you planning to build the program at client side( for proper optimizations in accordance with client resources)?
himanshu.gautam,
I build the program at client side,and the context in my program is CL_DEVICE_TYPE_ALL, if the client computer has OpenCL graphics cards ,the program use GPU to accelerate, or just CPU to calculate.
I successfully run my OpenCL application on client computer which has not installed ATI Stream SDK ,implemented as follows:
1. Under the installation directory make a new folder named "atiruntime";
2. Copy the "bin" and the "lib" folder under The ATI Stream SDK installation directory and Khronos.reg (export from the computer which has installed ATI Stream SDK) to the "atiruntime" folder.
3.launch the program with a batch file like the follows:
@ Echo off
set ATISTREAMSDKROOT =%cd%\atiruntime\
set path =%ATISTREAMSDKROOT%bin\x86;%path%
REGEDIT /S %ATISTREAMSDKROOT%Khronos.reg
myapplication.exe param1,param2
In this step ,can also set the environment variables and import registry with the installer.
IMHO you should set this on instalation time. not every time you start it.
I think my method will not increase the waste to the system.