CUDA 6.5 && VS2013 && Win7:创建CUDA项目

运行环境:

Win7+VS2013+CUDA6.5

1.创建win32空项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

2.右键项目解决方案-->生成项目依赖项-->生成自定义

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

3.右键项目解决方案-->属性-->配置属性-->常规-->平台工具集

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

配置属性-->VC++目录-->包含目录,添加

$(CUDA_INC_PATH)

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

连接器-->常规-->附加库目录,添加

$(CUDA_PATH)/lib/$(PlatformName)

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

链接器-->输入-->附加依赖项,添加

cudart.lib

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

确定!

现在就可以创建/使用/编译*.cu文件了。

4.右键项目名称,添加-->新建项-->C++文件-->修改名称及后缀=>*.cu

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

CUDA 6.5 && VS2013 && Win7:创建CUDA项目

5.在新文件中添加以下头文件

 #include "cuda.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"

6.创建kernel内核文件,一个可以在GPU上执行的文件

 #include "cuda.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h> __global__ void SaXPY(float a, float* X_d, float* Y_d, int n)
{
if (threadIdx.x < n)
Y_d[threadIdx.x] = a * X_d[threadIdx.x] + Y_d[threadIdx.x];
} int main()
{
int n = ;
float a = ;
float *X_h, *X_d, *Y_h, *Y_d;
X_h = (float*)malloc(n * sizeof(float));
Y_h = (float*)malloc(n * sizeof(float));
for (int i = ; i < n; i++)
{
X_h[i] = (float)i;
Y_h[i] = 1.0;
}
cudaMalloc(&X_d, n * sizeof(float));
cudaMalloc(&Y_d, n * sizeof(float));
cudaMemcpy(X_d, X_h, n * sizeof(float), cudaMemcpyHostToDevice);
cudaMemcpy(Y_d, Y_h, n * sizeof(float), cudaMemcpyHostToDevice);
SaXPY <<<, >>>(a, X_d, Y_d, n);
cudaMemcpy(Y_h, Y_d, n * sizeof(float), cudaMemcpyDeviceToHost);
for (int i = ; i < n; i++)
printf("%2.1f X[%d] + Y[%d] = %f\n", a, i, i, Y_h[i]);
cudaFree(X_d);
cudaFree(Y_d);
free(X_h);
free(Y_h);
system("Pause");
return ;
}

7.在调试模式下启动,观察结果。到此结束。

自己跑的文件下载链接

上一篇:11).C#_所有类都派生自object类


下一篇:Android开发之查看应用包名package和入口activity名称的方法