CUDA配置环境(一):Windowns10+VS2017+CUDA11.3

CUDA配置环境(一):Windowns10+VS2017+CUDA11.3

准备

安装好VS2017和CUDA11.3,这两个软件的安装都很简单,网上也有很多的教程,对于对应的系统环境变量的配置,一般安装成功后,都会自动添加好,只需要按照网上的教程检查一下即可,下面我会给出我个人感觉不错的安装教程。

VS2017安装

http://c.biancheng.net/view/456.html

CUDA安装

https://blog.csdn.net/weixin_43848614/article/details/117221384

CUDA自带例程

(1)首先测试CUDA安装是否成功,进入cmd,输入nvcc -V,得到的输出,如图所示,表示cuda安装成功,
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第1张图片

(2)之后,在进入CUDA的SDK实例安装目录,默认是C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.3(该文件夹是隐藏文件夹,需要显示出来),显示隐藏文件夹的办法在下方链接:

https://jingyan.baidu.com/article/acf728fd2853fef8e410a37f.html

(3)在VS2017中打开Samples_vs2017.sln文件,等待加载完成

第一次的加载过程较慢,耐心等待。

(4)加载完毕后,点击本地Windowns调试器,运行解决方案,会出现类型的提醒
在这里插入图片描述
这是由于设备中不存在对应的符号文件,但这是文件只用于进入对应的dll代码,不影响代码运行,如果想解决可以按照以下操作;
点击工具->选项
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第2张图片
点击调试->符号
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第3张图片
勾选Microsoft服务器,呼出的对话框点击确定
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第4张图片
回到代码页面,再次点击运行,会自动下载所需的PDB文件,第一次加载过程时间教程,之后大部分的PDB文件会被加载成功,但仍有部分的PDB未加载成功,这是由于微软的服务器中不存在对应的文件,只能从别的服务器处下载文件,但是缺少PDB文件不影响程序运行。

(5)运行其中一项例程,bicubicTexture.sln,右键该文件,点击调试->启动新实例
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第5张图片

(6)首次加载过程过程较慢,最终输出结果如图所示:
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第6张图片

第一个CUDA程序

(1)新建一个项目,选择控制台应用
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第7张图片
(2)右键源文件夹,添加->新建项,选择c++文件,文件名为hello.cu
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第8张图片
(3)右键解决方案,生成依赖项->生成自定义
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第9张图片
(4)勾选CUDA11.3
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第10张图片

(5)右键Hello.cu,属性->项类型->选择cuda c/c++
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第11张图片

(6)右键解决方案,属性->链接器->输入->附加依赖项->添加 cudart.lib;
这里添加的库C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\lib中存在的库,可以根据工程的需求选择添加哪些
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第12张图片

(7)链接器->常规->附加库目录,添加 $(CUDA_PATH_V11_3)\lib$(Platform);
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第13张图片
(8)工具->选项->文本编辑器->文件扩展名->添加cucuh两个文件扩展名,编辑器选择Microsoft Visual C++
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第14张图片

(8)至此,编译环境的搭建就完成了,下面是测试代码

#include< stdio.h>
#include "cuda_runtime.h" 

#include "device_launch_parameters.h" 

bool InitCUDA()

{

	int count;

	cudaGetDeviceCount(&count);

	if (count == 0)

	{

		fprintf(stderr, "There is no device.\n");

		return false;

	}

	int i;

	for (i = 0; i < count; i++)

	{

		cudaDeviceProp prop;

		if (cudaGetDeviceProperties(&prop, i) == cudaSuccess)

		{

			if (prop.major >= 1)

			{

				break;

			}

		}

	}

	if (i == count)

	{

		fprintf(stderr, "There is no device supporting CUDA 1.x.\n");

		return false;

	}

	cudaSetDevice(i);

	return true;

}



int main()

{

	if (!InitCUDA())

	{

		return 0;

	}

	printf("HelloWorld, CUDA has been initialized.\n");
	

	return 0;

}

输出结果如图所示:
CUDA配置环境(一):Windowns10+VS2017+CUDA11.3_第15张图片

你可能感兴趣的:(CUDA,visual,studio,cuda)