×
暂无评论
图文详情
  • ISBN:9787111684343
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:212
  • 出版时间:2021-06-01
  • 条形码:9787111684343 ; 978-7-111-68434-3

本书特色

化繁为简的OpenMP学习之旅!20余年教学经验精华+编程驱动模式+主动学习体验

内容简介

OpenMP日益增加的复杂性使其学习门槛不断升高,本书回归OpenMP zui初的设计哲学,提炼出大多数程序员常用的21项核心知识——称为OpenMP“通用核心”,为零基础读者搭建了从通用核心到OpenMP多线程编程的高效学习阶梯。本书由OpenMP技术专家撰写,内容涵盖并行计算的核心设计模式、共享工作循环构造、OpenMP数据环境、OpenMP任务和OpenMP内存模型等内容,采用编程驱动的方式,借助复杂性逐渐提高的实例来逐步引入新概念。此外,本书网站ompcore.com为读者免费提供各类代码示例和练习题。

目录

译者序
序言
前言
**部分 做好学习OpenMP的准备
第1章 并行计算 2
1.1 并行计算的基本概念 2
1.2 并发性的兴起 4
1.3 并行硬件 5
1.3.1 多处理器系统 5
1.3.2 图形处理单元 8
1.3.3 分布式内存集群 10
1.4 多处理器计算机的并行软件 10
第2章 性能语言 13
2.1 基础:FLOPS、加速比和并行效率 13
2.2 阿姆达尔定律 16
2.3 并行开销 17
2.4 强扩展与弱扩展 19
2.5 负载均衡 19
2.6 用roofline模型理解硬件 21
第3章 什么是OpenMP 23
3.1 OpenMP的历史 23
3.2 通用核心 25
3.3 OpenMP的主要组件 26
第二部分 OpenMP通用核心
第4章 线程和OpenMP编程模型 31
4.1 OpenMP概述 31
4.2 OpenMP 程序的结构 31
4.3 线程和fork-join模式 34
4.4 使用线程 38
4.4.1 SPMD设计模式 39
4.4.2 伪共享 43
4.4.3 同步 45
4.5 结束语 49
第5章 并行化循环 50
5.1 共享工作循环构造 51
5.2 组合式并行共享工作循环构造 53
5.3 归约 54
5.4 循环调度 56
5.4.1 静态调度 56
5.4.2 动态调度 57
5.4.3 选择一个调度 59
5.5 隐式栅栏和nowait子句 61
5.6 带有并行循环共享工作的Pi程序 63
5.7 一种循环级并行策略 64
5.8 结束语 66
第6章 OpenMP数据环境 67
6.1 缺省存储属性 68
6.2 修改存储属性 70
6.2.1 shared子句 70
6.2.2 private子句 72
6.2.3 firstprivate子句 73
6.2.4 default子句 74
6.3 数据环境的例子 74
6.3.1 数据作用域测试 75
6.3.2 曼德勃罗集的面积 76
6.3.3 重新审视Pi循环的例子 79
6.4 数组和指针 80
6.5 结束语 81
第7章 OpenMP任务 83
7.1 任务的必要性 83
7.2 显式任务 86
7.3 **个例子:薛定谔程序 87
7.4 single构造 88
7.5 使用任务 89
7.5.1 什么时候任务完成 90
7.6 任务的数据环境 91
7.6.1 任务的缺省数据作用域 91
7.6.2 利用任务重新审视链表程序 93
7.7 利用任务的基础设计模式 93
7.7.1 分而治之模式 95
7.8 结束语 99
第8章 OpenMP内存模型 100
8.1 重新审视内存层次结构 101
8.2 OpenMP通用核心内存模型 103
8.3 使用共享内存 106
8.4 结束语 108
第9章 通用核心回顾 110
9.1 管理线程 111
9.2 共享工作构造 111
9.3 组合式并行共享工作循环构造 113
9.4 OpenMP任务 113
9.5 同步和内存一致性模型 114
9.6 数据环境子句 115
9.7 归约子句 116
9.8 环境变量和运行时库例程 117
第三部分 超越通用核心
第10章 超越通用核心的多线程 121
10.1 用于OpenMP通用核心构造的附加子句 121
10.1.1 并行构造 122
10.1.2 共享工作循环构造 124
10.1.3 任务构造 129
10.2 通用核心中缺失的多线程功能 133
10.2.1 threadprivate 133
10.2.2 master 135
10.2.3 atomic 136
10.2.4 OMP_STACKSIZE 137
10.2.5 运行时库例程 138
10.3 结束语 140
第11章 同步和OpenMP内存模型 141
11.1 内存一致性模型 142
11.2 成对同步 146
11.3 锁以及如何使用它 151
11.4 C++内存模型和OpenMP 153
11.5 结束语 156
第12章 超越OpenMP通用核心的硬件 157
12.1 非统一内存访问系统 158
12.1.1 在NUMA系统上工作 159
12.1.2 嵌套并行构造 168
12.1.3 检查线程亲和力 171
12.1.4 小结:线程亲和力和数据局部性 173
12.2 SIMD 173
12.3 设备构造 180
12.4 结束语 184
第13章 继续OpenMP的学习 186
13.1 来自ARB的程序员资源 186
13.2 如何阅读OpenMP规范 188
13.2.1 带有所有正式术语的OpenMP 188
13.3 OpenMP规范的结构 191
13.4 结束语 193
术语表 194
展开全部

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航