cuda6.5 vs2010

下载网址:https://developer.nvidia.com/cuda-downloads

系统:wind7 64位

开发平台 vs2010

 显卡:NVIDIA(英伟达) GeForce GT 640

cuda6.5

前言:我的只安装上了cuda toolkit, cuda samples没有安装成功(如果有谁实验成功请分享)

安装步骤:

 

  运行安装程序,弹出安装过程中转文件路径设定框:

  

  这个路径随便填无所谓,安装完后就会自动删除的,我就直接设置为默认的。

  等待系统帮你检测当前平台是否适合搭建CUDA:

  

  检测完毕后,正式进入CUDA安装界面:

  同意并继续

  然后选择安装模式:

  为了完全安装所有功能,选择自定义模式安装。

  接下来勾选要安装的组件:

  全部勾上

  接下来要设置三个安装路径:

  这三个路径安装的是什么在日后的文章中将会解释,目前先不理会,直接安装到默认路径。点击下一步之后开始正式安装。

  安装完毕后,可以看到系统中多了CUDA_PATH和CUDA_PATH_V6_0两个环境变量,接下来,还要在系统中添加以下几个环境变量:

  CUDA_LIB_PATH = %CUDA_PATH%\lib\x64

  CUDA_BIN_PATH = %CUDA_PATH%\bin


(我的是这样,不过没有关系,可以用,就是不能用samples的例子)

重新启动计算机以使环境变量生效

下面是配置:

1.新建一个项目 (引用(1))

  打开VS2010并建立一个空的win32控制台项目:

  

  附加选项那里请把“空项目”打钩:

  

第十一步

  右键源文件 -> 添加 -> 新建项 如下图所示:

  

  在打开的对话框中选择新建一个CUDA格式的源文件 (如果你只是要调用 CUDA 库编写程序而不需要自行调用核函数分配块,线程的话也可以就建立 .cpp 的源文件):

  

第十二步

  右键工程 -> 生成自定义 如下图所示:

  

  在弹出的对话框中勾选“CUDA 6.5 *****"选项:

  

第十三步

  右键项目 -> 属性 -> 配置属性 -> VC++目录,添加以下两个包含目录:

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

  再添加以下两个库目录:

  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\lib\x64 

第十四步

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

  $(CUDA_PATH_V6_5)\lib\$(Platform)

  如下图所示:

  



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

cudart.lib


第十六步

  右键项目 -> 属性,如下图所示:

  

  将项类型设置为 CUDA C/C++:

  

第十七步

  打开配置管理器,如下图所示:

  

  点击 新建,如下图所示:

  

  选择 X64 平台:

  


好了,开始测试

#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 = 64;
   float a = 2;
   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 = 0; 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 <<<1, 64 >>>(a, X_d, Y_d, n);
     cudaMemcpy(Y_h, Y_d, n * sizeof(float), cudaMemcpyDeviceToHost);
     for (int i = 0; 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(Y_h);
    system("Pause");
    return 0;
}




引用:1.http://www.cnblogs.com/scut-fm/p/3708723.html

             2.http://www.cnblogs.com/liangliangdetianxia/p/3978955.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值