IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> VS2015+CUDA配置编写GPU运行程序 -> 正文阅读

[开发工具]VS2015+CUDA配置编写GPU运行程序

1 安装软件

VS2015
CUDA
下载和安装方法这里不再赘述,如需要可参考之前文章。

2 工程建立及配置

2.1 工程建立

采用通常方法建立工程即可,没有特殊要求。

2.2 工程配置

项目右键-生成依赖项-生成自定义,弹出“Visual C++ 生成自定义文件”对话框,勾选CUDA x.x,其中x.x是安装CUDA的版本号,确定

3 CUDA源文件及设置

注意:需要在GPU上运行的CUDA代码不能写在cpp里,否则会出现’<<<‘不认识而无法编译的问题,要写在.cu文件里.
但.cu文件可以包含C/C++代码;

3.1 CUDA源文件添加

项目右键-添加-新建项-NVIDIA CUDA x.x-Code,可新建CUDA C/C++ File,扩展名为.cu,或CUDA C/C++ Header,扩展名为.cuh

3.2 CUDA源文件的编译设置

如果是按以上方法添加的.cu文件,这里就会自动配置好。
如果.cu是其他方法添加的,可能需要进行以下配置:
.cu文件右键-属性-弹出文件”属性页“,常规-项类型选择”CUDA C/C++“,应用

3.3 CUDA源文件的平台选择

.cu文件右键-属性-弹出文件”属性页“,CUDA C/C++,Common-Target Machine platform按项目要求选择32-bit或64-bit

4 CUDA常用头文件及库

4.1 CUDA常用头文件

CUDA常用功能一般包含以下头文件即可使用

#include <cuda_runtime.h>
#include <device_launch_parameters.h>

这些h文件一般位于C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\include,实际上CUDA安装时已经在系统中添加了一个环境变量,CUDA_PATH,指向CUDA的安装路径,所以在工程属性-C/C++ -常规-附加包含目录中加入:$(CUDA_PATH)\include即可。

4.2 CUDA常用库

cudart.lib

需要在工程属性-链接器-常规-附加库目录中加入:$(CUDA_PATH)\lib\x64(如果x86程序就x64改为win32)

5 CUDA基本函数

以上配置好后,就可以用CUDA编写GPU运行的程序了,这里列出几个关于GPU的基本函数,可以测试下,以下代码实际上只是取GPU的一些属性,所以写在cpp里即可,不需要写在cu文件里。

5.1 取系统GPU个数

int deviceCount;
cudaGetDeviceCount(&deviceCount);

5.2 取指定GPU设备信息

cudaDeviceProp devProp;
cudaGetDeviceProperties(&devProp, 0);	//取第0个GPU设备属性

5.3 按指定属性要求选取GPU设备

//定义需要的设备属性
cudaDeviceProp devicePropDefined;
memset(&devicePropDefined, 0, sizeof(cudaDeviceProp));  //设置devicepropDefined的值
devicePropDefined.major = 5;
devicePropDefined.minor = 2;

int devicedChoosed;  //选中的设备ID
cudaChooseDevice(&devicedChoosed, &devicePropDefined);  //查找符合要求的设备ID
cudaError_t cudaError = cudaSetDevice(devicedChoosed); //设置选中的设备为下文的运行设备

5.4 查看当前选择的GPU设备

int devicedChoosed;  //选中的设备ID
cudaGetDevice(&devicedChoosed);  //获取当前设备ID

参考

https://www.cnblogs.com/skyfsm/p/9673960.html

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-29 13:15:51  更:2021-10-29 13:16:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/23 18:29:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计