目前,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.0里面,目前是beta 4。NVIDIA的OpenCL SDK则包括在最新的CUDA 3.0 SDK beta中。两个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目录里。
以下是使用Visual Studio 2008 Express 设定的范例:
NVIDIA 的CUDA SDK:
特别注意的是,因为NVIDIA的SDK在区分32 bits及64 bits版本程式库所使用的目录名称(Win32及x64)和Visual Studio 2008内建的$(PlatformName)是一致的,
因此可以直接使用。AMD的SDK就要分别设定了。另外,如果使用的是32 bits的SDK,则不包括64 bits的library,因此路律就不需要再加上$(PlatformName)。
以下是AMD SDK 的设定方式:

最后,把OpenCL.lib 加到程式库里面就可以了(这点对两个SDK 都是一样的):

最后再顺便提到一个小地方。在MacOS X 10.6 中,OpenCL 的header 档是存在OpenCL 目录中,也就是

#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 10.6 下,以及其它的OS 下都能使用了。

在Windows 下使用OpenCL相关推荐

  1. 在Windows下搭建OpenCL环境

    在Windows下搭建OpenCL环境 一.AMD APP SDK介绍 二.安装AMD APP SDK 三.AMD APP SDK使用 一.AMD APP SDK介绍 AMD APP SDK是AMD提 ...

  2. 在Windows下使用OpenCL配置

    前言 目前,NVIDIA 和 AMD 的 Windows driver 均有支持OpenCL(NVIDIA 的正式版 driver 是从自195.62 版开始,而 AMD则是从9.11 版开始).NV ...

  3. [转]在Windows 下使用OpenCL

    目前,NVIDIA和AMD的Windows driver均有支援OpenCL(NVIDIA的正式版driver是从195.62版开始,而AMD则是从9.11版开始).NVIDIA的正式版driver中 ...

  4. 关于windows下的libtorch配置

    关于windows下的libtorch配置 1.环境 Windows service 2012 R2/Windows10 Cuda 9.0 OpenCV3.4.1 Libtorch1.0 VS2017 ...

  5. windows下配置caffe-matlab接口

    一.环境说明 也是安装顺序.特别强调的是除VS2015以外,其他软件的安装路径都最好不要包含空格. 1.Windows 64位系统. 2.Visual Studio 2015(VS2015, 对应VC ...

  6. CUDA学习:Windows下的CUDA环境配置

    Windows下的CUDA环境配置 一.查看自己电脑的显卡信息 使用win+R打开运行窗口,在运行窗口中输入cmd打开命令行 在命令行中键入nvidia-smi查看显卡支持信息 从下图中可以看到,本机 ...

  7. Windows下用ndk编译ffmpeg

    Windows下用ndk编译ffmpeg   第一步:创建一个android工程,然后将ffmpeg整体放到jni下,并创建Android.mk和Application.mk Android.mk: ...

  8. windows下使用libtorch对yolov5模型重构(CPU和GPU双版本)

    首先是对项目的环境配置 win10 libtorch1.6 debug版本 使用release或者gpu版本的自己设置就可以 opencv4.1 libtorch下载网址 https://downlo ...

  9. 无线WiFi安全渗透与攻防(十三)之WPA破解-windows下GPU跑包加速

    WPA破解-windows下GPU跑包加速 实现GPU加速的前提条件: 英伟达公司 设计的 计算统一设备架构 AMD 设计的 流开放计算库 openCL 通过这两个技术,可以让显卡帮我们进行计算渗透 ...

最新文章

  1. 【C语言简单说】七:自定义函数(1)
  2. deepin部署python开发环境_deepin系统下部署Python3.5的开发及运行环境
  3. token 微信access 过期_如何设计 QQ、微信等第三方账号登陆 ?以及设计数据库表!...
  4. AngularJS缓存
  5. C#_基础:排序算法
  6. edxp显示未安装_EPLAN因缺少加密狗驱动而无法安装解决方案
  7. python安装error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual解决方案
  8. Hive3.1.2安装指南
  9. 如何追踪App安装来源
  10. 算术练习题(java)
  11. 计算机cpu占用率高,CPU占用率高的原因及解决方法
  12. python蓝牙连接测试_基于python实现蓝牙通信代码实例
  13. ByteBuffer详解(大概2333)
  14. /和./和../的区别
  15. jquery获取单选框复选框下拉框值
  16. jquery实现图片上传预览
  17. 鸿蒙时代的人物有哪些,鸿蒙时代四大创世神兽,龙都是它们的后代,麒麟都排不上号...
  18. DeFi的:过去、现在和未来
  19. 一位牛人写的关于开关电源的啸叫原因经验,比较实用!
  20. SpringSecurity 学习笔记分享 记录历程开篇

热门文章

  1. 【转】Azure 应用服务计划概述
  2. 39策略模式(Strategy Pattern)
  3. c语言删除文件remove_Python中的文件和目录操作
  4. js 根据公历日期 算出农历_一招教会你公历换算成农历,要不要试试看
  5. Java 中创建对象方式
  6. 【CodeForces - 520C】DNA Alignment (快速幂,思维)
  7. 乐乐勇智能教育机器人有多少型号_【头条】协作机器人平台化趋势将会是柔性自动化的破局之道...
  8. mysql crash 如何导出数据库_mysql 如何做到crash后无损恢复数据的
  9. java 批量打印_JAVA批量打印皕杰报表
  10. 排序算法之冒泡排序,选择排序