





定价:69元
印次:1-1
ISBN:9787302660965
出版日期:2024.05.01
印刷日期:2024.04.29
图书责编:杨帆
图书分类:教材
介本书是针对“并行程序设计”“并行计算”等课程编写的教材,内容包括并行计算基础知识、共享内存系统的OpenMP和Pthreads多线程编程、消息传递系统的MPI编程、Slurm作业管理系统、GPU等异构系统的CUDA/OpenCL/OpenACC/Athread编程、常用的并行设计与性能优化方法、典型并行应用算法等,另外,还特别增加了针对我国自主研发的申威处理器编程的相关内容。本书涵盖并行程序设计最常用的编程语言/接口、设计与性能优化方法、基础应用算法等内容,一方面反映了OpenMP、MPI等成熟编程语言/接口的新特性,以及GPU异构编程等新型编程接口;另一方面在典型并行应用算法部分尝试用计算机专业人员易于理解的方式介绍典型算法,特别是以线性方程组迭代求解方法中的共轭梯度法为例。本书每章都设置了以编程为主的习题,鼓励读者通过编写程序掌握相关方法。本书适合作为计算机和信息类专业高年级本科生和研究生的教材,也可供高性能计算和并行计算领域的科研人员参考。
刘轶,男,1968年6月生,博士,教授,博士生导师。现担任北京航空航天大学计算机学院中德联合软件研究所所长。主要研究方向为计算机系统结构及高性能计算、计算机网络。
前言 近年来,并行编程技术的发展非常迅速,与此同时,社会对并行编程技能的 需求和应用也日益广泛,这主要受到以下几方面因素的推动:首先,多核/众核 处理器、GPU、深度学习处理器等新型体系结构快速发展,其编程方法与传统并 行编程相比有较大的差异,这推动并行编程模型及编程语言/接口出现了诸多变 化;其次,人工智能、云计算、大数据分析等新兴应用对并行计算有着很高的要 求,推动并行编程的应用领域从传统的科学/工程计算向更多的领域拓展;最后, 高性能计算机系统的规模不断增大,异构体系结构已成为主流,这使得高性能应 用软件的并行规模(进程/线程个数)越来越大,且需要适配多种异构体系结构, 给大规模并行程序的编写提出了更高的要求。 目前,国内很多高校都开设了“并行程序设计”和“并行计算”课程,但缺 少系统地、全面地介绍并行编程语言/接口的教材,这也是本书的编写初衷。与已 有的一些并行编程教材和参考书相比,本书在内容编写上注重体现以下几个特点。 1. 注重编程能力训练 编程类课程的首要目标不是让学生记住多少概念或者接口函数,而是真正掌 握编程技能,在面对实际问题时,能够编写满足需求的并行程序。有鉴于此,本书 在介绍并行编程语言/接口时,同步给出了很多示例程序。例如,在介绍并行接口 函数时,除了介绍函数功能和参数外,还给出了调用该函数的示例代码,这种代码 虽然只有几行,但可以帮助初学者更清晰地了解如何在程序中使用该函数;又如, 在介绍每种编程语言/接口的过程中,穿插介绍了多个相对完整的示例程序,可以 帮助读者了解如何在程序中综合使用...
第 1 章
并行程序设计概述
.
........................................................................1
1.1 并行性概述 ..................................................................................................1
1.2 如何衡量计算速度 ......................................................................................3
1.3 并行计算系统基本知识 ..............................................................................6
1.3.1 弗林分类 .........................................................................................6
1.3.2 共享内存系统与消息传递系统 .....................................................8
1.3.3 几种常见的并行计算系统 ...........................................................10
1.3.4 互连网络 .....
u 本书内容涵盖了主流的并行编程语言/接口,包括多线程编程接口OpenMP和Pthreads、消息传递接口MPI,以及CUDA、OpenCL、OpenAcc等异构编程接口。
本书介绍了面向我国自主申威处理器架构的Athread编程接口,可以帮助读者学习掌握如何在我国自主超算系统上编写并行程序。
"