PCINLIFE logos
 
前往业界动态栏目前往脑场特工栏目前往新品情报栏目前往IN评测栏目前往型人志栏目前往大家的PCINLIFE前往我的PCINLIFE
前往处理器及平台技术栏目前往图形卡及显示器栏目前往新手指南栏目前往存储设备栏目前往外设及附件栏目前往网络及互联技术栏目前往数码及家庭娱乐栏目前往展会及活动栏目
返回站点首页

前往处理器及平台技术栏目前往图形卡及显示器栏目首页前往新手指南栏目前往存储设备栏目前往外设及附件栏目前往网络及互联技术栏目前往数码及家庭娱乐栏目前往展会及活动栏目




   站点首页王牌评测频道图形卡及显示器深入浅出谈CUDA

2008年06月04日 18时16分  
本文作者:hotball(热球)  点阅人次:   
深入浅出谈CUDA
“CUDA 是 NVIDIA 的 GPGPU 模型,它使用 C 语言为基础,可以直接以大多数人熟悉的 C 语言,写出在显示芯片上执行的程序,而不需要去学习特定的显示芯片的指令或是特殊的结构。”
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 StepOutputs 中加入 $(ConfigurationName)\$(InputName).obj。
  6. 选择 project,右键单击选择 Properties,再点选 Linker。对所有的配置文件修改以下设定:
    • General/Enable Incremental Linking:No
    • General/Additional Library Directories:$(CUDA_LIB_PATH)
    • Input/Additional Dependencies:cudart.lib

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

点击这里到WE.pcinlife和大家一齐讨论本文章

上一页  1 [2] 3 4 5 6  下一页   
返回网页首部  

与「深入浅出谈CUDA」相关的本站内容连接

[内容标题]嘉威影驰GeForce 8800GT 1GB SLI测试报告
[内容简介]
如果某个游戏的最高特效是以768MB为设计目标的话,512MB的G92、G94还是会因为内存容量问题出现性能骤降的现象。
[内容标题]3DMark Vantage抢先体验
[内容简介]
3DMark由于使用简单、易于比较,作为一个测试工具在玩家当中还是相当流行
[内容标题]难以掩饰的真相——25款游戏真实截图对比[更新]
[内容简介]
难以启齿的真相总是会被利益相关者以各种手段加以掩饰、扭曲,而一般的玩家往往缺乏专业的条件来判断其真伪,但是在互动的PCINLIFE上,我们得以有机会还原本来面目。
[内容标题]NVIDIA GeForce 9800家族测试报告
[内容简介]
对NVIDIA来说,推出双芯单卡的原因主要在于单芯片无法满足当前玩家的需求,故此如果要推出双芯单卡,其前提必须是一款性能绝对最强的产品。
[内容标题]64SP硬撼320SP?GeForce 9600 GT测试报告
[内容简介]
要重新获得更高的毛利,就必须在1000元级别的市场上提供成本更低、更具竞争力的产品,这就是今天NVIDIA正式推出的GeForce 9600GT。

返回网页首部  

  前往站点地图前往关于我们前往广告服务与报价前往建议与错误反馈  
  前往WE.pcinlife  前往ME.pcinlife      粤ICP备06054911号