【异构计算】在Windows下使用OpenCL配置
前言
目前,NVIDIA 和 AMD 的 Windows driver 均有支持OpenCL(NVIDIA 的正式版 driver 是从自195.62 版开始,而 AMD则是从9.11 版开始)。NVIDIA 的正式版 driver 中包含 OpenCL.dll,因此可以直接使用。AMD 到目前为止,则仍需要安裝其 SDK 才有 OpenCL.dll。不过,在最新的 SDK 中,NVIDIA 和 AMD 使用的 calling convention 是相同的。也就是说,使用 AMD 的 SDK编译的 OpenCL 程式,可以直接在 NVIDIA 的 driver 下运作。反过来也是一样。AMD 的 OpenCL SDK 是在 AMD Stream SDK 2.8.1里面。NVIDIA 的OpenCL SDK 則包括在最新的 CUDA 5.5 SDK 中。两个 SDK 可以同时安裝在同一部电脑中,基本上不会有冲突的问题。
由于OpenCL SDK 的重点,只是在 header file 和程序库,因此设定上是很简单的。在 AMD 的 SDK 中,会建立一个环境 ATISTREAMSDKROOT。Header files 就在include 目录中,而程序库则在lib里面。NVIDIA 的 SDK 也是类似,有一个环境为NVSDKCOMPUTE_ROOT。不过,因办 NVIDIA 的 SDK 同时包括 CUDA 及 OpenCL,因此它的 header files 是在OpenCL\common\inc 目录里,而程序库是在OpenCL\common\lib 里面。
由于程序库的部分,还有一点特別需要注意的是,AMD 和 NVIDIA 都有提供 32 bits 及 64 bits 的程序库,供32 bits 及 64 bits 的程序使用。NVIDIA 的 SDK 中,32 bits 的程序库是在lib 目录下的 Win32 目录里,而 64 bits 的则是在 x64 目录里。AMD 的 SDK 中,则分別是在 x86 及 x86_64 目录里。
配置方法
NVIDIA 的 CUDA SDK:
AMD的SDK
最后,把 OpenCL.lib 加到程序库里面就可以了(这点对两个SDK 都是一样的):
- #include <OpenCL/opencl.h>
但是在 Windows 下(以及可能所有其它的 OS 下),都是
- #include <CL/cl.h>
因此,如果想要让同一个程序,可以同时在各 OS 下都能编译的话,在 include ,写成:
- #ifdef __APPLE__
- #include <OpenCL/opencl.h>
- #else
- #include <CL/cl.h>
- #endif
这样就可以同时在 MacOS X 下,以及其它的 OS 下都能使用了。
【异构计算】在Windows下使用OpenCL配置的更多相关文章
- 关于windows下的libtorch配置
关于windows下的libtorch配置 1.环境 Windows service 2012 R2/Windows10 Cuda 9.0 OpenCV3.4.1 Libtorch1.0 VS2017 ...
- Windows下python的配置
Windows下python的配置 希望这是最后一次写关于python的配置博客了,已经被python的安装烦的不行了.一开始我希望安装python.手动配置pip并使用pip安装numpy,然而发现 ...
- Windows 下用 gogs 配置局域网 git server
大道曙光 Windows 下用 gogs 配置局域网 git server 最近要用 C# 开发一个新的项目,所以需要在 Windows 局域网环境下构建一个 git server. 在 Window ...
- Windows 下如何安装配置Snort视频教程
Windows 下如何安装配置Snort视频教程: 第一步: http://www.tudou.com/programs/view/UUbIQCng360/ 第二部: http://www.tudou ...
- PHP学习之-Mongodb在Windows下安装及配置
Mongodb在Windows下安装及配置 1.下载 下载地址:http://www.mongodb.org/ 建议下载zip版本. 2.安装 下载windows版本安装就和普通的软件一样,直接下一步 ...
- Windows下caffe的配置和调用caffe库(一)
一.Windows下caffe的配置: 1. 下载caffe官网提供的开发包,https://github.com/microsoft/caffe 2. 将caffe-master目录下的Window ...
- windows下安装和配置redis
1.windows下安装和配置redis 1.1 下载: 官网(linux下载地址):https://redis.io/ Windows系统下载地址:https://github.com/MSOpen ...
- Windows下为 Eclipse 配置 C/C++ 编译环境(转)
1.Eclipse及CDT的安装 CDT的全称是C/C++ DevelopmentTools,CDT使得Eclipse能够支持C/C++的开发.直接下载 eclipse CDT 集成版 下载地址:ht ...
- windows下安装和配置多个版本的JDK
https://jingyan.baidu.com/article/47a29f2474ba55c015239957.html 如何在windows下安装和配置多个版本的jdk,本文将带你在windo ...
随机推荐
- CentOS编译安装LNMP环境
这里是教大家如何在centos下利用源码编译安装LNMP环境. 工具/原料 centos服务器一台 自用电脑一台 准备篇 配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 配置防火墙,开 ...
- FTP-使用记录
1.磁盘配额不够用 Could not write to transfer socket: ECONNABORTED - 连接中止 452-Maximum disk quota limited to ...
- javascript 备忘录
JS语法 javascript 对象: var cars=new Array("Audi","BMW","Volvo"); 声明变量类型 当 ...
- input 框上传多个文件
在input标签中加入 multiple 属性,可以在一个输入框中选择多个文件进行上传 <input type="file" name="img" mul ...
- Spring中各个jar包的作用
spring.jar 是包含有完整发布模块的单个jar 包.但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2. ...
- C# Winform窗口之间传值的多种方法浅析(转)
摘要http://www.jb51.net/article/63837.htm 这篇文章主要介绍了C# Winform窗口之间传值的多种方法浅析,本文起讲解了通过构造器传值.通过属性传递.通过事件携带 ...
- Android性能优化(一)之启动加速35%
一.前言 随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关,从本篇文章开始,我将开启一个Android应用性能优化的专题,从理论到实战,从入门到深挖,手把手将性能优 ...
- Nodejs.sublime-build 在sublime3中的配置
{ "cmd": ["node", "$file"], "file_regex": "^[ ]*File \& ...
- xtemplate语法
XTemplate 是富逻辑的 KISSY 模板引擎,面向复杂的业务逻辑场景,同时保持高性能和丰富的配置方法,是易学易懂的模板语言. 一个典型的XTemplate模板实例: Hello {{name} ...
- SVG在网页中的四种使用方式
1,直接打开simple.svg <svg xmlns="http://www.w3.org/2000/svg" width="200" height=& ...