Win7 VS2013环境使用cuda_7.5.18

时间:2023-03-09 07:10:15
Win7 VS2013环境使用cuda_7.5.18

首先得吐槽下VS2015出来快一年了CUDA居然还不支持,没办法重装系统刚从2013升到2015,还得再装回一个2013用,只为学习CUDA...

然后安装的时候,如果你选择自定义组件安装,注意不要改他的选项,比如说你的显卡驱动高于CUDA SDK提供的版本,而勾掉他提供的显卡驱动的话会导致

GPU工具装不上,于是你编译出来的程序就会显示停止工作,为了能少折腾让自己活得更久一点,还是全默认的好

如果安装正确,就可以直接在新建项目中看到CUDA7.5的项目模板了

Win7 VS2013环境使用cuda_7.5.18

如果你使用Visual Assist的话还要在项目include目录里添加一下

我的目录

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include

Win7 VS2013环境使用cuda_7.5.18

然后在菜单

Tools >> Options >> Text Editor >> File Extension

把.cu和.cuh扩展名加入VS扩展名支持里

Win7 VS2013环境使用cuda_7.5.18

然后注册表中,给VA的扩展名也加入VA支持

HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet12

ExtSource项加入.cu和.cuh

Win7 VS2013环境使用cuda_7.5.18

网上还有说要把旧版的usertype.dat放到

D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE

你的IDE下,说是支持CUDA语法高亮,我也忘了这个是不是有用了,好像我没放的时候VA就支持高亮了,如果你的还没高亮可以试着下载一下

全部搞定后重启一下Visual Studio,重新打开项目应该就有语法高亮显示了

最后再来一个更简单版本的Hello World

 #include <iostream>

 #include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h> using namespace std; __global__ void AddIntsCUDA(int* a, int* b)
{
a[] += b[];
} int main()
{
int a = ;
int b = ; int* d_a;
int* d_b; cudaMalloc(&d_a, sizeof(int));
cudaMalloc(&d_b, sizeof(int)); cudaMemcpy(d_a, &a, sizeof(int), cudaMemcpyHostToDevice);
cudaMemcpy(d_b, &b, sizeof(int), cudaMemcpyHostToDevice); AddIntsCUDA << <, >> >(d_a, d_b); cudaMemcpy(&a, d_a, sizeof(int), cudaMemcpyDeviceToHost);
cudaMemcpy(&b, d_b, sizeof(int), cudaMemcpyDeviceToHost); cout << "a is : " << a << endl; cudaFree(d_a);
cudaFree(d_b); return ;
}

Win7 VS2013环境使用cuda_7.5.18