基于MPI的并行编程技巧
第一章 引言 | 第1-13页 |
1.1 并行计算机系统体系结构 | 第8页 |
1.2 机群并行计算系统 | 第8-9页 |
1.3 并行计算机的软件 | 第9页 |
1.4 并行程序设计语言 | 第9-10页 |
1.5 消息传递接口 | 第10-13页 |
第二章 通讯 | 第13-33页 |
2.1 消息传递的冲突 | 第14-16页 |
2.2 MPI的解决办法 | 第16-17页 |
2.3 进程组与通讯子 | 第17-18页 |
2.3.1 高速缓存 | 第18页 |
2.3.2 进程拓扑 | 第18页 |
2.3.3 错误处理 | 第18页 |
2.4 点对点通讯 | 第18-26页 |
2.4.1 阻塞通讯 | 第20-21页 |
2.4.2 非阻塞通讯 | 第21-23页 |
2.4.3 阻塞与非阻塞的组合 | 第23页 |
2.4.4 通讯模式 | 第23-25页 |
2.4.5 持久通讯 | 第25-26页 |
2.5 集体通讯 | 第26-31页 |
2.5.1 全局同步 | 第26-27页 |
2.5.2 全局通讯 | 第27-29页 |
2.5.3 全局归约 | 第29-31页 |
2.6 数据类型 | 第31-33页 |
2.6.1 预设数据类型 | 第31-32页 |
2.6.2 派生数据类型 | 第32-33页 |
第三章 MPI与PVM的比较 | 第33-37页 |
3.1 不同的开发目的 | 第34页 |
3.2 可移植性及互操作性 | 第34页 |
3.3 进程组与通讯 | 第34-35页 |
3.4 任务的管理及分配与资源管理 | 第35页 |
3.5 容错机制 | 第35-36页 |
3.6 安全通讯和多线程 | 第36页 |
3.7 名字服务 | 第36-37页 |
第四章 基于MPI的并行程序编程技巧 | 第37-73页 |
4.1 程序Greetings | 第38-40页 |
4.2 SPMD并行程序 | 第40-41页 |
4.3 数据划分 | 第41-44页 |
4.4 负载平衡 | 第44-48页 |
4.5 派生数据类型 | 第48-53页 |
4.5.1 多种数据类型结构 | 第49-51页 |
4.5.2 不相连数据 | 第51-53页 |
4.6 同步迭代 | 第53页 |
4.7 避免死锁 | 第53-55页 |
4.8 非阻塞通讯 | 第55-56页 |
4.9 分布式数据交换 | 第56-57页 |
4.10 MPI测试 | 第57-58页 |
4.11 设定错误处理 | 第58-59页 |
4.12 N皇后问题 | 第59-67页 |
4.12.1 重复工作者 | 第60-61页 |
4.12.2 N皇后问题基于MPI的并行解之一 | 第61-64页 |
4.12.3 N皇后问题基于MPI的并行解之二 | 第64-67页 |
4.13 旅行售货员问题 | 第67-73页 |
4.13.1 旅行售货员问题基于MPI的并行解 | 第69-73页 |
第五章 结论 | 第73-74页 |
参考文献 | 第74-76页 |
致谢 | 第76-13页 |
图1 消息传递 | 第13-14页 |
图2 正常的消息传递 | 第14-15页 |
图3 不正常的消息传递 | 第15-16页 |
图4 MPI安全通讯 | 第16-20页 |
图5 MPI阻塞通讯 | 第20-22页 |
图6 MPI非阻塞通讯 | 第22-25页 |
图7 MPI持久通讯 | 第25-27页 |
图8 广播 | 第27-28页 |
图9 汇合 | 第28页 |
图10 散射 | 第28-29页 |
图11 归约 | 第29-30页 |
图12 全归约 | 第30-40页 |
图13 主从结构的SPMD | 第40-41页 |
图14 数据划分 | 第41-48页 |
图15 用多个消息来发送不同类型数据 | 第48页 |
图16 用一个消息来发送数据结构 | 第48-51页 |
图17 分割及合并方阵 | 第51-59页 |
图18 4个皇后 | 第59-60页 |
图19 重复工作者 | 第60-67页 |
图20 四城市交通图 | 第67-17页 |
表一 组内及组外通讯子比较 | 第17-24页 |
表二 阻塞与非阻塞通讯函数 | 第24-30页 |
表三 MPI预定的归约运算符号表 | 第30-31页 |
表四 C语言与MPI数据类型 | 第31-32页 |
表五 Fortran 77语言与MPI数据类型 | 第32-76页 |