[CUDA] 关于CUDA的配置与入门(for Greenhand)

来源:互联网 发布:淘宝小米官方旗舰店 编辑:程序博客网 时间:2024/06/07 10:18

开始接触CUDA,我安装好后完全不知道怎么运行demo,当然也没有见到详细的安装说明。下面说说我的经验。

 

Platform:Win XP64

IDE:VS2008

 

 

 

 

 

1 获取可访问以下网址:

http://www.nvidia.com/object/cuda_get.html

共需下载3个应用程序,分别是:

1>     CUDA Driver

2>     CUDA Toolkit

3>     CUDA SDK code samples

可以选择合适的操作系统,例如我选的是WIN XP 64-bit。

 

2 安装

a)         其中CUDA Driver是为了使CUDA和硬件交互,CUDA 2.2中驱动文件版本是185.85,我原来的显卡驱动是17*.*,所以需要安装升级。

b)        接下来安装Toolkit,里面是一些头文件和库,nVidia的编译器,还有帮助文档。安装后,会自动在系统的环境变量里注册路径

CUDA_BIN_PATH (defaults to C:/CUDA/bin) contains the compiler executables and runtime libraries.

CUDA_INC_PATH (defaults to C:/CUDA/include) contains the include files needed to compile CUDA programs.

CUDA_LIB_PATH (defaults to C:/CUDA/lib) contains the libraries needed for linking CUDA codes.

c)        然后安装SDK,里面有很多示例和模版,可以参照。安装后进入/NVIDIA CUDA SDK/common文件夹,将Release.sln(2005)或Release_vc90.sln(2008)编译。新生成的.lib和.dll会在/NVIDIA CUDA SDK/common/lib里。

 

3 使用

以Visual Studio 2008 TeamSuite为例:

1)         文本编辑

由于CUDA使用的源文件是.cu文件,因此默认情况下VS不会识别它里面的语法,会把它当成普通的txt文件。

Tools->options,左侧树形图展开Text Editor,在File Extension子项中:

Extension:cu              Editor:Microsoft Visual C++

点击Add,这样cu文件就会被当做cpp文件显示了。由于VS不会立即更新,需要重新启动VS。

2)        路径包含

Tools->options,左侧树形图展开Projects and Solutions,选VC++ Directories子项,

Platform:     x64(默认是win32,但是我的是x64,所以需要选这个)

Show directories for:

       Include files添加:

a)         C:/CUDA/include

b)        C:/Documents and Settings/All Users/Application Data/NVIDIA Corporation/NVIDIA CUDA SDK/common/inc

Library files添加:

a)         C:/CUDA/lib

b)        C:/Documents and Settings/All Users/Application Data/NVIDIA Corporation/NVIDIA CUDA SDK/common/lib

3)        编译配置

Build->Configuration Manager,

Active Solution Configuration:Release(or Debug)

Active Solution Platform:       x64(如果没有需要new一个)

Project->Custom Build Rules,Find existing,找到/NVIDIA CUDA SDK/common/cuda.rules,打开,并在左侧勾选上,这样就可以调用nvcc来编译cu文件了。

在工程上点右键->Properties,左侧树形控件Configuration Properties->Linker->Input,在右侧Additional Dependencies里添加”cudart.lib cutil64.lib”(不包括引号),这样基本上编译就不会出问题了。

      如果是driver API,需要添加”cuda.lib cudart.lib”,头文件#include <cuda.h>,#include <cuda_runtime.h>

4)        运行

运行时可能出现某个dll无法找到的情况,这是需要将dll复制到解决方案编译下的exe所在文件夹,或者干脆复制到system32里。

 

 

 

当前我所用的显卡详细信息:

CUDA device's Name: GeForce 8500 GT

Multi-Processors : 4

canMapHostMemory : 0

clockRate : 1188000

computeMode : 0

deviceOverlap : 1

integrated : 0

kernelExecTimeoutEnabled : 1

compute capa : 1 1

maxGridsize : 2358912

maxThreadsDim : 2358900

maxThreadsPerBlock : 512

memPitch : 262144

regsPerBlock : 8192

sharedMemPerBlock : 16384

textureAlignment : 256

totalConstMem : 65536

totalGlobalMem : 133890048

warpSize : 32