本书首先简要回顾了现代计算机架构的主要概念,特别关注并行代码的性能以及并行编程模型中的相关概念。然后,转向用于实现并行编程模型的基本算法,讨论它们如何与现代处理器交互。为了证明架构问题的普遍性,本书展示了当代多核处理器的性能。本书中的关键算法和概念都以易于理解的方式行讨论,并且用许多具体示例、图表和源代码片段行说明。 本书的目标读者是研究编译器构造、并行编程或编程系统的计算机科学专业的学生。对用于实现并行运行时系统的核心算法感兴趣的软件发人员,或者需要为需要本书中讨论的算法和概念的项目自学的软件发人员,也将从阅读本书中受益。
售 价:¥
纸质售价:¥76.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
译者序
前言
术语表
第1章 绪论
1.1 本书结构
1.2 探索设计空间
1.3 代码示例
1.4 机器配置
第2章 并行编程模型与概念
2.1 多进程与多线程
2.2 基于任务的并行编程
2.3 同步构造
2.4 阿姆达尔定律
2.5 总结
第3章 众核与多核计算机架构
3.1 执行机制
3.2 现代内存子系统
3.3 总结
第4章 编译器和运行时的交互
4.1 编译器基础
4.2 基于任务的并行模型的实现
4.3 并行编程语言的编译器
4.4 并行代码生成模式
4.5 OpenMP实现示例
4.6 总结
第5章 并行运行时基本机制
5.1 管理并行性
5.2 并行性管理与硬件结构
5.3 并行运行时系统中的内存管理
5.4 总结
第6章 互斥和原子性
6.1 互斥问题
6.2 我们应该写锁代码吗
6.3 锁的类别
6.4 锁算法的特性
6.5 锁算法
6.6 实际代码性能
6.7 如何等待
6.8 事务同步
6.9 其他串行操作
6.10 原子操作
6.11 总结
第7章 同步障和归约
7.1 同步障基本原理
7.2 同步障性能测量
7.3 同步障组件
7.4 同步障算法分类
7.5 同步障算法
7.6 归约
7.7 其他优化
7.8 总结
第8章 调度并行循环
8.1 调度目标
8.2 调度效率的理论极限
8.3 基本调度方法
8.4 映射为规范形式
8.5 编译器循环转换
8.6 循环调度单调性
8.7 静态循环调度实现
8.8 动态循环调度实现
8.9 循环调度评估
8.10 其他循环调度方案
8.11 总结
第9章 任务并行模型的运行时支持
9.1 任务描述符
9.2 任务池实现
9.3 任务同步
9.4 任务调度
9.5 任务调度约束
9.6 其他任务主题
9.7 总结
第10章 总结和感想
附录 技术缩略语
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