赞
踩
要进行CUDA编程开发就必须安装CUDA驱动,CUDA驱动的硬件条件为英伟达显卡以及对应的驱动软件。一般进行CUDA编程开发的操作系统主要是两种:Windows操作系统和Linux操作系统。Windows操作系统的集成开发环境可以使用Visual Studio(简称VS)或CLion,Linux操作系统的集成开发环境可以使用Visual Studio Code(简称VSCode)或Clion。
本教程主要是完成Windows操作系统下的Visual Studio集成开发环境配置,在配置之前,请确保你已经完成下列关键步骤:
在配置的过程中,我的具体环境参数为:CUDA11.2, Win10, VS2019。
作者注:本教程原版是2023年2月更新的,使用环境CUDA11+Win10+VS2019,然后参数方面需要配置环境变量,每次新项目得配置项目环境参数,感觉特别麻烦,于是在2024年3月换电脑后,重新更新了教程,现在的环境为CUDA12+Win11+VS2022,先安装VS2022,编辑器必须包含"使用C++的桌面开发",我选择的社区版,主要是免费可以避免很多版权问题。先安装VS2022,再按照我前面的教程安装CUDA12,就可以直接在VS项目模板里面开CUDA项目了,其他任何环境变量和项目参数都不需要配置。
教程后面内容都是旧版环境的手动配置,因为我现在没有了那样的环境,出于严谨考虑,保留之前的配置方法,因为可能有人需要,新版的先安装VS后安装CUDA后,在VS里面就有项目模板,直接使用就可以把所有参数和环境都搞好了。
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2
CUDA_BIN_PATH=%CUDA_PATH%\bin
CUDA_LIB_PATH=%CUDA_PATH%\lib\x64
注:如果CUDA安装路径不是默认路径,或者版本不是11.2的,请灵活改一下路径参数C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2
%CUDA_BIN_PATH%
%CUDA_LIB_PATH%
在CUDA的文件夹下: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\visual_studio_integration\MSBuildExtensions
将所有文件复制到C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\BuildCustomizations
文件夹下,注意核对自己的路径参数是否正确,你的路径和我的路径有可能存在略微差别。
上述步骤只需要配置一次就行,下面的步骤需要每次Visual Studio新建CUDA项目都需要配置
VS中新建项目,项目名称为"CudaProject",项目类型为"C++控制台程序",源程序名称为"main.cpp"。
右键项目"CudaProject",选择:生成依赖项–>生成自定义–>勾选CUDA
右键程序"main.cpp",选择:属性–>常规–>项类型–>CUDA C/C++
右键项目"CudaProject",选择:属性->配置属性->VC++目录->包含目录,添加包含目录:$(CUDA_PATH)\include
在第8步的"VC++目录"里面,选择:VC++目录–>库目录,添加库目录:$(CUDA_PATH)\lib\x64
在第8步的"配置属性"里面,选择:配置属性–>链接器–>输入–>附加依赖项,把参数改为如下内容。
cublas.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
OpenCL.lib
//C语言标准库 #include <stdio.h> //Cuda运行库 #include <cuda_runtime.h> //核函数,GPU中运行:在GPU中打印Hello World __global__ void mykernel(void) { //GPU打印Hello World printf("Hello World From GPU!\n"); } //主函数,CPU中运行,修饰符__host__可以省略不写 int main(void) { //CPU打印Hello World printf("Hello World From CPU!\n"); //调用核函数,启用GPU执行打印任务 mykernel << <2, 2 >> > (); //同步函数,作用为:强制CPU等待GPU执行完才执行 cudaDeviceSynchronize(); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。