商品详情
多核并行高性能计算
编者:雷洪,胡许冰
出版时间:2016-05
定价:49元
ISBN:978-7-5024-7249-8
内容简介
本书主要介绍共享内存并行编程语言OpenMP的基本原理,采用实例方式讲解在Fortran语言环境中OpenMP并行程序的编写和运行,并综合评述了高性能计算编程中遇到的常见问题和解决方案。本书面向实际应用,简洁易学,使读者能够亲身感受到并行计算的魅力。本书可以用作涉及高性能计算的理工科高年级本科生和研究生的并行计算课程的教材,也可以作为从事并行计算研究、设计和开发的教师和工程师的专业参考书。

目录
1 并行计算概论
1.1 多核CPU
1.2 并行计算与分布式计算
1.3 并行计算机的种类
1.3.1 CPU与存储器的连接方式
1.3.2 数据的通信方式
1.3.3 指令和数据之间的工作方式
1.4 并行编程模式
1.4.1 共享内存模式
1.4.2 消息传递模式
1.4.3 数据并行模式
1.5 OpenMP和MPI的特点
1.6 并行计算中常用概念
1.6.1 程序、线程、进程和超线程
1.6.2 单核编程和多核编程
1.6.3 多线程编程和多进程编程
1.6.4 并行算法评价
1.7 OpenMP多核编程
1.7.1 OpenMP历史
1.7.2 OpenMP特点
1.8 科学计算领域语言的选取
1.9 Fortran发展历史
1.9.1 Windows系统
1.9.2 Linux系统
1.9.3 Fortran程序的编译和执行
1.10 小结
练习题
2 OpenMP编程简介
2.1 编译指导语句
2.2 并行执行模式
2.2.1编译指导语句格式
2.2.2 主要指令
2.2.3 主要子句
2.2.4 指令和子句的配套使用
2.3 头文件
2.4 常用库函数
2.5 最简单的并行程序
2.6 小结
练习题
3 数据环境
3.1 PRIVATE子句和SHARED子句和DEFAULT子句
3.2 FIRSTPRIVATE子句和LASTPRIVATE子句
3.3 THREADPRIVATE子句
3.4 COPYIN子句和COPYPRIVATE子句
3.5 REDUCTION子句
3.6 伪共享
3.7 小结
练习题
4 并行控制
4.1 PARALLEL指令
4.2 设定线程数量
4.3 默认模式
4.4 静态模式
4.5 动态模式
4.6 嵌套模式与NUM_THREADS子句
4.7 IF子句(条件并行)
4.8 小结
练习题
5 并行构造
5.1 负载平衡
5.1.1 静态负载平衡
5.1.2 动态负载平衡
5.2 DO指令
5.2.1 循环依赖
5.2.2 单重循环
5.2.3 嵌套循环
5.2.4 循环工作量的划分与调度
5.3 SECTIONS指令
5.4 WORKSHARE指令
5.5 SINGLE指令
5.6 小结
练习题
6 线程同步
6.1 互斥锁机制
6.2 事件同步机制
6.3 BARRIER指令
6.4 NOWAIT指令
6.5 MASTER指令
6.6 CRITICAL指令
6.7 ATOMIC指令
6.8 ORDERED指令
6.9 FLUSH指令
6.10 小结
练习题
7 运行环境
7.1 环境变量
7.1.1 OMP_DYNAMIC
7.1.2 OMP_SCHEDULE
7.1.3 OMP_NUM_THREADS
7.1.4 OMP_NESTED
7.1.5 OMP_STACKSIZE
7.1.6 环境变量的设置方法
7.2 库函数
7.2.1 运行环境操作函数
7.2.2 OpenMP时间函数
7.2.3 Fortran常用时间函数
7.2.4 锁函数
7.3 小结
练习题
8 OpenMP3.0 新特征
8.1 任务
8.1.1 任务结构
8.1.2 任务特征
8.1.3 任务类别
8.1.4 任务同步
8.1.5 DO指令、SECTIONS指令和TASK指令
8.1.6 TASK指令与递归算法
8.2 DO指令和COLLAPSE子句
8.3 锁拥有者的变迁
8.4 小结
练习题
9 应用实例
9.1 循环的并行
9.1.1 单重循环
9.1.2 多维数组和嵌套循环
9.2 粗粒度的设置
9.2.1 IF子句
9.2.2 if语句
9.2.3 方案总结
9.3 全局变量和局部变量
9.3.1 common定义
9.3.2 module定义
9.3.3 全局变量、局部变量和共享变量、私有变量
9.3.4 私有变量和段错误
9.4 小结
练习题
10 高性能计算程序的实现途径
10.1 硬件条件和操作系统
10.2 科学问题算法的优化
10.2.1 数学模型
10.2.2 求解方法
10.3 串行程序的编写
10.4 常见的调试器
10.5 高性能程序的优化步骤
10.6 串行程序的正确性调试
10.6.1 程序的错误类型
10.6.2 计算程序中常见错误
10.6.3 静态安全检查
10.6.4 动态安全检查
10.6.5 IDBC串行调试
10.7 程序热点的确定
10.7.1编译器热点分析报告
10.7.2手动热点分析报告
10.8 串行程序的优化
10.8.1 循环变换
10.8.2 向量化
10.8.3 Intel Fortran常用优化策略
10.9 并行程序的优化
10.9.1 性能提升的预估
10.9.2 并行优化步骤
10.9.3 向导自动并行化(GAP)
10.9.4 优化技术
10.9.5 自动并行化
10.9.5 并行调试策略
10.9.6 idbc并行调试
10.10 小结
练习题
参考文献
附录
附录1 常用的Linux命令
附录2 Linux下的文本编辑器vi
附录3 Intel Fortran安装
附录4 常用的GDB命令
附录5 Linux环境下Intel Fortran常用编译方案
附录6 Intel Fortran常用编译开关
附录7 C和C++语言中OpenMP常见用法
- 冶金工业出版社图书旗舰店
- 冶金工业出版社,是国内历史最悠久的专业科技出版社之一。主要承担学术专著、技术著作、技术手册、专业辞书、大中专教材、职工培训教材、科普读物、人文社科、文集、史志、年鉴等图书的出版。
- 扫描二维码,访问我们的微信店铺