-
内容大纲
随着技术的不断演化,OpenMP已经从一种简洁的API发展成庞大且复杂的编程模型,从而变得难以学习和应用。本书回归OpenMP最初的设计哲学,提炼出大多数程序员最常用的21项核心知识——称为OpenMP“通用核心”,为零基础读者搭建了从通用核心到OpenMP多线程编程的高效学习阶梯。
本书涵盖并行计算的核心设计模式、共享工作循环构造、OpenMP数据环境、OpenMP任务和OpenMP内存模型等内容,采用编程驱动的方式,借助复杂性逐渐提高的实例来逐步引入新概念。此外,本书网站ompcore.com不断更新,为读者免费提供各类代码示例和练习题。 -
作者介绍
-
目录
译者序
序言
前言
第一部分 做好学习OpenMP的准备
第1章 并行计算
1.1 并行计算的基本概念
1.2 并发性的兴起
1.3 并行硬件
1.3.1 多处理器系统
1.3.2 图形处理单元
1.3.3 分布式内存集群
1.4 多处理器计算机的并行软件
第2章 性能语言
2.1 基础:FLOPS、加速比和并行效率
2.2 阿姆达尔定律
2.3 并行开销
2.4 强扩展与弱扩展
2.5 负载均衡
2.6 用roofline模型理解硬件
第3章 什么是OpenMP
3.1 OpenMP的历史
3.2 通用核心
3.3 OpenMP的主要组件
第二部分 OpenMP通用核心
第4章 线程和OpenMP编程模型
4.1 OpenMP概述
4.2 OpenMP 程序的结构
4.3 线程和fork-join模式
4.4 使用线程
4.4.1 SPMD设计模式
4.4.2 伪共享
4.4.3 同步
4.5 结束语
第5章 并行化循环
5.1 共享工作循环构造
5.2 组合式并行共享工作循环构造
5.3 归约
5.4 循环调度
5.4.1 静态调度
5.4.2 动态调度
5.4.3 选择一个调度
5.5 隐式栅栏和nowait子句
5.6 带有并行循环共享工作的Pi程序
5.7 一种循环级并行策略
5.8 结束语
第6章 OpenMP数据环境
6.1 缺省存储属性
6.2 修改存储属性
6.2.1 shared子句
6.2.2 private子句
6.2.3 firstprivate子句
6.2.4 default子句
6.3 数据环境的例子
6.3.1 数据作用域测试
6.3.2 曼德勃罗集的面积
6.3.3 重新审视Pi循环的例子
6.4 数组和指针
6.5 结束语
第7章 OpenMP任务
7.1 任务的必要性
7.2 显式任务
7.3 第一个例子:薛定谔程序
7.4 single构造
7.5 使用任务
7.5.1 什么时候任务完成
7.6 任务的数据环境
7.6.1 任务的缺省数据作用域
7.6.2 利用任务重新审视链表程序
7.7 利用任务的基础设计模式
7.7.1 分而治之模式
7.8 结束语
第8章 OpenMP内存模型
8.1 重新审视内存层次结构
8.2 OpenMP通用核心内存模型
8.3 使用共享内存
8.4 结束语
第9章 通用核心回顾
9.1 管理线程
9.2 共享工作构造
9.3 组合式并行共享工作循环构造
9.4 OpenMP任务
9.5 同步和内存一致性模型
9.6 数据环境子句
9.7 归约子句
9.8 环境变量和运行时库例程
第三部分 超越通用核心
第10章 超越通用核心的多线程
10.1 用于OpenMP通用核心构造的附加子句
10.1.1 并行构造
10.1.2 共享工作循环构造
10.1.3 任务构造
10.2 通用核心中缺失的多线程功能
10.2.1 threadprivate
10.2.2 master
10.2.3 atomic
10.2.4 OMP_STACKSIZE
10.2.5 运行时库例程
10.3 结束语
第11章 同步和OpenMP内存模型
11.1 内存一致性模型
11.2 成对同步
11.3 锁以及如何使用它
11.4 C++内存模型和OpenMP
11.5 结束语
第12章 超越OpenMP通用核心的硬件
12.1 非统一内存访问系统
12.1.1 在NUMA系统上工作
12.1.2 嵌套并行构造
12.1.3 检查线程亲和力
12.1.4 小结:线程亲和力和数据局部性
12.2 SIMD
12.3 设备构造
12.4 结束语
第13章 继续OpenMP的学习
13.1 来自ARB的程序员资源
13.2 如何阅读OpenMP规范
13.2.1 带有所有正式术语的OpenMP
13.3 OpenMP规范的结构
13.4 结束语
术语表
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...