现在的位置: 首页 > 综合 > 正文

CUDA: 64bit在Win7平台的搭建

2013年10月25日 ⁄ 综合 ⁄ 共 3679字 ⁄ 字号 评论关闭

又一次搭建cuda平台,遇到了很多些问题,其实都是以前遇见并解决过的,只是由于自己的懒惰没有记录下来,这次还是一如既往的google,baidu,浩瀚的资料库中寻找信息。

      先简要描述下软硬件环境:

  1. Win7 64bit系统
  2. VS2008
  3. CUDA 3.2v 64bit

 

     简要叙述下所遇到的问题:

  1. 在VS2008中查找不到x64平台,无法编译64位程序
  2. 执行开勇编写的cuda模板Wizard,编译通过,执行出现“找不到cutilD64.dll文件”的错误提示
     问题所在与解决方案:

 

  1. 第一个问题由于VS2008默认安装的时候没有安装64位程序编译器,所以导致没有x64平台可以选择;我们就要重新打开VS2008安装程序,点击添加程序 
        然后直接执行更新操作就ok了,这样x64平台就能出现在编译器中

       

       第二个问题的原因在于没有设置cuda的环境变量,应该将C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK/C/bin/win64 下的debug,release目录都放在系统环境变量PATH中,这样程序运行时才能找到相应的DLL库,ok!接着重启VS2008就可以运行编译后的cuda程序了

 

安装配置步骤,大家可以参照一下博客:http://tech.techweb.com.cn/viewthread.php?tid=506014&page=1 

---------------------------------------------------------------------------------------------------------------------------------------------------

最近又有新的项目要做了,这次是关于CUDA---多核高性能计算的问题,所以最近一直在学习CUDA的编程问题,昨天安装软件完毕,运行第一个程序的时候还是遇到很多问题。所以这里给大家一起分享一下, 有和我一样初学CUDA的同志一起来吧。: h# u2 }1 Q$ e
  安装* ]4 U4 P$ J' R( N
  你需要的软件有四种:0 o5 `# p, `. c% I) w4 p% ~
  
3 F4 a% X2 M4 n$ d$ M: n0 X" {9 J  其中,cuda的devdriver是不用安装的,当然,你可以下载最新版本安装一下。" {1 M& P- ]; K& u3 U7 ^% b
  然后就是下载,注意,你下载的所有的软件和你计算机上的VS所用的位数要匹配,例如,我的手提是64位的,VS也是64位的,所以我下载的软件都是64位的。(如果版本不匹配,等到编译的时候会有很大问题)5 M, }2 l7 p; z0 N1 `
  CUDA下载:6 Q; T9 @  }" |
  http://developer.nvidia.com/object/cuda_3_0_downloads.html  A' C) q* V" N6 o7 H& d! ~
  CUDA VS Wizard下载:, |- J" L3 s1 d2 V' U+ G, w* K, ?
  http://sourceforge.net/projects/cudavswizard/9 V  r& M5 H& N* f
  别忘了记住自己的安装路径,我都是默认安装的,我的安装路径如下:
! C0 m9 M: K+ f' w4 ]+ L3 H" Z' T: @  CUDA toolkit : C:\Program Files\NVIDIA GPU Computing Toolkit! W% |. }! x& v& J% ]0 E8 J0 d
  CUDA driver: D:\NVIDIA\DisplayDriver
5 G5 Y) K* J+ g, x. d% e  F& p  CUDA SDK: C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0# X7 L2 z: V- K  M0 U8 W
  SDK是例子的集合,等到编写程序的时候可以把例子调出来看看,运行一下,也可以用来检测自己编程环境是否搭好。
* V( I9 ^5 T3 D0 ^* `  确保自己的软件和vs都是同样的位数(都是32位,或者是都是64位),安装成功之后,打开vs(我用的是vs2005),新建项目-》项目类型中看到如下新的语言种类的项目:
6 k  H6 ~1 E# ?$ P' I  

