一、vs2017安装
我的vs2017是Microsoft Visual Studio Community 2017 版本15.9.9
安装vs的时候勾选通用windows平台开发和C++通用开发
二、安装CUDA10.0
我下载的是windows x86_64 10 exe(local)
然后用winrar解压该程序,双击setup.exe.安装,此时选择自定义安装,不勾选CUDA里的Visual Studio Integration
安装完毕后,在之前你解压的下载的CUDA文件夹:\CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions路径下,有四个文件,全部copy到如下路径:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations
三、安装cudnn
我下载的是cudnn-10.0-windows10-x64-v7.4.2.24 因为我的对应的cudn是10.0版本
下载完后解压 我的路径:E:\浏览器下载\cudnn-10.0-windows10-x64-v7.4.2.24\cuda 将此路径下的所有内容copy到CUDA的安装目录下:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
四、测试Sample
打开目录:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.2\5_Simulations\nbodys下有一个nobody_vs2017_sln文件双击用vs2017打开并编译执行
如果成功的话,到C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\bin\win64\Debug目录下有一个nobody.exe双击执行运行表示成功
如果编译文件不成功的话,原因是因为此文件中包含了Windows SDK的版本信息,如果不兼容会导致出错。有两种解决方式:第一种是可以选择在visual studio installer中下载与其对应的SDK版本,然后在项目属性的general下选择SDK版本。另一种方式:直接删除原来的nbody_vs2017.vcxproj文件,或清理解决方案或重新生成解决方案(这会删除.vcxproj文件)。因为VS2017 15.6.X的版本都兼容,所以不用担心自己的SDK版本会过高以致报错。