一、查看计算机对OpenCL异构计算的支持情况

使用 GPU Caps Viewer 查看计算机对OpenCL的支持情况,目前最新的版本是 gpu-caps-viewer-1-32-0, 下载地址:​​http://www.geeks3d.com/20161107/gpu-caps-viewer-1-32-0-released/​

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_opencl

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_opencl_02

从上面两个图可以看到目前的计算机上有2个OpenCL platform,
1、Intel(R) Core(TM) i7-6700K CPU @ 4.0 支持 OpenCL 2.1 full profile
2、 GeForce GTX 1070 支持 OpenCL 1.2 以及 CUDA 8.0.44 full profile

NVIDIA显卡只对CUDA支持很好,对OpenCL支持的不是很好。

二、下载安装CUDA 8.0

下载安装CUDA 8.0, 这个不介绍了,百度都有的,我安装在C盘,在目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0 下面有OpenCL以及CUDA相关的头文件以及lib等。

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_opencl_03

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_OpenCL_04

三、OpenCL dll文件

在驱动程序的默认安装路径如C:\Program Files\NVIDIA Corporation\OpenCL 找到 OpenCL.dll以及OpenCL64.dll

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_下载安装_05

四、VS2015 工程配置

打开VS2015,新建工程,点击 [File]->[New]->[Project]打开New project向导对话框,建立一个Win32 Console Application 空项目。项目名就叫 clHello, Location选择 D:\workspace\clHello\, 点击OK创建工程,如下图所示:

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_OpenCL_06

1、添加代码文件, clHello.cpp以及 clHello.cl, 编辑好最后的工程如下图所示:

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_opencl_07

2、选中新建的解决方案,右键点击解决方案名称(clHello),选择属性选项(Properties)

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_下载安装_08

3、 选中VC++ Directories标签页,分别在Include Directories以及Library Directories输入第二小节提到的CUDA 8.0的 include目录路径以及lib目录路径,Execute Directories添加 C:\Program Files\NVIDIA Corporation\OpenCL, 即OpenCL的dll目录,如下图所示:

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_opencl_09

4、选中Linker->Input->Additional Dependencies输入OpenCL.lib

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_CUDA_10

最终的程序运行结果如下图所示:

VS2015 + CUDA 8.0  配置GTX1070的OpenCL 开发环境_opencl_11