在这么多的安装CUDA后
一直很奇怪为什么CUDA里面没有带有OpenCL,开始我以为是因为是安装方法错误
后来才知道是在较新的CUDA中NVIDIA没有将OpenCL集成到CUDA中
而是只专注于自己的CUDA了
OpenCL动态库libOpenCL.so仅仅在驱动安装的时候被
放置到了/usr/lib下面
但是cuda没有把它和libcuda.so关联起来
要想在cuda-5.5中实现OpenCL还的自己来实现
具体方法可以看这里
http://streamcomputing.eu/blog/2011-06-24/install-opencl-on-debianubuntu-orderly/
在安装完了CUDA之后可以按照这个把OpenCL集成到CUDA中
并且这样也就解决了不从官方网站下载NVIDIA官方显卡驱动
而是从bumblebee中下载NVIDIA-3**驱动没有带有OpenCL库的问题
通过这样可以有bumblebee管理显卡驱动,达到省电的目的
还提供了OpenGL的3D加速功能,因为NVIDIA官方的显卡驱动无法提供OpenGL的3D加速功能
只有通过bumblebee的mesa里的OpenGL库才可以完美实现3D加速功能
同时由于NVIDIA的驱动问题,NVIDIA还被linus鄙视了一番。。
http://www.ipetitions.com/petition/opencl-examples-in-cuda-5-sdk/
这篇文章有介绍CUDA和OpenCL的关系
可以看出来CUDA仅仅支持NVIDIA的显卡
但是OpenCL却支持很多平台,包括DSP,FPGA,移动处理器,和一些现代化CPU
所以看的出来OpenCL是更有前途的
但是每一个新的标准(比如说OpenCL)都是需要被广泛支持的
只有这样它才能够被更广泛的发展
但是问题是NVIDIA公司,作为Khronos的重要成员之一
却在最新的SDK中刻意的忽略OpenCL的支持
这看起来是令人无法接受的
他的目的很简单,迫使人们使用CUDA,也就更专注于他的硬件(NVIDIA显卡等)
OpenCL开发者需要SDK以及profiler框架
但是CUDA没有提供
如果想要了解更多,可以关注一下StreamComputing