admin管理员组文章数量:1122846
序
最近做一个项目需要用到OpenCL,由于之前没有接触过,所以在环境配置第一关就遇到了一些问题,查阅很多资料才配置完成,现在记录如下,希望给一些童鞋一些帮助。
整个步骤也很简单:
- 了解系统配置,选择合适的安装包
- 安装CUDASDK
- 更新驱动
- VS2013下新建C++项目配置环境:
- 项目右键属性VC++目录,添加包含目录、库目录
- 项目右键属性连接器->输入,添加附加依赖项
- 添加测试代码,测试安装完成。
详细操作如下所示!
了解系统配置
首先,你需要了解自己电脑的硬件配置,显卡是哪个厂商出产的啊,支持不支持OpenCL等。这个方面,我们可以利用GPU-Z的工具来查看。
GPU-Z下载地址
这是我主机配置截图:
可以看到我的主机显卡是 英伟达 厂商 NVIDIA GetForce GTX 950 ,在最下面一栏 Computing中显示 支持OpenCL,CUDA。
安装CUDA SDK
查阅资料,发现对于NVIDIA的显卡,并没有单独的OpenCL SDK供安装使用,它是被CUDA SDK Tookits包含的,所以我们只需要下载安装CUDA Tookit即可,我安装的是目前的最新版本CUDA Tookit 7.5下载地址。
选择与自己系统相匹配的版本,安装即可。
安装完成后,所在目录默认路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\
更新显卡驱动
根据你的系统选择更新为最新的显卡驱动!
首先,检查当前显卡驱动版本:
控制面板—>设备管理器—>显卡—>(右键更新..)
当前我的显卡是最新版本,因此结果为:
此时,即可进行下一步,配置VS环境。
如若你的版本不是最新版,需到官网下载更新驱动!
配置VS环境
- 打开VS,新建普通控制台C++项目,test。
项目属性—>选择VC++目录,分别在包含目录和库目录下添加:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include
库目录根据版本选择,32位系统则选择win32
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\lib\x64
项目属性—>链接器—>输入,添加opencl.lib
确定,配置完成!
编写测试程序,验证
(1). HelloWorld.cl
__kernel void hello_kernel(__global const float *a,
__global const float *b,
__global float *result)
{
int gid = get_global_id(0);
result[gid] = a[gid] + b[gid];
}
(2). main.cpp
//
// Book: OpenCL(R) Programming Guide
// Authors: Aaftab Munshi, Benedict Gaster, Timothy Mattson, James Fung, Dan Ginsburg
// ISBN-10: 0-321-74964-2
// ISBN-13: 978-0-321-74964-2
// Publisher: Addison-Wesley Professional
// URLs: http://safari.informit/9780132488006/
// http://www.openclprogrammingguide
//
// HelloWorld.cpp
//
// This is a simple example that demonstrates basic OpenCL setup and
// use.
#include <iostream>
#include <fstream>
#include <sstream>
#ifdef __APPLE__
#include <OpenCL/cl.h>
#else
#include <CL/cl.h>
#endif
///
// Constants
//
const int ARRAY_SIZE = 1000;
///
// Create an OpenCL context on the first available platform using
// either a GPU or
版权声明:本文标题:Windows7_64位 NVIDIA 卡 OpenCl环境配置 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1733862853a1769346.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论