机械工业出版社计算机科学丛书结构化并行程序设计:高效计算模式

本书特色

[

本书由Intel的三位并行计算专家联合撰写,注重实践方法而非理论阐释,从问题分析伊始便引入并行思维,而非基于串行的思维定式。全书囊括了并行程序设计中通用且实用的编程模式,围绕IntelTBB和CilkPlus两个主要模型给出了大量示例,帮助读者学会编写高效的、结构化的、可维护的程序。本书可作为高年级本科生和研究生并行计算课程的理论教材或实验参考资料,也可供从事并行编程的程序员参考。

]

内容简介

[

本书由Intel的三位并行计算专家联合撰写,注重实践方法而非理论阐释,从问题分析伊始便引入并行思维,而非基于串行的思维定式。全书囊括了并行程序设计中通用且实用的编程模式,围绕IntelTBB和CilkPlus两个主要模型给出了大量示例,帮助读者学会编写高效的、结构化的、可维护的程序。本书可作为高年级本科生和研究生并行计算课程的理论教材或实验参考资料,也可供从事并行编程的程序员参考。

]

作者简介

[

—作者简介—
迈克尔·麦库尔(Michael McCool) Intel公司软件架构师,滑铁卢大学兼职副教授。
阿奇·D. 罗宾逊(Arch D. Robison) Intel公司线程构建块架构师,KAI C 首席程序员。
仁达敬(James Reinders) Intel公司高级工程师,并行编程布道师,并行工具首席发言人。

—译者简介—
于策,天津大学计算机科学与技术学院副教授,NAOC-TJU天文信息技术联合研究中心主任,曾参与中国第32次南极科考。

]

目录

目  录Structured Parallel Programming: Patterns for Efficient Computation译者序前言写在前面第1章 导论 11.1 并行思维 21.2 性能 31.3 动机:无处不在的并行 61.3.1 硬件发展推进并行化 61.3.2 并行化的历史趋势 81.3.3 显式并行编程的需求 121.4 基于模式的结构化编程 151.5 并行编程模型 161.5.1 理想特征 161.5.2 用抽象代替具体 171.5.3 规则数据并行 181.5.4 可组合性 211.5.5 功能可移植性 211.5.6 性能可移植性 221.5.7 安全性、确定性和可维护性 221.5.8 编程模型概述 231.5.9 何时使用模型 281.6 本书的结构 291.7 小结 29第2章 背景知识 312.1 名词和符号 312.2 策略 312.3 机制 332.4 计算机模型 352.4.1 计算机模型概述 352.4.2 影响性能的关键因素 392.4.3 Flynn分类法 412.4.4 革新 422.5 性能理论 432.5.1 延迟和吞吐量 442.5.2 加速比、效率和可扩展性 442.5.3 功耗 452.5.4 Amdahl定律 462.5.5 Gustafson-Barsis定律 482.5.6 工作量–跨度模型 492.5.7 渐近复杂度 512.5.8 渐近加速比和渐近效率 522.5.9 Little公式 532.6 并行陷阱 542.6.1 竞态条件 542.6.2 互斥和锁 552.6.3 死锁 562.6.4 扩展性抑制 572.6.5 局部性不足 572.6.6 负载不均衡 582.6.7 额外开销 582.7 小结 59**部分 模式第3章 模式概述 623.1 嵌套模式 633.2 结构化串行控制流模式 643.2.1 序列 643.2.2 选择 653.2.3 迭代 663.2.4 递归 683.3 并行控制模式 683.3.1 Fork-Join 683.3.2 映射 683.3.3 模板 693.3.4 归约 703.3.5 扫描 713.3.6 递推 733.4 串行数据管理模式 743.4.1 随机读写 743.4.2 栈分配 743.4.3 堆分配 753.4.4 闭包 753.4.5 对象 753.5 并行数据管理模式 763.5.1 打包 763.5.2 流水线 763.5.3 几何分解 773.5.4 聚合 783.5.5 散发 783.6 其他并行模式 793.6.1 超标量序列 793.6.2 期货 803.6.3 投机选择 803.6.4 工作堆 813.6.5 搜索 813.6.6 切片 813.6.7 展开 813.6.8 分类归约 823.6.9 项图重写 833.7 非确定性模式 833.7.1 分支限界 833.7.2 事务 843.8 编程模型对模式的支持 843.8.1 Cilk Plus 863.8.2 线程构建块 873.8.3 OpenMP 883.8.4 阵列构建块 893.8.5 OpenCL 903.9 小结 91第4章 映射 924.1 概述 934.2 带缩放系数的向量加法 944.2.1 问题描述 944.2.2 串行实现 954.2.3 TBB实现 964.2.4 Cilk Plus实现 964.2.5 使用数组符号的Cilk Plus实现 974.2.6 OpenMP实现 974.2.7 使用向量操作的ArBB实现 974.2.8 使用元素函数的ArBB实现 984.2.9 OpenCL实现 994.3 芒德布罗分形图 1004.3.1 问题描述 1004.3.2 串行实现 1004.3.3 TBB实现 1014.3.4 Cilk Plus实现 1014.3.5 使用数组符号的Cilk Plus实现 1014.3.6 OpenMP实现 1034.3.7 ArBB实现 1034.3.8 OpenCL实现 1044.4 映射的序列和序列的映射 1054.5 并行模型的对比 1074.6 相关模式 1074.6.1 模板 1074.6.2 工作堆 1084.6.3 分治 1084.7 小结 108第5章 集合 1095.1 归约 1095.1.1 计算重排序 1105.1.2 向量化 1115.1.3 分块 1125.1.4 精度 1135.1.5 实现 1135.2 映射和归约的融合 1145.2.1 TBB中的显式融合 1155.2.2 Cilk Plus中的显式融合 1155.2.3 ArBB中的自动融合 1155.3 点积 1155.3.1 问题描述 1155.3.2 串行实现 1165.3.3 SEE内联函数实现 1165.3.4 TBB实现 1175.3.5 Cilk Plus实现 1195.3.6 OpenMP实现 1205.3.7 ArBB实现 1215.4 扫描 1225.4.1 Cilk Plus 1235.4.2 TBB 1245.4.3 ArBB 1245.4.4 OpenMP 1245.5 映射和扫描的融合 1275.6 积分 1275.6.1 问题描述 1285.6.2 串行实现 1285.6.3 Cilk Plus实现 1305.6.4 OpenMP实现 1305.6.5 TBB实现 1315.6.6 ArBB实现 1325.7 小结 134第6章 数据重组 1356.1 聚合 1356.1.1 常规聚合 1356.1.2 移位 1376.1.3 拉合 1376.2 散发 1386.2.1 原子散发 1396.2.2 排列散发 1396.2.3 归并散发 1396.2.4 优先散发 1406.3 将散发转换为聚合 1406.4 打包 1416.5 映射和打包的融合 1426.6 几何分解和分区 1436.7 结构的数组和数组的结构 1456.8 小结 148第7章 模板和递推 1497.1 模板 1497.2 用移位实现模板 1517.3 针对缓存的分块式模板 1517.4 模板通信优化 1527.5 递推 1537.6 小结 155第8章 Fork-Join

封面

机械工业出版社计算机科学丛书结构化并行程序设计:高效计算模式

书名:机械工业出版社计算机科学丛书结构化并行程序设计:高效计算模式

作者:(日)迈克尔·麦库尔

页数:310

定价:¥89.0

出版社:机械工业出版社

出版日期:2017-06-01

ISBN:9787111600640

PDF电子书大小:56MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注