我是OpenCL的新手.
从昨天起,我正在尝试使用OpenCL进行并行编程而不是CUDA,这对我来说比较熟悉并且以前经历过.
现在我有NVIDIA GTX 580 GPU,Ubuntu Linux 12.04操作系统和CUDA SDK 4.1(由于CUDA编程之前已安装).
在CUDA SDK文件夹中,已包含一些OpenCL头文件和库.
所以我刚从NVIDIA的开发者专区下载了OpenCL示例.(这是链接!https://developer.nvidia.com/opencl)
而且我试图自己编译一些例子,但我不能.
我使用-II添加了头文件的路径来制作Makefile,但我不知道如何添加库路径以及OpenCL库的名称是什么.
我在谷歌搜索但有人说文件名为libOpenCL.so,但我只有OpenCL.lib.
有人可以帮助我吗?
以下步骤已在Ubuntu 12.04上进行了测试.
提取RPM:
$ tar zxvf intel_sdk_for_ocl_applications_2012_x64.tgz
Run Code Online (Sandbox Code Playgroud)转换为.deb并安装:
$ fakeroot alien --to-deb intel_ocl_sdk_2012_x64.rpm
$ sudo dpkg -i intel-ocl-sdk_2.0-31361_amd64.deb
Run Code Online (Sandbox Code Playgroud)确保已将libOpenCL.so安装到/ usr/lib /.
$ sudo ln -s /usr/lib64/libOpenCL.so /usr/lib/libOpenCL.so
$ sudo ldconfig
Run Code Online (Sandbox Code Playgroud)只需在编译期间链接到OpenCL库:
$ g++ main.cpp -lOpenCL
$ ./a.out
Run Code Online (Sandbox Code Playgroud)