5

我是 OpenCL 的新手。

从昨天开始,我尝试使用 OpenCL 进行并行编程,而不是使用对我来说更熟悉和经验丰富的 CUDA。

现在我有 NVIDIA GTX 580 GPU、Ubuntu Linux 12.04 OS 和 CUDA SDK 4.1(由于 CUDA 编程,之前已经安装)。

在 CUDA SDK 文件夹中,已经包含了一些 OpenCL 头文件和库。

所以我刚刚从 NVIDIA 的开发者专区下载了 OpenCL 示例。(这里是链接!https://developer.nvidia.com/opencl

我试图自己编译一些例子,但我做不到。

我通过使用 -II 添加头文件路径来制作 Makefile,但我不知道如何添加库路径以及 OpenCL 库的名称是什么。

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

有人可以帮助我吗?

4

1 回答 1

8

安装

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

  1. 下载适用于 Linux 的英特尔 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
    

编译

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

$ g++ main.cpp -lOpenCL
$ ./a.out
于 2013-06-08T20:31:03.220 回答