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

运行环境:

Win7+VS2013+CUDA6.5

1.创建win32空项目

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

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

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

 

$(CUDA_INC_PATH)

 

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

 

$(CUDA_PATH)/lib/$(PlatformName)

 

 

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

 

cudart.lib

 

确定!

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

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

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

1 #include "cuda.h"
2 #include "cuda_runtime.h"
3 #include "device_launch_parameters.h"

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

复制代码
 1 #include "cuda.h" 
 2 #include "cuda_runtime.h"
 3 #include "device_launch_parameters.h"
 4 #include <stdio.h>
 5 
 6 __global__ void SaXPY(float a, float* X_d, float* Y_d, int n)
 7 {
 8     if (threadIdx.x < n)
 9         Y_d[threadIdx.x] = a * X_d[threadIdx.x] + Y_d[threadIdx.x];
10 }
11 
12 int main()
13 {
14     int n = 64;
15     float a = 2;
16     float *X_h, *X_d, *Y_h, *Y_d;
17     X_h = (float*)malloc(n * sizeof(float));
18     Y_h = (float*)malloc(n * sizeof(float));
19     for (int i = 0; i < n; i++)
20     {
21         X_h[i] = (float)i;
22         Y_h[i] = 1.0;
23     }
24     cudaMalloc(&X_d, n * sizeof(float));
25     cudaMalloc(&Y_d, n * sizeof(float));
26     cudaMemcpy(X_d, X_h, n * sizeof(float), cudaMemcpyHostToDevice);
27     cudaMemcpy(Y_d, Y_h, n * sizeof(float), cudaMemcpyHostToDevice);
28     SaXPY <<<1, 64 >>>(a, X_d, Y_d, n);
29     cudaMemcpy(Y_h, Y_d, n * sizeof(float), cudaMemcpyDeviceToHost);
30     for (int i = 0; i < n; i++)
31         printf("%2.1f X[%d] + Y[%d] = %f\n", a, i, i, Y_h[i]);
32     cudaFree(X_d);
33     cudaFree(Y_d);
34     free(X_h);
35     free(Y_h);
36     system("Pause");
37     return 0;
38 }

复制代码

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

自己跑的文件下载链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值