目录
安装CUDA环境
常见报错
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
CUDA编程系列教程
创建HelloWord工程
cusp计算库安装
安装CUDA环境
可以参考教程:保姆级的CUDA的下载安装使用,详细的环境变量配置,不仅仅让你能够安装,还会教你弄懂为什么要这样安装 - 知乎
也可参考官网:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
装完环境,第一个Helloword工程可参考下面部分。
常见报错
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
CUDA编程系列教程
从头开始,CUDA工程结构讲的比较详细:
CUDA从入门到精通教程:
创建HelloWord工程
下面是更详细第一个工程创建步骤:
1、打开visual studio,新建项目,选择cuda
自动创建的“kernel.cu”文件,是一个经典的 矢量相加 的GPU程序,我们不需要,因此将main函数中代码注释。然后加入自己的代码:
#include <iostream>
__global__ void mkernel(void){}
int main()
{
mkernel <<<1,1>>>();
std::cout<<"Hello, World!"<<std::endl;
system("pause");
return 0;
}
然后运行,即可得到结果
具体结构解析,可以看上面《GPU编程自学》系列。
cusp计算库安装
有些同学还会用到cusp库,由于只是库文件,因此不需要编译,安装较为简单。
官网:CUSP: Quick Start Guide (cusplibrary.github.io)
首先根据上面第一节“安装CUDA环境”完成环境安装。
再下载源码:
注意直接选“code - download ZIP”!!!
下载完成后,参考官方文档,将cusp文件夹放入到:
我电脑win11上路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\include
然后就可以参考上面“创建HelloWord工程”一节,在项目中引用,不需要额外操作:
#include <cusp/coo_matrix.h>
#include <cusp/csr_matrix.h>
#include <cusp/dia_matrix.h>
#include <cusp/ell_matrix.h>
#include <cusp/hyb_matrix.h>
#include <cusp/print.h>
#include <cusp/io/matrix_market.h>
#include <iostream>
#include <cusp/array1d.h>
#include <cusp/array2d.h>
#include <cusp/multiply.h>
#include <chrono>
常见报错
thrust blocking.h No such file or directory
经过多重折腾,终于发现cusp使用了很老的thrust,在thrust仓库的“old-master”分支。
把它下载下来,首先可以尝试替换CUDA Toolkits中的thrust,如果编译通过,那就还好;如果还是报错,那就降低一下CUDA Toolkits的版本吧。。。注意降低CUDA版本,同时也要降低Visual Studio的版本,总之就是非常麻烦。。。
thrust-old-master仓库:NVIDIA/thrust at old-main (github.com)
最后终于运行成功了,环境如下:
- CUSP选cuda10仓库
- CUDA安装10.2版本
- Visual Studio安装2019 16.x版本
- 添加一系列环境变量:
- 先参考这篇文章添加一些
- 再在系统变量的PATH中添加:
E:\Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64
E:\Visual Studio\2019\Community\Common7\IDE
找了下相关链接:
CUDA Toolkit 10.2 下载| NVIDIA Developer
CUDA Toolkit 文档(nvidia.com)
Visual Studio 2019 下载- Visual Studio Subscriptions Portal
cusplibrary/cusplibrary at cuda10 (github.com)
标签:CUSP,HelloWord,Visual,Studio,CUDA,thrust,include,安装 From: https://blog.51cto.com/xfxuezhang/5975714