cuda7.0安装windows+vs2012

安装的时候是参考了B,C,但是安装完之后发现了A,和我的安装过程一样,推荐参考A进行安装,原文放在最下面。

A http://zhangxiaoya.github.io/2015/06/10/install-on-windows8-1/

http://www.360doc.com/content/15/0715/10/8426204_485017386.shtml

http://blog.sina.com.cn/s/blog_534497fd0102vbu3.html  4(2)没出现,但是第一次生成时成功 134 个,失败 10 个

注意:默认安装目录为C:\ProgramData\NVIDIA Corporation  ProgramData为隐藏文件夹,可以直接搜索。最好直接将cuda解压到默认路径下,安装时并没有看到可以选路径。第一安装时解压在其他地方,然后加载项目不成功,估计某些细节的地方要改,偷懒直接解压在默认路径下了。

 

 自动生成环境变量 CUDA_PATH_V7_0

cuda目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.0\.........

 

头文件目录 C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.0\common\inc

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

I:\APPs\install\caffe-windows\3rdparty\include

 

[转载]在Windows8.1上安装CUDA  

原文链接 http://zhangxiaoya.github.io/2015/06/10/install-on-windows8-1/

@(Program Primer)

需要对比试验,但是作者提供的程序需要是使用CUDA,在两个台式机上测试,都不能通过,笔记本的显卡是配置最高的,在自己的笔记本上配置环境跑程序,刚才尝试了一下,还好,能用了。在Windows平台上配置环境挺简单的,还是记录一下,方便以后查看。

 

检查显卡

虽然是N卡,但是还是检查一下显卡是否支持。 我的机器的基本配置:

  • 处理器 intel i5 四线程
  • 内存   4GB * 2
  • 显卡 NVIDIA Geforce 755m 2GB
  • 系统 Windows 8.1 64 bit 中文版

也可以在设备管理器中查看自己机器的显卡。

NVIDIA的官方网站查看显卡是否在支持的列表中。 但是,这个表不是特别全。也可以在其硬件设备网站中查看是否支持。

或者使用GPU-Z查看是否支持,不过这个软件也是有问题。 最好的是查看硬件的支持信息。

不过也有在百度上直接问的,比如这位同学

注意:

下载的安装包实际上是安装三个东西

  • Toolkit  各种工具的集合,提供了矩阵计算的各种工具
  • GDK      提供一些库函数,我看的意思貌似 是ML(Machine Learning)的库,其实不是啦,是NVIDIA Management Library的意思。
  • Samples  提供了一些例子

开始安装

检查发现显卡支持CUDA,那果断安装。

  1. NVIDIA的官网,上找到CUDA ZONE,可以在这里了解更多关于CUDA的知识;

  2. CUDA下载页面选择合适的系统平台,下载对应的开发包,我下载的是Win8.1版本的,但是我发现怎么只有Win8.1下有链接,其他的系统平台下没有链接,难道都是一样的?

  3. 安装,整个安装过程比较简单,就类似于普通的软件安装,但是要提醒一下,一定要安装Visual Studio 2010 或者更高版本,比如Visual Studio 2012Visual Studio 2013CUDA7.0 都是支持的。安装路径也是可以选择的。

  4. 安装过程看电脑的性能了,我大约安装了10多分钟。

  5. 验证安装,打开命令提示框(就是cmd),输入命令nvcc - V,查看CUDA的版本。若是安装正确的话,会出现下面的结果;若不正确,我也不知道啦。

...
144>  正在删除文件“x64/Debug/alignedTypes.unsuccessfulbuild”。
144>  正在对“x64/Debug/alignedTypes.lastbuildstate”执行 Touch 任务。
144>
144>生成成功。
144>
144>已用时间 00:01:07.49
========== 生成: 成功 134 个,失败 10 个,最新 0 个,跳过 0 个 ==========

 

其他验证方式

网上的教程还给了其他的验证方式,比如这篇文章提到了用deviceQuery.exe验证,我找了半天也没找到这个可执行程序,后来发现原来这是一个例子,按照其他文章说的,在安装的时候就把例子也给编译了,我仔细的检测,发现我的没有编译,只能自己编译了。

  1. 在例子的安装目录下,找到解决方案的名字。比如我的例子的安装路径是D:\Application\ProgramData\NVIDIA Corporation\CUDA\Samples\v7.0\,若版本号跟我的一样的话,应该是有三个解决方案,对应不同的版本,比如我的有Samples_vs2010.slnSamples_vs2012.slnSamples_vs2013.sln,我的机器只是安装了Visual Studio 2010因此,只能打开第一个解决方案。

  2. 开始漫长的编译过程,选择Visual Studio 2010生成->生成解决方案或者直接按F7键,开始Build

