内容简介
本书论述并行编译系统设计和实现的方法。概述并行处理与并行编译系统的功能、结构,简要介绍并行程序设计语言,重点论述并行编译方法,包括依赖关系分析、程序并行化、并行编译和并行运行库技术。 本书的是并行计算机的研制和应用人员,是研究并行编译系统和并行程序设计语言的科技人员和相应专业的研究生。
目录
第1章 并行处理与并行编译系统 1. 1 并行处理 1. 1. 1 并行体系结构 1. 1. 2 并行软件系统 1. 1. 3 并行程序设计 1. 2 并行编译系统 1. 2. 1 功能 1. 2. 2 结构 1. 2. 3 编译方法 1. 2. 4 发展趋势 第2章 并行程序设计语言 2. 1 向量语言 2. 1. 1 向量数据结构 2. 1. 2 向量操作 2. 1. 3 向量化指导命令 2. 2 共享存储器并行机并行语言 2. 2. 1 多任务机制 2. 2. 2 PCF Fortran并行语言 2. 3 分布存储器并行机数据并行语言 2. 3. 1 并行数据结构 2. 3. 2 并行任务 2. 3. 3 同步通信 2. 4 消息传递并行程序设计机制 2. 4. 1 MPI支持的并行模式 2. 4. 2 基本函数 2. 4. 3 通信函数 2. 4. 4 组和通信器的管理 2. 4. 5 通用数据类型 2. 4. 6 应用程序拓扑 第3章 依赖关系分析 3. 1 依赖关系概念 3. 1. 1 基础知识 3. 1. 2 控制依赖关系 3. 1. 3 数据依赖关系 3. 2 数据依赖关系分析 3. 2. 1 依赖关系问题 3. 2. 2 依赖关系测试 3. 3 单层循环中的依赖关系测试 3. 3. 1 测试算法 3. 3. 2 近似测试算法 3. 4 嵌套循环中的依赖关系测试 3. 4. 1 嵌套循环中的依赖关系 3. 4. 2 广义gcd测试 3. 4. 3 边界法测试算法 3. 4. 4 消去法测试算法 第4章 程序并行化技术 4. 1 程序向量化和并行化 4. 1. 1 向量化 4. 1. 2 并行化 4. 2 简单变换 4. 2. 1 归约变量替换 4. 2. 2 递归下标消除 4. 2. 3 标量和数组扩张 4. 2. 4 标量和数组私有化 4. 2. 5 语句重排 4. 2. 6 语句分裂和循环分裂 4. 2. 7 循环展开 4. 2. 8 循环联合 4. 2. 9 模式匹配 4. 2. 10 循环多版本 4. 2. 11 非循环代码并行化 4. 3 循环分布 4. 4 循环合并 4. 5 循环分段和循环分块 4. 6 循环散布 4. 7 循环结合 4. 8 循环置换 4. 8. 1 循环置换方法 4. 8. 2 用循环置换实现并行化 4. 8. 3 循环上下界计算 4. 9 幺模变换 4. 9. 1 初等变换 4. 9. 2 内层循环并行化 4. 9. 3 外层循环并行化 4. 9. 4 循环上下界计算 4. 10 余数变换 4. 10. 1 单层循环变换 4. 10. 2 GCD变换 4. 10. 3 梯阵变换 4. 10. 4 圈收缩 第5章 并行编译技术 5. 1 向量语言编译技术 5. 1. 1 向量语法处理 5. 1. 2 向量结构优化 5. 2 共享存储器并行机并行编译技术 5. 2. 1 预编译 5. 2. 2 可再人的目标代码 5. 3 处理机分配 5. 3. 1 处理机分配问题 5. 3. 2 处理机分配算法 5. 4 分布数据的地址计算 5. 4. 1 分布数据的地址计算问题 5. 4. 2 分布数组的地址计算 5. 4. 3 分布数组的映射函数 5. 5 并行循环迭代分布 5. 5. 1 并行循环迭代分布问题 5. 5. 2 并行循环迭代分布算法 5. 6 通信优化 5. 6. 1 通信优化问题 5. 6. 2 减少通信 5. 6. 3 隐藏通信 5. 6. 4 通信并行化 第6章 并行运行库技术 6. 1 并行任务控制机制 6. 1. 1 任务调度 6. 1. 2 负载平衡 6. 2 同步互斥机制 6. 2. 1 锁与临界区 6. 2. 2 事件与障碍 6. 3 通信机制 6. 3. 1 共享变量通信 6. 3. 2 点-点通信 6. 3. 3 全局通信 6. 4 共享存储器并行机并行运行库 6. 4. 1 宏任务并行机制 6. 4. 2 编译器和操作系统的支持 6. 4. 3 宏任务库的实现 6. 5 分布存储器并行机并行运行库 6. 5. 1 MPICH总体结构 6. 5. 2 MPICH关键数据对象分析 6.