OpenCL在linux上编译

时间:2013-06-07 05:58:51

标签: opencl nvidia

我是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

我试图自己编写一些例子,但我不能。

我使用-I创建了Makefile,我添加了头文件的路径,但我不知道如何添加库路径以及OpenCL库的名称。

我在Google上搜索过,但有人说文件名为libOpenCL.so,但我只有OpenCL.lib。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:7)

安装

以下步骤已在Ubuntu 12.04上进行了测试。

  1. 下载适用于Linux的Intel SDK
  2. 提取RPM:

    $ tar zxvf intel_sdk_for_ocl_applications_2012_x64.tgz
    
  3. 转换为.deb并安装:

    $ fakeroot alien --to-deb intel_ocl_sdk_2012_x64.rpm
    $ sudo dpkg -i intel-ocl-sdk_2.0-31361_amd64.deb
    
  4. 确保已将libOpenCL.so安装到/ usr / lib /.

    $ sudo ln -s /usr/lib64/libOpenCL.so /usr/lib/libOpenCL.so
    $ sudo ldconfig
    
  5. 编译

    在编译期间只需链接到OpenCL库:

    $ g++ main.cpp -lOpenCL
    $ ./a.out