本书为《并行计算入门》第二版,由美国著名学者Ananth Grama撰写。书中详细介绍了并行计算的基本概念、算法设计及应用实例,并包含丰富的示例代码和练习题,适合初学者快速掌握并行计算技术。含详尽书签版本便于读者高效查阅和学习。
本书全面介绍了并行计算的体系结构、编程范例、算法与应用以及标准等内容,并涵盖了该领域的传统问题。书中尽量采用独立于底层平台的抽象模型来设计算法,以增强通用性和灵活性。
全书选取了MPI(消息传递接口)、POSIX线程和OpenMP这三个广泛应用且便于编写可移植并行程序的标准作为编程范例,在不同章节中展示了不断变化的应用实例组合。本书结构清晰合理、语言通俗易懂,并配有精心设计的习题集,非常适合教学使用。
自1993年出版第一版以来,该书已在全球范围内被广泛采用为高等院校本科生和研究生的教学或参考材料。
第一章涵盖了并行计算的基本概念,包括推动其发展的因素(如晶体管技术的进步、内存速度及数据通信等),以及它在工程设计、科学计算、商业应用和计算机系统中的具体应用场景。此外还介绍了本书的章节安排及其相关内容概览,并附有习题供读者练习。
第二章深入探讨了并行编程平台,包括隐式并行微处理器架构的发展趋势(如流水线与超标量执行)、内存系统的性能瓶颈及优化策略、各种类型的并行计算平台和它们之间的通信模型等。详细介绍了理想化平行计算机的体系结构以及互连网络的不同类型,并讨论了进程-处理器映射的影响及其技术,最后给出章节参考文献以供读者进一步研究。
第三章则专注于并行算法的设计原则,包括任务分解、粒度选择、负载均衡策略及各种常见的并行计算模型(如数据并行模式和主从架构)等。该部分还提供了详细的交互开销处理方法,并通过实例来解释如何在实际情况下应用这些理论知识。
后续章节继续深入探讨了基本通信操作,解析建模技术,以及使用消息传递接口(MPI)进行编程的方法等内容;同时还介绍了共享地址空间平台的线程与OpenMP标准的应用实践。此外还涉及稠密矩阵运算、排序算法、图论问题解决方案和离散优化搜索方法等复杂主题,并在最后两章中分别讨论了动态规划技术和快速傅里叶变换技术的具体实现。
本书各章节均附有大量练习题,帮助读者巩固所学知识并加深理解。