出版时间:2012-8 出版社:东软电子出版社 作者:腾英岩 编 页数:166
内容概要
本教材按照多核程序开发流程的六个步骤:项目描述、可并行性分析、确定分解模式、设计并行算法、选取编程模型和程序优化展开,包括四章内容:
第1章简单回顾从流水线、超标量到并行计算对计算能力的提升,详细介绍了多线程技术以及目前多核处理器的架构和多核程序的设计方法。多核程序开发流程为初学者进行多核程序的设计与实现提供了一种有效的方法和思路。
第2章系统地介绍了Windows线程库。详细阐述了利用Windows多线程API创建线程、管理线程以及实现线程同步的方法。
第3章介绍了OpenMP编程模型的编程方法。包括OpenMP编译环境的搭建,OpenMP编译指导的使用,以及运行时库函数的功能等内容。
第4章首先介绍了衡量并行程序性能的指标,然后介绍如何利用Intel Parallel
Studio的工具测量程序得到其性能指标,以及找到程序瓶颈并改进程序的方法。
为了便于教师授课,我们提供了每章的电子课件,这些电子课件也融合了我们多核多线程技术课程讲授的教学方法和手段。
书籍目录
第1章多核程序设计基础
1.1计算能力的演进
1.2并行计算
1.2.1并行计算思想
1.2.2并行计算机的分类
1.3多线程技术
1.3.1线程概念回顾
1.3.2传统多线程
1.3.3同时多线程(SMT)
1.4多核处理器的架构与多核程序设计
1.5多核程序开发流程
1.5.1多核程序设计
1.5.2编程模型与实现
1.5.3性能调优
本章小结
习题
第2章Windows API多线程编程模型
导引项目: 生产者—消费者问题
2.1Windows线程库介绍
2.2Windows API的基本使用
2.2.1内核对象
2.2.2线程管理
2.2.3简单的例子
2.3Windows API的线程同步
2.3.1临界区
2.3.2事件
2.3.3信号量
2.4线程池
2.5生产者—消费者问题的实现
本章小结
习题
项目训练:Windows API多线程编程
模块一:基础模块
模块二:临界区模块
模块三:事件模块
模块四:信号量模块
第3章OpenMP多线程编程模型
目录导引项目:基于OpenMP的圆周率计算
3.1OpenMP编程简介
3.1.1OpenMP编程基础
3.1.2编译环境的搭建
3.2OpenMP的基本用法
3.2.1线程的创建
3.2.2针对for循环的并行化
3.3数据竞争
3.3.1数据的共享与私有化
3.3.2有效的数据规约
3.3.3线程同步
3.4线程的调度优化
3.4.1static调度策略
3.4.2dynamic调度策略
3.4.3guided调度策略
3.4.4runtime调度策略
3.4.5对比分析
3.5其他常用编译指导子句
3.5.1sections与section子句
3.5.2single子句
3.5.3master子句
3.6OpenMP的常用库函数
3.7OpenMP多线程程序的性能分析
3.7.1OpenMP并行化的开销
3.7.2负载均衡
3.7.3线程同步开销
3.8基于OpenMP的PI计算项目的实现
3.9求有限区间内素数个数的项目实现
本章小结
习题
项目训练:OpenMP多线程编程
模块一:基础模块
模块二:数值积分计算Pi值
模块三:Monte Carlo计算Pi值
第4章多核程序性能调优
导引项目:基于Intel Parallel Studio工具的质数个数查找调优
4.1并行化程序性能指标
4.1.1加速比和效率
4.1.2Amdahl定律
4.1.3粒度
4.1.4负载平衡
4.2Intel Parallel Studio工具
4.2.1Intel Parallel Studio概述
4.2.2Intel Parallel Composer
4.2.3Intel Parallel Inspector
4.2.4Intel Parallel Amplifier
4.3性能优化方法
4.3.1性能优化定义
4.3.2不同级别的性能优化
4.3.3性能优化循环
4.3.4并行应用性能优化方法
4.3.5常用优化方法
4.4多线程程序开发方法学
4.4.1程序开发及优化周期
4.4.2程序开发优化周期软件工具使用
4.4.3案例分析
4.5基于Intel Parallel Studio工具的质数
个数查找调优项目的实现
本章小结
习题
项目训练:多线程编程综合实践项目
附录1教学设计与实施方法
附录2英特尔认证介绍
图书封面
评论、评分、阅读与下载