OpenCL现在都支持哪些并行设备

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCL现在都支持哪些并行设备相关的知识,希望对你有一定的参考价值。

参考技术A OpenCL (Open Computing Language,开放计算语言) 是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。OpenCL由一门用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。简单地说,就是让显卡干些科学运算,做些原来归cpu做的事,比如计算圆周率,大型科学计算之类,和游戏没什么联系。顺便说明下,只看运算速度,现在的中端显卡的理论计算速度都到了万亿次运算级别。比cpu快很多,nv的不给力的费米,其实就是删减了双精度浮点计算能力的阉割品。nv也有自行开发的CUDA,想必这个楼主应该知道。中国的天河一号超级计算机,就是由cpu和显卡构成的异构计算系统(开始是ati的4870,后来改成不严格的tesla卡,即未阉割的费米)。

ubuntu16.04安装opencl

参考链接:https://www.jianshu.com/p/ad808584ce26

安装OpenCL

OpenCL是一系列库和头文件,需要根据硬件安装对应的SDK,也就是说,如果希望使用Intel CPU作为并行设备,则必须安装Intel SDK,如果使用NVIDIA GPU作为并行设备,则必须安装NVIDIA SDK。这里给出在Intel CPU和NVIDIA GPU运行OpenCL的配置方法,可以根据自己的硬件情况选择,注意,虚拟机无法使用NVIDIA设备。新手推荐使用Intel SDK,安装方便,把系统搞崩溃的可能性较小。
clinfo是一个显示OpenCL平台和设备的软件,安装后,在命令行输入clinfo即可验证。

sudo apt-get install clinfo

Intel SDK

首先将tgz文件解压到某处。
安装依赖

sudo apt install dkms xz-utils openssl libnuma1 libpciaccess0 bc curl libssl-dev lsb-core libicu-dev
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-complete

进入目录,开始安装

sudo sh install_GUI.sh

按照提示信息安装,安装时可能会提示“Unsupported OS”,点击next无视掉。
安装到“Installation summary”页面时,点击“Customize”自定义安装组件,选择除了“Set of OpenCL(TM) files for Android* target"以外的所有组件。
无视Missing libraries,next继续,点Install安装。
安装后,在命令行中输入clinfo就能看到平台和设备。

clinfo

NVIDIA

查看设备和驱动:

sudo unbuntu-drivers devices

根据列出的NVIDIA设备来选择驱动版本,旧版本不支持新GPU,同样,新版本也可能会不支持旧GPU,可以到NVIDIA官网上查看驱动版本支持的设备,如367版本支持的设备列表为:http://www.geforce.cn/drivers/results/108769

sudo apt-get install nvidia-<version here>
# <version here>表示要安装的版本,比如若需要安装361版,则输入
# sudo apt-get install nvidia-361
# 我的外星人GPU为GTX590,注意看367的支持列表中有GTX590,所以sudo apt-get install nvidia-367即可

安装与OpenCL有关的包

sudo apt-get install nvidia-<version here>-uvm nvidia-opencl-dev nvidia-modprobe nvidia-libopencl1-<version here> nvidia-opencl-icd-<version here>

安装CUDA toolkit

sudo apt-get install nvidia-cuda-toolkit

安装完成后,命令行中输入clinfo就可以看到已找到NVIDIA平台和GPU设备。

clinfo


作者:Mikeday
链接:https://www.jianshu.com/p/ad808584ce26
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。



以上是关于OpenCL现在都支持哪些并行设备的主要内容,如果未能解决你的问题,请参考以下文章

1 个 cpu 设备上 OpenCL 的并行性

OpenCL

如何入手学习android 底层开发

ubuntu16.04安装opencl

OpenCL 并行缓冲区压缩障碍问题

GPU 中的并行性 - CUDA / OpenCL