4 CUDA 环境搭建

4.1 简介

本章面向从未接触过CUDA的初学者。我们将依次介绍如何在不同操作系统上安装CUDA、有哪些可用的CUDA 工具以及CUDA如何编译代码,最后介绍应用程序接口提供的错误处理手段,并帮助读者识别CUDA代码和开发过程中必然碰到的应用程序接口报错。Windows、Mac 和 Linux 三大主流操作系统均支持CUDA。最易于使用和学习CUDA程序开发的操作系统,应该是你最熟悉的那个。对于零基础的初学者,Windows加上MicrosofVisual C++可能是最好选择。在 Windows和 Mac 上安装 CUDA 主要是一些点击操作,它们都提供了非常标准的集成开发环境,很适合CUDA程序开发。

4.2 在 Windows 下安装软件开发工具包

这里的安装以工具包 4.1版为例。在基于 Windows系统的个人计算机上安装CUDA需要一些组件,可以到英伟达开发者社区下载,入口在http://developer.nvidia.com/cudatoolkit-41。在本书付梓刊印之际,开发包5.0版已经处于待发布阶段。请到英伟达官网获取最新版本。

你需要事先安装好 Microsoft Visual Studio 2005、2008或者2010。接着首先要下载并安装对应于操作系统的英伟达开发驱动程序,下载地址同上。然后你还要依次下载并安装32位或 64位版本的 CUDA 工具包、GPU计算软件开发包及其软件开发包的示例程序。要确认你安装的程序版本号与你的操作系统是匹配的。建议的安装次序如下:

1)英伟达开发驱动程序

2)CUDA 工具包

3)CUDA软件开发工具包

4)GPU计算软件开发工具包

5)并行 Nsight 调试器

在 Windows7系统下,软件开发工具包把全部文件放置在ProgramData目录下。这个目录处于C盘,是隐藏的。为了查看其中的文件,可以通过桌面上的CUDA软件开发工具包图标进行浏览或者进入 Windows Folder Options(文件夹选项)对话框里进行设置,以允许查看隐藏文件,如图4-1所示,

图4-1 Folder Options 对话框里设置允许查看隐藏文件

4.3 Visual Studio

CUDA 支持 Visual Studio 版本的范围为 2005~2010,也支持大部分的学习版。学习版可以从Microsoft免费得到。专业版也能通过DreamSpark计划得到,需要在https:/kwww.dreamspark.com 网站注册为学生身份免费获得。

注册时,只需提供你的学校信息和身份编号。旦注册成功,就可以下载VisualStudio软件以及很多其他开发工具。这个计划不仅面向美国的学术机构:也涵盖全世界的大学生。

综合来看,Visual Studio 2008对CUDA的支持最好,它的编译速度比 Visual Studio 2010更快。但 Visual Studio 2010可以实现源代码的自动语法检查,这一特性非常实用。在使用一项未定义的类型时,它能使用红色下划线指明错误所在,与Microsoft Word 里提示拼写错误是一样的。对于明显的问题,这一特性极其有用,它将大大节省不必要的编译次数。因此建议使用 2010版本进行CUDA开发,特别是当你可以从 DreamSpark 获取免费版时。

4.3.1 工程

为了快速新建一个工程,你可以选择一个软件开发工具包示例作蓝本,然后移除其中不需要的工程文件,并插人自己的源文件。你的CUDA源代码,应该包含“.cu”扩展名,这样它的编译会采用英伟达编译器而不是 VisualC编译器。另一种新建工程的方式,可以通过工程模板向导,方便地建立一个基本的工程框架,细节将在后面看到。

4.3.2 64位用户

当使用 Windows 64位版本时,要注意一些工程文件默认设置为以 32位应用程序运行。因此,当尝试生成程序“时,你可能会收到以下错误消息:“致命错误LNK1181:无法打开输人文件'cutil32D.lib'”

这是因为没有安装该库的缘故。你很有可能只安装了对应64位Windows的64位版本软件开发工具包。要更正此问题,需要把目标平台从32位改为64位。可以使用VisuaStudio 的 Build(生成)菜单,然后把平台改变为X64,如图 4-2 所示。

图4-2 VisualC目标平台选择

当选择重新生成时,可能会提示你保存该工程。只需添加“X86”到工程名称之后并保存。该工程将生成为64位版本,并链接正确的库文件。链接时也可能碰到找不到库文件的问题,例如缺少“cutil32.lib”。在安装软件开发工具包的时候,它设置了一个环境变量,$(CUDA_LIB_PATH)。这个变量通常设置为:C:\ProgramFilesINVIDIA GPU Computing Toolkit\CUDAlv4.1VlibX64.

有时,可能在默认工程文件的路径设置中没有$(CUDA_LIB_PATH)这一项。要添加它,可以单击该工程,然后选择Projed(工程)→Properties(属性)菜单。这将弹出如图 4-3所示的对话框。

图 4-3 附加库路径

单击在最右侧的“…”按钮,会弹出一个对话框,可以在此处添加库路径(如图4-4所示)。只需添加“S(CUDA_LIB_PATH)”作为一个新行,该工程即可正常链接。

如果准备构建64位和32位两种CUDA应用程序,则需要提前安装32位和64位的CUDA软件开发工具包。对于软件开发工具包里的样例,要生成32位和64位两个版本的程序,也需要安装两种版本的软件开发工具包。

进入以下目录并生成解决方案文件,就可以建立所需的库文件:

C:\ProgramData\NVIDIA Corporation\NVIDIA GPUComputing SDK 4.1\C\common

C:\ProgramData\NVIDIA Corporation\NVIDIA GPUComputing SDK 4.1\shared

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听风者868

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值