第一篇 多核处理器 1
第1章 多核处理器概述 1
1.1多核处理器的概念 1
1.2多核处理器的关键技术 2
1.2.1核心结构的选择 2
1.2.2片上通信技术 3
1.2.3多核与I/O结构 3
1.2.4存储结构设计 4
1.2.5程序执行模型 4
1.2.6功率和热管理 5
1.2.7操作系统设计 5
1.3多核处理器的发展趋势 5
第2章 多核处理器的分类 7
2.1同构多核处理器与编译技术 7
2.1.1同构多核处理器的概念 7
2.1.2 GPU同构多核处理器 7
2.2异构多核处理器与编译技术 8
2.2.1异构多核处理器的概念 8
2.2.2 Cell异构多核处理器 9
2.3本章小结 15
第二篇 并行编程模型及并行构件 16
第3章 OpenMP并行编程模型 16
3.1 OpenMP的基本概念 16
3.1.1执行模式 16
3.1.2 OpenMP编程要素 17
3.2 OpenMP编程 19
3.2.1并行区域管理 19
3.2.2任务分配 21
3.2.3同步 25
3.2.4数据环境控制 27
3.3本章小结 31
第4章 MPI并行编程模型 32
4.1 MPI函数 32
4.2 MPI消息 33
4.3 MPI通信 34
4.4本章小结 38
第5章 CUDA并行编程模型 39
5.1 CUDA简介 39
5.2 CUDA架构 39
5.3 CUDAC语言 41
5.4 CUDA编程模式 42
5.5 CUDA存储器组织 42
5.6 CUDA执行模式 44
5.7本章小结 44
第6章 OpenCL编程模型 45
6.1 OpenCL简介 45
6.2 OpenCL架构 45
6.2.1 OpenCL平台模型 45
6.2.2 OpenCL内存模型 46
6.2.3 OpenCL执行模型 46
6.2.4 OpenCL程序模型 47
6.3本章小结 47
第7章 并行构件 48
7.1构件技术 48
7.1.1构件定义 48
7.1.2国内外并行构件技术的相关研究 49
7.2 CCA简介 50
7.2.1 CCA概述 50
7.2.2 CCA的内容 52
7.2.3 CCA的特点 52
7.2.4 CCA的构件框架 53
7.2.5 CCA框架组建程序的过程 54
7.3 CCA并行构件编程环境 55
7.3.1 Bocca简介 55
7.3.2 Babel简介 56
7.3.3 Ccaffeine简介 57
7.3.4 SIDL简介 58
7.3.5 CCA并行构件程序设计过程 60
第三篇 异构多核处理器上支持任务并行模型 62
第8章 Cell异构多核上任务模型的关键技术 62
8.1 OpenMP任务模型出现的必然 62
8.2 Cell异构多核上任务模型的关键技术 64
8.3主要工作 65
第9章 国内外研究现状 68
9.1 OpenMP任务并行模型 68
9.1.1任务结构 68
9.1.2任务描述 68
9.1.3任务调度 69
9.2任务的调度策略 70
9.2.1 Intel的TBB 70
9.2.2 Cilk架构 71
9.2.3 IBM的XLC编译器 73
9.2.4 OpenUH编译器 74
9.2.5 GCC编译器 75
9.2.6 Nanos运行时库 76
9.3非规则内存访问优化技术 77
9.3.1非规则应用的研究现状 78
9.3.2 Cell处理器上软件cache的研究现状 79
9.4任务生成控制策略 83
9.4.1编译器控制的任务粒度策略 84
9.4.2定值的任务剪枝策略 84
9.4.3自适应任务粒度控制策略 85
第10章 Cell异构多核上OpenMP3.0的混合任务调度策略 88
10.1问题描述及常见调度策略的比较 88
10.1.1问题描述 88
10.1.2常见任务调度策略的比较 88
10.2混合调度策略的设计 90
10.2.1任务结构 90
10.2.2任务队列结构 91
10.2.3主要接口设计 94
10.3混合调度策略的执行过程 95
10.3.1任务生成 95
10.3.2任务窃取 96
10.3.3任务同步 97
10.3.4任务完成 98
10.4本章小结 99
第11章 Cell架构上优化非规则访存的自适应软件cache模型 100
11.1问题描述及分析 100
11.2自适应软件cache行算法 101
11.2.1自适应软件cache行算法及描述 101
11.2.2算法图示 103
11.2.3直接缓冲 104
11.3混合行大小的cache结构设计 105
11.4混合行大小cache的操作模型 108
11.4.1混合行大小cache的主要接口设计 108
11.4.2混合行大小cache的具体操作模型 109
11.5本章小结 112
第12章 Cell架构上优化任务粒度的自适应任务生成控制策略 113
12.1问题描述及分析 113
12.2自适应任务生成控制策略的设计 115
12.2.1任务结构 115
12.2.2任务队列结构 115
12.3自适应任务生成控制策略的执行过程 115
12.3.1任务生成 116
12.3.2任务窃取 117
12.3.3任务同步 118
12.3.4任务完成 118
12.4自适应任务生成控制策略的整体架构 118
12.5自适应任务生成控制策略的实例 120
12.6本章小结 123
第13章 基于CCA的构件程序设计 124
13.1 SIDL文件的生成 124
13.2服务端构件的实现 126
13.3客户端构件的实现 126
13.4扩展支持OpenMP并行编程模型 128
13.5本章小结 128
参考文献 129