《CUDA高性能并行计算》----0.5本书的组织结构

    xiaoxiao2024-03-20  113

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

    0.5 本书的组织结构

    除了本章之外,本书包含有九章正文和四个附录。正文章节提供了大多数读者需要掌握的核心知识,而附录用于查缺补漏,补充背景知识。我们的呈现方式鼓励你积极参与到CUDA实践之中。为了充分利用本书,请在你阅读这些章节时,亲自创建、测试和修改书中的应用程序(也称为app)。

    第1章启动了新奇的CUDA世界之旅,引导你检查你的CUDA系统。你将运行CUDA工具箱附带的CUDA示例应用程序,以确保你有一个支持CUDA的系统;你也将运行几个C语言编写的简单程序,以确保你可以随时创建、编译和执行C程序。第一批C程序计算一组输入值与参考点的距离:先考虑每次输入一个数,而后扩展为每次输入一个数组。这些应用程序是后面采用CUDA并行化的待对比代码。

    如果你在尝试CUDA的简单应用时碰到问题,请转入附录补充必要的基础知识。附录A包括如何检查你的计算机是否配有支持CUDA的GPU以及在不支持的情况下如何购买并安装一个。附录B展示了如何安装CUDA软件。随后的附录C涵盖了C语言编程的核心要素。

    在你完成第1章并根据需要读完了附录部分,你就可以进入第2章。该章讲解用于并行化的基本CUDA模型和为支持CUDA编程所扩展的C语言(即CUDA C)。

    该书的其余部分围绕一系列实例,讲解并实现了CUDA的重要知识点。

    第3章展示了如何并行化第1章介绍的距离函数。这个过程揭示了使用CUDA进行并行计算的最基本要素,也给出了在CPU和GPU之间传输数据的典型模式。我们还简要介绍了统一内存,它可以让你的开发过程变得更简单。到了该章的最后,你将基于我们介绍的实例应用程序获得CUDA实际操作经验,进而用来创建你自己的应用程序。该章首次引用附录D,讨论了CUDA开发工具。

    第4章对前一章距离计算函数实例做了升级,扩展到更高维度。一旦我们创建了二维数组的数据(它可以作为一个图像进行处理),我们将借此机会来介绍有关OpenGL互操作性的技术,使显示的图形可以与键盘/鼠标进行实时交互。我们也将利用微分方程介绍仿真的基础知识,为多种不同的初始条件同时启动仿真代码,达到并行稳定性分析之目的。

    在第5章中,我们开始正视现实中的挑战,考虑处于不同线程的计算并非相互独立的问题。最简单同时也是最常见的情况之一,每个线程与计算网格中邻近的其他线程相互依赖,这就是所说的模板模式(stencil pattern)。我们在直观的图像滤波语境下介绍基本知识,然后引进一个不同的模板来求解稳态温度分布问题(steady-state temperature distribution)。该章的讨论带领我们学习了如何使用分块(tiling)和共享内存,这些技巧适用于各式各样的应用场景。

    第6章用于解决计算过程中所有线程存在依赖的挑战性场景。我们先从计算两个向量的点积这一简单例子出发,识别出其中的挑战(以及一些解决方案),然后继续解决一个与质心有关的有趣应用。

    第7章探讨需要使用三维网格的并行计算场景。这一扩展直接建立在之前一维和二维网格的基础之上。然后,我们探索切片法、体绘制法和光线投射法,采用二维网格达到交互式显示三维网格数据的目的。

    第8章简要介绍CUDA函数库。这样你将了解存在哪些可复用的代码,并知道什么时候以及以什么方式利用它们。我们使用CUDA库不仅重新实现前面章节里的一些应用,也创建了两个新的应用程序。

    当你抵临本书的结尾,仍然有大量需要学习的东西和需要探索的材料。第9章为你提供额外的CUDA资源,包括书籍、博客、网站、视频和示例,它们能够进一步加强你的CUDA经验。

    综上所述,图0.1给出了学习本书的推荐流程。

    最新回复(0)