linux上的OpenCL编译

linux上的OpenCL编译,opencl,nvidia,Opencl,Nvidia,我是OpenCL的新手 从昨天开始,我尝试使用OpenCL来进行并行编程,而不是CUDA,因为CUDA对我来说更熟悉,也更有经验 现在我有了NVIDIA GTX 580 GPU、Ubuntu Linux 12.04操作系统和CUDA SDK 4.1(由于CUDA编程,以前已经安装过) 在CUDASDK文件夹中,已经包含了一些OpenCL头文件和库 所以我刚从NVIDIA的开发者专区下载了OpenCL示例。 (这是链接!) 我试着自己编译一些例子,但我做不到 我用-I添加了头文件的路径,但是我不知

我是OpenCL的新手

从昨天开始,我尝试使用OpenCL来进行并行编程,而不是CUDA,因为CUDA对我来说更熟悉,也更有经验

现在我有了NVIDIA GTX 580 GPU、Ubuntu Linux 12.04操作系统和CUDA SDK 4.1(由于CUDA编程,以前已经安装过)

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

所以我刚从NVIDIA的开发者专区下载了OpenCL示例。 (这是链接!)

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

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

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

有人能帮我吗?

安装 以下步骤已经在Ubuntu 12.04上测试过

  • 下载Linux版的
  • 提取转速:

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

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

    $ sudo ln -s /usr/lib64/libOpenCL.so /usr/lib/libOpenCL.so
    $ sudo ldconfig
    
  • 编撰 只需在编译期间链接到OpenCL库:

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

    .lib是用于windows静态lib的,您下载了正确的软件包吗?如果需要,请不要忘记opencl标头的可能副本