《CUDA高性能并行计算》----0.8 用户指南

简介: 我们编写本书的目的就是让广大的技术型读者积极参与到使用CUDA进行GPU并行计算的洪流之中。作为比喻,我们邀请你进行一次基于GPU并行计算的旅程,而本书即是本旅程的导游手册。比喻为导游手册在许多方面都是恰当的,其中包括:

本 节 书 摘 来 自 华 章 出 版 社 《CUDA高性能并行计算》 一 书 中 的 第0章,第0.8节, 作 者 CUDA for Engineers: An Introduction to High-Performance Parallel Computing[美] 杜安·斯托尔蒂(Duane Storti)梅特·尤尔托卢(Mete Yurtoglu) 著,苏统华 项文成 李松泽 姚宇鹏 孙博文 译 , 更 多 章 节 内 容 可 以 访 问 云 栖 社 区 “华 章 计 算 机” 公 众 号 查 看。

0.8 用户指南

我们编写本书的目的就是让广大的技术型读者积极参与到使用CUDA进行GPU并行计算的洪流之中。作为比喻,我们邀请你进行一次基于GPU并行计算的旅程,而本书即是本旅程的导游手册。比喻为导游手册在许多方面都是恰当的,其中包括:

如果你只阅读本教程,却并没有动手实践,那么本书的预期使命还没有真正完成。请亲自加入实践的旅程!

多数导游手册帮助你规划出国旅行之前需要做的事情,比如办理接种疫苗和护照。而我们这里不涉及这些,而是分别在附录A和附录B中介绍所需的硬件配置和软件配置。

到国外旅行往往涉及简单学习一个新的语言,甚至是特殊的方言。对于此次旅行,语言是C,而方言是CUDA。如果你熟悉C(或C++),你可以应付自如。如果你之前没有C语言的基础,也不要恐惧,附录C为你准备了本次旅程所需的基本知识点。

导游手册一般提供一系列必去观赏的圣地和必去参加的活动。我们的CUDA世界之旅必须看的地方是本书的第1章和第2章,这些地方让你尝试一下CUDA示例代码的威力,并获得接触CUDA方言的初体验。必须做的活动是第3章,让你学习如何把串行代码转换成并行CUDA代码。

对于那些希望进入更广泛和更深入的CUDA之旅的读者,只需继续学习后续章节。

浓缩的和有针对性的旅行是可能的。出发点是第3章,在该章我们创建了第一个并行应用程序。如果你急于到达某个特定的目的地,请直接进入第3章。如果你没有碰到麻烦,可以从这一章开始往下推进。否则,还请返回到第1章和第2章(甚至附录),以填补必要的基础知识。从那里开始,你可以选择不同的行进方向:

如果你的目标围绕交互式图形学、科学可视化、游戏等,请转到第4章和第7章继续学习。

如果你的目标是科学计算、偏微分方程或是图像处理等,则请继续学习第5章和第6章。

如果你的主要目标是利用现有CUDA函数库,那么只需直接跳到第8章进行阅读。

不论是长途还是短途,我们都喜欢看到新奇的事物,而实际尝试做新的东西会提升我们经历的长期影响。所以,不要只是单纯阅读。碰到代码,就去创建、编译并执行它们!还要修改它们并测试你的修改!建议你做一做每章末尾给出的推荐项目,或者创建你自己的项目。

在某些阶段的旅程,需要你独自去经历,还有一些旅程你是和一群游客及一名导游一起出行。我们尽最大努力来编写一本很适合你独自阅读的书。但是如果有条件在一个课程中使用本书,请多多与老师和同学进行讨论和交流。提出问题和回答问题是开展学习的好方法,另一种学习方法是使用最合适的调试工具。

任何旅途都可能出现差错,所以需要额外的指引或调度信息。解决这些问题的材料安排在附录D和第9章,它们提供了额外的资源链接,帮助你探索“CUDA生态系统”。

相关文章
|
并行计算
《CUDA高性能并行计算》----1.4 推荐项目
项目1~5是关于运行其他CUDA样例程序的练习。
1436 0
|
并行计算
《CUDA高性能并行计算》----3.6 推荐项目
1.改变距离数组中的元素数目并进行实验。当你将数目N定义成128、1024、63、65的时候是否遇到了一些问题? 2.计算包含4096个距离的距离数组并尝试改变TPB。你可以在系统上运行的最大(和最小)线程块大小是多大?注意,这个问题的答案依赖于你的GPU设备的计算能力。
1408 0
|
Web App开发 并行计算 异构计算
《CUDA高性能并行计算》----2.4 推荐项目
1.去CUDA Zone注册并加入到CUDA开发者中(如果读者还没有这样做的话)。 2.观看 www.nvidia.com/object/nvision08_gpu_v_cpu.html的视频,体会关于并行和串行执行的有趣的对比。
1881 0
|
并行计算 C++ Windows
《CUDA高性能并行计算》----0.7 本书代码
本书应用程序的代码可以通过www.cudaforengineers.com获取。虽然书中采用了一些代码片断和“骨架”代码(skeleton code),但标记为“代码清单”的代码(包含行号)是真实可运行代码的一部分。
2033 0
|
并行计算 异构计算
《CUDA高性能并行计算》----0.2 学习CUDA的“须知”
基于GPU的并行计算是真正改变行业面貌的技术。你需要知道基于GPU的并行计算以保持不被如下工程领域抛下:应用计算、工程设计和分析、计算机仿真、机器学习、视觉和成像系统或任何其他一些计算密集型领域。基于GPU的并行计算对一些计算任务可以减少数个数量级的时间消耗,所以那些本来需要持续运行若干星期才能完成的大型计算任务(如在一个大的数据集训练机器学习系统),现在可以在数小时执行结束。
2105 0
|
并行计算
《CUDA高性能并行计算》----3.3 标准操作流程
看过以上典型的程序流程,我们来分析一下流程哪些部分是CUDA带来的开销,哪些能带来收益。开销应该是十分明显的:创建镜像数组并且在设备端和主机端传输数据,这些都是在串行计算中不需要进行的额外工作。为了抵消这些内存操作的“额外开销”,我们能从GPU成百上千的处理器核心上得到运算上的收益。
1209 0
|
并行计算
《CUDA高性能并行计算》----1.3 本章小结
在本章,我们运行了一些CUDA样例程序并且获得了GPU并行计算的直观体验。同时我们介绍了两个串行的程序,将在后文作为并行化的实验函数。其中dist_v1提供了一个最简单的并行化实验例子,而dist_v2则描述了一个实用的结构和更典型的数据流。
1197 0
|
并行计算
《CUDA高性能并行计算》----2.3 本章小结
现在你已经掌握了开始创建一个拥有使用了CUDA进行GPU并行计算的优点的应用所必需的工具,我们将在第3章中开始创建CUDA应用。
829 0