Visual Studio这个环境好用,但是也会有各种奇葩的错误,在构建例子的过程中,有10个例子没有成功,先不管了,绝大多数都成功了。

下面是我的构建日志的最后部分:

...
144>  正在删除文件“x64/Debug/alignedTypes.unsuccessfulbuild”。
144>  正在对“x64/Debug/alignedTypes.lastbuildstate”执行 Touch 任务。
144>
144>生成成功。
144>
144>已用时间 00:01:07.49
========== 生成: 成功 134 个,失败 10 个,最新 0 个,跳过 0 个 ==========

 

结束Build后,就会在对应的目录中找到deviceQuery.exe了,在命令行中运行这个程序,会得到如下的结果:

deviceQuery.exe Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GT 755M"
  CUDA Driver Version / Runtime Version          7.0 / 7.0
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 2048 MBytes (2147483648 bytes)
  ( 2) Multiprocessors, (192) CUDA Cores/MP:     384 CUDA Cores
  GPU Max Clock rate:                            1020 MHz (1.02 GHz)
  Memory Clock rate:                             2700 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 262144 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536),3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  CUDA Device Driver Mode (TCC or WDDM):         WDDM (Windows Display Driver Model)
    Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.0, CUDA Runtime Version = 7.0, NumDevs = 1, Device0 = GeForce GT 755M
Result = PASS

 

写一个小程序

  1. 在Visual Studio 2010 中新建一个空项目

  2. 添加新建项

  3. 在新建项对话框窗口左侧,选择NVIDIA CUDA7.0Code

  4. 在右侧的列表框中选择CUDA C/C++ File,名字任意,不过最好选择一个有意义的名字

  5. 右键工程名字,选择生成自定义,在CUDA7.0项前的复选框,选中

  6. 右键新建的CUDA文件,后缀名是.cu,选择属性,将常规项中的,项类型修改为CUDA C/C++

  7. 又将工程名字,选择属性,选择链接器 : 打开常规,编辑附加目录,添加内容 $(CUDA_PATH_V7_0)\lib\$(Platform) ; 打开输入,编辑附加依赖项,添加内容 cudart.lib

  8. 在CUDA文件中添加以下测试代码:

  9. #include< stdio.h> 
    
    #include "cuda_runtime.h" 
    #include "device_launch_parameters.h" 
    
    bool InitCUDA() 
    { 
        int count; 
        cudaGetDeviceCount(&count); 
        if(count == 0) 
        {
            fprintf(stderr, "There is no device.\n"); 
            return false; 
        }
        int i; 
        for(i = 0; i < count; i++) 
        { 
            cudaDeviceProp prop; 
    
            if(cudaGetDeviceProperties(&prop, i) == cudaSuccess) 
            { 
                if(prop.major >= 1) 
                    break; 
            }
        } 
        if(i == count) 
        { 
            fprintf(stderr, "There is no device supporting CUDA 1.x.\n"); 
            return false; 
        } 
        cudaSetDevice(i); 
        return true; 
    } 
    
    int main() 
    { 
        if(!InitCUDA()) 
            return 0; 
        printf("Hello World, CUDA has been initialized.\n"); 
        getchar();
        return 0; 
    }

     

若设备没有问题的话,正确的输出结果是:

Hello World, CUDA has been initialized.

 

参考链接

  1. win7+ VS2010安装CUDA7.0图文说明
  2. windows7 64位机上CUDA7.0配置及在VS2010中的简单使用举例—语法高亮等
  3. CUDA学习日志:windows开发环境配置— 推酷
  4. NVIDIA GPU支持列表
  5. Windows 下CUDA 开发环境安装及配置步骤
  6. NVIDIA CUDA 在线课程
  7. CUDA学习入门 — 博客园
  8. NVIDIA CUDA Getting Started Guide for Microsoft Windows
  9. NVIDIA CUDA ZONE
  10. NVIDIA Geforce 755m支持CUDA—百度知道

posted on 2016-01-20 21:02  懒得想名字  阅读(1591)  评论(0编辑  收藏  举报

导航