zoukankan      html  css  js  c++  java
  • 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:ProgramDataNVIDIA Corporation  ProgramData为隐藏文件夹,可以直接搜索。最好直接将cuda解压到默认路径下,安装时并没有看到可以选路径。第一安装时解压在其他地方,然后加载项目不成功,估计某些细节的地方要改,偷懒直接解压在默认路径下了。

     自动生成环境变量 CUDA_PATH_V7_0

    cuda目录 C:Program FilesNVIDIA GPU Computing ToolkitCUDAv7.0

    C:ProgramDataNVIDIA CorporationCUDA Samplesv7.0.........

    头文件目录 C:ProgramDataNVIDIA CorporationCUDA Samplesv7.0commoninc

    C:Program FilesNVIDIA GPU Computing ToolkitCUDAv7.0include

    I:APPsinstallcaffe-windows3rdpartyinclude

    [转载]在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:ApplicationProgramDataNVIDIA CorporationCUDASamplesv7.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.
      "); 
              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.
      "); 
              return false; 
          } 
          cudaSetDevice(i); 
          return true; 
      } 
      
      int main() 
      { 
          if(!InitCUDA()) 
              return 0; 
          printf("Hello World, CUDA has been initialized.
      "); 
          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—百度知道
  • 相关阅读:
    熟练掌握js中this的用法,解析this在不同应用场景的作用
    用css3绘制你需要的几何图形
    js中Prototype属性解释及常用方法
    Nodejs之MEAN栈开发(九)---- 用户评论的增加/删除/修改
    深入理解Angular中的$Apply()以及$Digest()
    全面理解JavaScript中的闭包的含义及用法
    详解javascript,ES5标准中新增的几种高效Array操作方法
    区别和详解:js中call()和apply()的用法
    框架基础:ajax设计方案(一)---集成核心请求
    jQuery点击图片弹出大图遮罩层
  • 原文地址:https://www.cnblogs.com/deeplearning2015/p/5146521.html
Copyright © 2011-2022 走看看