首页 > 代码库 > CUDA 6.5 && VS2013 && Win7:创建CUDA项目
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.在调试模式下启动,观察结果。到此结束。
自己跑的文件下载链接
CUDA 6.5 && VS2013 && Win7:创建CUDA项目
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。