中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD 第三章并行程序设计简介 3.1并行程序开发方法 311并行层次与代码粒度 312并行程序开发策略 313并行编程模式 314并行应用编程过程 3.2并行程序设计模型 321计算π样本程序 322数据并行模型 ■3.2.3消息传递模型 ■3.24共享变量模型 ■3.3并行编程语言和环境概述 331早期并行编程语言 332近代并行编程语言与环境 333并行说明性语言环境 ■3.4循环程序并行化的一般方法 341数据相关分析 342数据划分与处理器指派 343循环重构 国家高性能计算中心(合肥) 2021/2/1
国家高性能计算中心(合肥) 4 2021/2/1 第三章 并行程序设计简介 ▪ 3.1 并行程序开发方法 ▪ 3.1.1 并行层次与代码粒度 ▪ 3.1.2 并行程序开发策略 ▪ 3.1.3 并行编程模式 ▪ 3.1.4 并行应用编程过程 ▪ 3.2 并行程序设计模型 ▪ 3.2.1 计算π样本程序 ▪ 3.2.2 数据并行模型 ▪ 3.2.3 消息传递模型 ▪ 3.2.4 共享变量模型 ▪ 3.3 并行编程语言和环境概述 ▪ 3.3.1 早期并行编程语言 ▪ 3.3.2 近代并行编程语言与环境 ▪ 3.3.3 并行说明性语言环境 ▪ 3.4 循环程序并行化的一般方法 ▪ 3.4.1 数据相关分析 ▪ 3.4.2 .数据划分与处理器指派 ▪ 3.4.3 循环重构
中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD 并行层次与代码粒度 并行级别 消息 消息 代码粒度 任务级 任务主-1 任务主 任务i+1 粗粒度 func1o func2O funct 控制级 中粒度 数据级 a[1]= [2] b[0] b[1]= b[2]= 细粒度 指令级 甚细粒度 国家高性能计算中心(合肥) 2021/2/1
国家高性能计算中心(合肥) 5 2021/2/1 并行层次与代码粒度 func1() { ... } func2() { ... } func3() { ... } a[0]=... b[0]=... a[1]=... b[1]=... a[2]=... b[2]=... × 并行级别 消息 消息 任务级 控制级 数据级 指令级 代码粒度 粗粒度 中粒度 细粒度 甚细粒度 任务i-1 任务i 任务i+1 + /
中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD 并行层次 粒度(指令 数) 并行实施编程支持 几十条,如 甚细粒度指令级并行多指令发射、 内存交又余/硬件处理器 取 几百条,如 细粒度数据级并行循环指令块编译器 共享变量 几千条,如程序员(编共享变量、消 中粒度控制级并行过程、函数译器) 息传递 数万条,如 粗粒度任务级并行独立的作业操作系统消息传递 任务 国家高性能计算中心(合肥) 2021/2/1
国家高性能计算中心(合肥) 6 2021/2/1 并行层次 粒度(指令 数) 并行实施 编程支持 甚细粒度指令级并行 几十条,如 多指令发射、 内存交叉存 取 硬件处理器 细粒度数据级并行 几百条,如 循环指令块 编译器 共享变量 中粒度控制级并行 几千条,如 过程、函数 程序员(编 译器) 共享变量、消 息传递 粗粒度任务级并行 数万条,如 独立的作业 任务 操作系统 消息传递
中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD 并行程序开发策略 现有的串 有目的稍许 并行应 行源代码 修改源代码 自动并行化 用程序 (a)自动并行化 现有的串 行源代码 开发并行库 重新链接 并行应 用程序 b)并行库 现有的串 编译器支 并行应 行源代码 作重大修改 持并行化 用程序 (c)重新编写并行代码 国家高性能计算中心(合肥) 2021/2/1
国家高性能计算中心(合肥) 7 2021/2/1 并行程序开发策略 现有的串 行源代码 (a) 自动并行化 (b) 并行库 (c) 重新编写并行代码 有目的稍许 修改源代码 自动并行化 并行应 用程序 现有的串 行源代码 开发并行库 重新链接 并行应 用程序 现有的串 行源代码 作重大修改 编译器支 持并行化 并行应 用程序
中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT DF COMPUTE三巴 ENCE AND ECHNOLDD 并行編程模式 主-从式( Master-S|ave) 单程序多数据流( Single Program Multiple data) 数据流水线( Data Pipelining) 分治策略( Divide and Conquer) 国家高性能计算中心(合肥) 2021/2/1 8
国家高性能计算中心(合肥) 8 2021/2/1 并行编程模式 ▪ 主-从式(Master-Slave) ▪ 单程序多数据流(Single Program Multiple Data ) ▪ 数据流水线(Data Pipelining) ▪ 分治策略(Divide and Conquer)