Win10 + VS2017新CUDA项目配置教程

  

本文记录了CUDA项目配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  

<强>一、新建项目

  

打开VS2017→新建项目→Win32控制台应用程序→“空项目”打钩

  

<强>二、调整配置管理器平台类型

  

右键项目→属性→配置管理器→全改为“x64”

  

 Win10 + VS2017新CUDA项目配置教程

  

<强>三,配置生成属性

  

右键项目→生成依赖项→生成自定义→勾选“CUDA 9.0 xxx”

  

 Win10 + VS2017新CUDA项目配置教程

  

<强>四,配置基本库目录

  

后续步骤中出现的目录地址需取决于你当前的CUDA版本及安装路径

  

右键项目→属性→配置属性→vc++目录→包含目录,添加以下目录:

  

C: \ Program Files \ NVIDIA GPU计算工具包\ CUDA \ v9.0 \包括

  

C: \ ProgramData \ NVIDIA公司\ \ v9.0 CUDA样本\常见\公司

  

……→库目录,添加以下目录:

  

C: \ Program Files \ NVIDIA GPU计算工具包\ CUDA \ v9.0 \ lib \ x64

  

C: \ ProgramData \ NVIDIA公司\ \ v9.0 \常见\ lib \ x64 CUDA样本

  

 Win10 + VS2017新CUDA项目配置教程

  

<强>五,配置CUDA静态链接库路径

  

右键项目→属性→配置属性→链接器→常规→附加库目录,添加以下目录:

  

\ lib \ (CUDA_PATH_V9_0)美元(平台)

  

 Win10 + VS2017新CUDA项目配置教程

  

<强>六,选用CUDA静态链接库

  

右键项目→属性→配置属性→链接器→输入→附加依赖项,添加以下库:

  

cublas.lib; cublas_device.lib cuda.lib; cudadevrt.lib; cudart.lib; cudart_static.lib; cufft.lib; cufftw.lib; curand.lib; cusolver.lib; cusparse.lib; nppc.lib; nppial.lib; nppicc.lib; nppicom.lib; nppidei.lib; nppif.lib; nppig.lib; nppim.lib; nppist.lib; nppisu.lib; nppitc.lib; npps.lib; nvblas.lib; nvcuvid.lib; nvgraph.lib; nvml.lib; nvrtc.lib; OpenCL.lib;
  

  

以上为“第三步”中添加的库目录“C: \ Program Files \ NVIDIA GPU计算工具包\ CUDA \ v9.0 \ lib \ x64”中的库!
  

  

 Win10 + VS2017新CUDA项目配置教程

  

  

kernel32.lib; user32.lib gdi32.lib; winspool.lib; comdlg32.lib; advapi32.lib; shell32.lib; ole32.lib; oleaut32.lib; uuid.lib; odbc32.lib; odbccp32.lib; % (AdditionalDependencies)
  这些库为原有!

  

<强>七,配置源码文件风格

  

右键源文件→添加→新建项→选择“CUDA C/c++文件”

  

右键“xxx。铜”源文件→属性→配置属性→常规→项类型→设置为“CUDA C/c++”

  

 Win10 + VS2017新CUDA项目配置教程

  

<强>八、测试程序

        # include“cuda_runtime.h”   # include“device_launch_parameters.h”   # include & lt; stdio.h>      int main () {   int deviceCount;   cudaGetDeviceCount(及deviceCount);      智力开发;   (dev=0;dev & lt;deviceCount;dev + +)   {   runtime_version int driver_version (0) (0);   cudaDeviceProp deviceProp;   cudaGetDeviceProperties(及deviceProp dev);   如果(dev==0)   如果(deviceProp。?9999,,deviceProp。大==9999)   printf (" \ n ");   printf (" \ nDevice % d: \ " % s \“\ n”, dev, deviceProp.name);   cudaDriverGetVersion(及driver_version);   printf (" CUDA驱动版本:% d。% d \ n”, driver_version/1000 (driver_version % 1000)/10);   cudaRuntimeGetVersion(及runtime_version);   printf (" CUDA运行时版本:% d。% d \ n”, runtime_version/1000 (runtime_version % 1000)/10);   printf("设备计算能力:% d。% d \ n”, deviceProp。专业,deviceProp.minor);   printf("的全局内存总量:% u字节\ n”, deviceProp.totalGlobalMem);   printf("短信:% d \ n”, deviceProp.multiProcessorCount);   printf("总额不变的记忆:% u字节\ n”, deviceProp.totalConstMem);   printf("每个块共享内存:总额% u字节\ n”, deviceProp.sharedMemPerBlock);   printf("每个块可用的寄存器:总数% d \ n”, deviceProp.regsPerBlock);   printf(“变形大小:% d \ n”, deviceProp.warpSize);   printf("最大线程数/SM: % d \ n”, deviceProp.maxThreadsPerMultiProcessor);   printf("每个块的最大线程数:% d \ n”, deviceProp.maxThreadsPerBlock);   printf("最大大小一块的每个维度:% d x % d % d \ n”, deviceProp.maxThreadsDim [0],   deviceProp.maxThreadsDim [1],   deviceProp.maxThreadsDim [2]);   printf("最大大小网格的每个维度:% d x % d % d \ n”, deviceProp。deviceProp maxGridSize [0]。deviceProp.maxGridSize maxGridSize [1], [2]);   printf("最大内存情节:% u字节\ n”, deviceProp.memPitch);   printf("纹理alignmemt: % u字节\ n”, deviceProp.texturePitchAlignment);   printf("时钟频率:%。2 f GHz \ n”, deviceProp。clockRate * 1 e-6f);   printf("内存时钟频率:%。0 f MHz \ n”, deviceProp。memoryClockRate * 1 e-3f);   printf("内存总线宽度:% d-bit \ n”, deviceProp.memoryBusWidth);   }      返回0;   }   

Win10 + VS2017新CUDA项目配置教程