爱生活 爱技术

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  32 随笔 :: 0 文章 :: 0 评论 :: 0 Trackbacks
 

CUDA Toolkit的安装

目前 NVIDIA 提供的 CUDA Toolkit(可从这里下载)支持 Windows 32 bits 64 bits 版本)及许多不同的 Linux 版本。

CUDA Toolkit 需要配合 C/C++ compiler。在 Windows 下,目前只支持 Visual Studio 7.x Visual Studio 8(包括免费的 Visual Studio C++ 2005 Express)。Visual Studio 6 gcc Windows 下是不支援的。在 Linux 下则只支援 gcc

这里简单介绍一下在 Windows 下设定并使用 CUDA 的方式。

下载及安装

Windows 下,CUDA Toolkit CUDA SDK 都是由安装程序的形式安装的。CUDA Toolkit 包括 CUDA 的基本工具,而 CUDA SDK 则包括许多范例程序以及链接库。基本上要写 CUDA 的程序,只需要安装 CUDA Toolkit 即可。不过 CUDA SDK 仍值得安装,因为里面的许多范例程序和链接库都相当有用。

CUDA Toolkit 安装完后,预设会安装在 C:\CUDA 目录里。其中包括几个目录:

  • bin -- 工具程序及动态链接库
  • doc -- 文件
  • include -- header
  • lib -- 链接库档案
  • open64 -- 基于 Open64 CUDA compiler
  • src -- 一些原始码

安装程序也会设定一些环境变量,包括:

  • CUDA_BIN_PATH -- 工具程序的目录,默认为 C:\CUDA\bin
  • CUDA_INC_PATH -- header 文件的目录,默认为 C:\CUDA\inc
  • CUDA_LIB_PATH -- 链接库文件的目录,默认为 C:\CUDA\lib

Visual Studio 中使用 CUDA

CUDA 的主要工具是 nvcc,它会执行所需要的程序,将 CUDA 程序代码编译成执行档 ( object ) 。在 Visual Studio 下,我们透过设定 custom build tool 的方式,让 Visual Studio 会自动执行 nvcc

这里以 Visual Studio 2005 为例:

  1. 首先,建立一个 Win32 Console 模式的 project(在 Application Settings 中记得勾选 Empty project),并新增一个档案,例如 main.cu
  2. main.cu 上右键单击,并选择 Properties。点选 General,确定 Tool 的部份是选择 Custom Build Tool
  3. 选择 Custom Build Step,在 Command Line 使用以下设定:
    • Release 模式"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)\$(InputName).obj $(InputFileName)
    • Debug 模式"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)\$(InputName).obj $(InputFileName)
  4. 如果想要使用软件仿真的模式,可以新增两个额外的设定:
    • EmuRelease 模式"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)\$(InputName).obj $(InputFileName)
    • EmuDebug 模式"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)\$(InputName).obj $(InputFileName)
  5. 对所有的配置文件,在 Custom Build Step Outputs 中加入 $(ConfigurationName)\$(InputName).obj
  6. 选择 project,右键单击选择 Properties,再点选 Linker。对所有的配置文件修改以下设定:
    • General/Enable Incremental LinkingNo
    • General/Additional Library Directories$(CUDA_LIB_PATH)
    • Input/Additional Dependenciescudart.lib

这样应该就可以直接在 Visual Studio IDE 中,编辑 CUDA 程序后,直接 build 以及执行程序了。

 

posted on 2009-09-20 10:32 海 阔 天 空 阅读(1757) 评论(0)  编辑 收藏 引用 所属分类: CUDA