《多核架构与编程技术》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:武汉大学多核架构与编程技术课程组编著
  • 出 版 社:武汉:武汉大学出版社
  • 出版年份:2010
  • ISBN:9787307074521
  • 页数:211 页
图书介绍:本书涉及多核硬件和软件技术,主要包括多核体系架构及其并行编程技术。侧重论述了多核并行程序设计的基础理论和技术,详细介绍了多线程程序设计方法与常用的并行程序开发工具OpenMP,并结合Intel提供的软件调优工具介绍了多核程序设计的优化方法。

第1章 导论 1

1.1 微处理器 1

1.1.1 单核处理器 1

1.1.2 多核处理器 6

1.1.3 未来处理器的发展趋势 9

1.2 并行计算平台 10

1.2.1 并行计算机的发展历程 11

1.2.2 并行计算机系统的体系结构 12

1.2.3 并行计算机系统的性能指标 18

第2章 多核处理器架构与并行计算 23

2.1 单芯片多核处理器构架 23

2.1.1 多核芯片与处理器 23

2.1.2 多核单芯片架构 25

2.1.3 主流多核架构 25

2.1.4 多核架构性能问题 35

2.2 多核处理器及其外围芯片组 37

2.2.1 CPU外围的主板芯片组 37

2.2.2 嵌入式软件 39

2.2.3 EFI软件对多核芯片的支持 42

2.3 多核处理器的并行计算模型 43

2.3.1 微处理器中的并行计算 45

2.3.2 SIMD同步并行计算模型 46

2.3.3 MIMD异步并行计算模型 48

2.3.4 并行程序设计模型 49

第3章 多线程编程基础 51

3.1 多线程概念 51

3.1.1 何谓多线程 51

3.1.2 用户线程与内核线程 52

3.2 多线程模型与层次 53

3.2.1 多对一模型 53

3.2.2 一对一模型 53

3.2.3 多对多模型 53

3.2.4 多线程的层次 54

3.3 Windows多线程编程基础知识 56

3.3.1 基础知识 56

3.3.2 例程 58

3.4 多线程的同步及其编程 62

3.4.1 临界区同步 62

3.4.2 互斥量同步 67

3.4.3 信号量同步 69

3.4.4 事件同步 71

3.4.5 死锁问题 72

第4章 OpenMP多线程编程 76

4.1 OpenMP编程简介 76

4.1.1 OpenMP及其特点简介 76

4.1.2 OpenMP发展历史 77

4.2 OpenMP编程基础 78

4.2.1 OpenMP体系结构 78

4.2.2 fork-join并行模型 79

4.2.3 OpenMP编程 79

4.2.4 OpenMP指令库 81

4.2.5 指导语句作用域 83

4.2.6 主要编译指导语句 84

4.3 OpenMP编程实例及分析 90

4.3.1 OpenMP编程环境变量 90

4.3.2 常用指导语句用法 90

4.3.3 OpenMP实例分析比较 96

第5章 多核程序调试与性能优化 101

5.1 Intel C++编译器 101

5.1.1 Intel C++编译器简介 101

5.1.2 Intel C++编译器的调用 102

5.1.3 使用Intel C++编译器优化应用程序 105

5.2 Intel VTune性能分析器 107

5.2.1 Intel VTune性能分析器简介 107

5.2.2 Intel VTune性能分析器的使用 108

5.2.3 利用VTune性能分析器优化分析应用程序性能 116

5.3 线程检测器 118

5.3.1 线程检测器简介 118

5.3.2 线程检测器的使用 119

5.3.3 使用线程检测器查找应用程序的潜在问题 122

5.4 线程档案器 125

5.4.1 线程档案器简介 125

5.4.2 线程档案器的使用 125

5.4.3 线程档案器优化应用程序性能 131

第6章 高性能多核编程——IPP程序设计 133

6.1 IPP简介与使用 133

6.1.1 什么是Intel IPP 133

6.1.2 IPP与Intel其他组件的关系 135

6.1.3 IPP的安装 136

6.2 IPP编程技术基础 139

6.2.1 架构与接口 139

6.2.2 IPP基本编程方法 148

6.3 IPP编程实例 152

6.3.1 基于IPP的数字信号处理编程 152

6.3.2 基于IPP的数字图像处理编程 156

第7章 面向应用的多核编程工具 177

7.1 面向计算机视觉的多核编程工具——OpenCV 177

7.1.1 OpenCV的主要特点 177

7.1.2 OpenCV的主要功能 178

7.1.3 OpenCV的体系结构 178

7.1.4 基于OpenCV的应用程序的开发步骤与示例 180

7.2 面向检测自动化的多核编程工具——LabView 8.5 182

7.2.1 LabView 8.5简介 182

7.2.2 LabView多核编程示例 183

7.2.3 LabView多核应用示例 186

7.3 面向科学计算的多核编程工具——MATLAB分布式计算工具包 193

7.3.1 MATLAB分布式计算工具包简介 193

7.3.2 分布式计算工具包的主要功能 194

7.3.3 分布式计算工具包的基本编程 195

附录 Visual Studio配置说明 209

参考文献 211