运行template; n* r5 o( u% M. m/ i/ J! m) \
  你的第一个小程序,检验自己的CUDA环境是否搭建成功
  打开自己sdk的安装路径->c->src,我的是:C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\template src文件夹中都是一些可以运行的例子,先打开template这个文件夹,双击打开这个例子:2 o: N; L: v. F' E/ ?
  
  在vs的项目资源管理器里面,你可以看到一个.cu的文件,但是那个文件里面的关键字都没有显示高亮,那么要怎么办呢?4 ]. T5 C3 ?( y; ?  b0 }
  语法高亮6 N( d; _4 [. w0 `) [& o
  在NVDIA CUDA SDK\doc\syntax_highlighting 文件下有visual_studio_7和visual_studio_8,分别包含用于VS.net/7和VS.net 2005/vs 8的高亮显示
  1、将%NVIDIA GPU Computing SDK%\C\doc\syntax_highlighting\visual_studio_8下的 nVidia 写好的语法文件usertype.dat复制到%Visua Studio%\Common7\IDE下;
  2、启动Visual Studio,选择“工具” > “选项” > “文本编辑器” > “文件扩展名”,扩展名设为cu,编辑器选择Microsoft Visual C++,点击“确定”;
  3、重启Visual Studio。

编译规则的添加% ^7 n( a# ^' L
  使用CUDA VS Wizard
) W0 D; k3 W. r- x( i9 N8 E& A  CUDA VS Wizard是Openhero编写的、开源的、面向Visual Studio的工具。安装完成后,在Visual Studio中新建项目时会出现CUDAWinApp的模板,从这个模板建立项目可以省去很多设置;& R4 J4 F5 i, o% Z+ Y
  1、添加编译规则
. |  w/ I6 A: m0 ~  在解决方案资源管理器里面,找到你刚刚打开的项目template,右键点击这个项目,点击属性
3 i" k. `. ]- E% A' ]( s  "属性“ > ”链接器“ > "输入" > ”附加依赖项“中添加”cudart.lib cutil64D.lib“。(如果是使用32位机子的添加cudart.lib cutil32D.lib)
4 e, G7 Y' N- S* C  
) V2 i) l, @  K# W  注意上图,如果是64位软件的同学,一定要把debug选项沟上*64
) y+ {; _; a# p7 J) Z/ b  2 添加其他文件规则:
( \4 p5 T/ ]$ T" P  (1).在NVIDIA CUDA SDK\common目录下找到cuda.rules(这个根据每个人安装的软件不一样,
- K/ a6 ^6 o# ?  如果是3.2以后的版本  a: j2 h/ G6 V2 B0 @  X
  默认是在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\extras\visual_studio_integration\rules)- Q! {& o7 t- |: L  i
  (2).打开VS环境,单击Tools→Options→Projects and Solutions→VC++Project Settings,在C/C++ File Extensions里添加*.cu,在Extensions To Include里添加*.cuh,在Rule File Search Paths里添加~NVIDIA CUDA SDK\common,即cuda.rules文件所在目录。2 ]1 F1 N, {6 }4 [6 ]8 `. n
  
; @( r& o' T+ ?6 z8 `  (3).重启VS。
# f4 O5 W, R8 z3 _. M2 t4 G- e  配置完成后,双击CPP文件,点击编译运行。' B* @3 _" C* G
  得到如下的运行结果,就说明配置成功/ {' u4 c8 h0 S$ w  B
  / U2 Q! p) d! ]8 M1 y* a
  vs对CUDA编程的支持并不足够,所以很多地方需要自己配置,遇到问题的时候及时搜索解决方案。; c7 p) F; \. t. d: ~& U) T
        更多内容请点击:: ]/ U+ i% s7 y7 P3 p
        CUDA专区:http://cuda.it168.com/5 @$ U6 ^3 O/ z! J" g  [' |
        CUDA论坛:http://cudabbs.it168.com/

http://www.cnblogs.com/doubles/archive/2011/10/16/2212896.html

抱歉!评论已关闭.