中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)并行编译简介

中国科学技术大学计算机科学与技术系 UST University of Science and Technology of China DEPARTMENT DF COMPUTER SCIENCE AND TECHNOLOOY 并行编译简介 并行编译器的组成及任务 数据依赖关系 循环的向量化与并行化 国家高性能计算中心(合肥) 2021/1/28 2
国家高性能计算中心(合肥) 2 2021/1/28 并行编译简介 ▪ 并行编译器的组成及任务 ▪ 数据依赖关系 ▪ 循环的向量化与并行化

中国科学技大学计算机科学与技术系 University of Science and Technology of China DEPARTMENT OF COMPUTER SCIENCE AND TECHNOLOOY 并行编译器的组成及任务 源代码 数据依赖与控制依赖关系分析 程序分析 数据流分析 程序优化包括循环向量化与并行化在内的 各种优化 并行代码生成并行语义识别,处理指令级并行 调度 向量机: 共享存储多机系统: 分布存储多机系统: 组织向量循环 任务划分 数据和计算分布 ·寄存器分配 处理机调度 通信 ·流水线调度 同步 同步 国家高性能计算中心(合肥) 2021/1/28 3
国家高性能计算中心(合肥) 3 2021/1/28 并行编译器的组成及任务 源代码 程序分析 程序优化 并行代码生成 向量机: •组织向量循环 •寄存器分配 •流水线调度 共享存储多机系统: •任务划分 •处理机调度 •同步 分布存储多机系统: •数据和计算分布 •通信 •同步 数据依赖与控制依赖关系分析 数据流分析 包括循环向量化与并行化在内的 各种优化 并行语义识别,处理指令级并行 调度

UST 中国科学技大学计算机科学与技术系 University of Science and Technology of China DEPARTMENT OF COMPUTER SCIENCE AND TECHNOLOOY 数据依赖关系 Def1:语句S和T,若存在变量使之满足下述条件之一, 则称语句T依赖于语句S,记为ST,否则S和T之间没有 数据依赖关系: (1)流依赖:ST,若X∈OUT(S)且∈IN(T) 且T使用S计算出的X的值;工流依赖于S; (2)反依赖:SaT,若x∈IN(S)且x∈OUT(T) 但S使用值先于T对x的定值;工反依赖于S; (3)输出依赖:δT,若x∈OUT(S)且 x∈OUT(T)但S较之先对进行定值; T输出依赖于S; 国家高性能计算中心(合肥) 2021/1/28
国家高性能计算中心(合肥) 4 2021/1/28 数据依赖关系 ▪ Def1: 语句S和T,若存在变量x使之满足下述条件之一, 则称语句T依赖于语句S,记为S T,否则S和T之间没有 数据依赖关系: (1)流依赖 : S f T,若xOUT(S)且 xIN(T) 且T使用S计算出的x的值;T流依赖于S; (2)反依赖 : S a T,若xIN(S)且 xOUT(T) 但S使用x值先于T对x的定值;T反依赖于S; (3)输出依赖 : S o T,若xOUT(S)且 xOUT(T)但S较之T先对x进行定值; T输出依赖于S;

UST 中国科学技术大学计算机科学与技术系 University of Science and Technology of China DEPARTMENT OF COMPUTER SCIENCE AND TECHNOLOGY 依赖关系示例 e.g.考虑语句序列: S: A=B+D IN: BD, OUT: A T: C= A* 3 IN: A, OUT:C U: A=A+ IN: AC, OUT: A V: E=A/2 IN: A, OUT: E tof U UU 国家高性能计算中心(合肥) 2021/1/28 5
国家高性能计算中心(合肥) 5 2021/1/28 e.g. 考虑语句序列: S : A = B + D T : C = A * 3 U : A = A + C V : E = A / 2 依赖关系示例 IN: B D ,OUT:A IN: A ,OUT:C IN: A C ,OUT:A IN: A ,OUT:E S f T S f U S o U T f U T a U U f V

中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD 依赖关系示例 eg.循环语句: S(1):A[1]=B[3]+1 for i= 1 to 100 do T(1):B[1]=A[0]-1 s:A[j]=B[i+2]+1:5(2):A[2]=B4]+1 T:]=A[i1]-1;T2:2]=A[-1 end for S(3):A[3]=B[5]+1 T(3):B[3]=A[2]-1 依赖关系 S(100):A[100]=B[102]+1 sfT T(100):B[100]=A[99]-1 SSaT 国家高性能计算中心(合肥) 2021/1/28
国家高性能计算中心(合肥) 6 2021/1/28 依赖关系示例 e.g. 循环语句: for i = 1 to 100 do S : A[i] = B[ i+2] + 1; T : B[i] = A[i-1] – 1; end for S(1) : A[1] = B[3] + 1 T(1) : B[1] = A[0] – 1 S(2) : A[2] = B[4] + 1 T(2) : B[2] = A[1] – 1 S(3) : A[3] = B[5] + 1 T(3) : B[3] = A[2] – 1 . . . S(100) : A[100] = B[102] + 1 T(100) : B[100] = A[99] – 1 f a 依赖关系: S f T S a T

中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT DF COMPUTE三巴 ENCE AND ECHNOLDD 数据依赖关系 Def2:语句5和T在循环L中。如果5的实例S(和T的实例T(j)以 及变量u∈S,变量ν∈T,满足: (1)u和V至少有一个是输出变量; (2)u∈S(和变量Ⅴ∈T()表示同一个存篇单元M (3)在L的顺序执行中,S()先于T( (4)在L的顺序执行中,S()之间T()没有其他对M的写操作; 则u、V引起T依赖于5,即5δ千,称为T)依赖于S(), 其 中: 流依赖:u∈OUT(S),V∈IN(T 反依赖:u∈IN(S),∈OUT(T 输出依赖:u∈OUT(S),V∈OUT(T T对5的依赖即为满足上述条件的偶对(S().T()的集合。 国家高性能计算中心(合肥) 2021/1/28
国家高性能计算中心(合肥) 7 2021/1/28 数据依赖关系 ▪ Def2:语句S和T在循环L中。如果S的实例S(i)和T的实例T(j)以 及变量uS,变量v T,满足: (1)u和v至少有一个是输出变量; (2)uS(i)和变量v T(j)表示同一个存储单元M (3)在L的顺序执行中,S(i)先于T(j) (4)在L的顺序执行中, S(i)之间T(j)没有其他对M的写操作; 则u、v引起T依赖于S,即S T,称为T(j)依赖于S(i), 其 中: 流依赖: u OUT(S) , v IN(T) 反依赖: u IN(S) , v OUT(T) 输出依赖:u OUT(S) , v OUT(T) T 对S的依赖即为满足上述条件的偶对(S(i),T(j))的集合

中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD 依赖距离和依赖向量 令x=(x1x2…,xn)和β=(31,32…,3D是n层循环内的n个整数 下标向量,假定α和β存在数据相关性,则依赖距离向量 ( Dependent Distance Vector)D=①D1D2…,D)定义为 β-αx;而依赖方向向量( Dependent Direction Vector)d (d1d2;…d)定义为: 或1 或0 >.> 或-1 国家高性能计算中心(合肥) 2021/1/28 8
国家高性能计算中心(合肥) 8 2021/1/28 依赖距离和依赖向量 ▪ 令α=(α1 ,α2 ,…,αn ) 和β=(β1 ,β2 ,…,βn )是n层循环内的n个整数 下标向量,假定α和β存在数据相关性,则依赖距离向量 (Dependent Distance Vector)D = (D1 ,D2 ,…,Dn )定义为 β-α;而依赖方向向量(Dependent Direction Vector)d = (d1 ,d2 ,…,dn )定义为: i i i i i i i α >β 或 1 或 0 或 -1

中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD 例如,有如下的三层循环嵌套: for i= 1, to u do for j=l2 to u2 do for k=l3 to u, do A(i+l,k-1=A(1,j,k)+C endfor endfor endfor 则数组A的三维迭代之间的相关距离向量D=(+1-ij-jk-1 k)=(1,0,-1)和相关方向向量=(,=,>)。 相关方向向量对计算循环体间相关性十分有用,其相关性是通过相关 方向向量不是”=”号的外层循环传递的;相关距离向量指明在同 存储单元的两次访问之间循环迭代的实际距离。它们对开发并 行性或优化存储器层次结构时起到指引作用。 国家高性能计算中心(合肥) 2021/1/28
国家高性能计算中心(合肥) 9 2021/1/28 例如,有如下的三层循环嵌套: for i = l1 to u1 do for j = l2 to u2 do for k = l3 to u3 do A(i + 1, j, k – 1) = A(i, j, k) + C endfor endfor endfor 则数组A的三维迭代之间的相关距离向量D = (i + 1 – i, j – j, k – 1 – k ) = (1, 0, -1)和相关方向向量= ()。 相关方向向量对计算循环体间相关性十分有用,其相关性是通过相关 方向向量不是”= ”号的外层循环传递的;相关距离向量指明在同 一存储单元的两次访问之间循环迭代的实际距离。它们对开发并 行性或优化存储器层次结构时起到指引作用

中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT。 F COMPUTE三巴 ENCE AND ECHNOLDD 语句依赖图和送代依赖图 语句依赖图一依赖关系δ的有向图。将语句,如S和T, 看成结点,若有SδT,则: 间接依赖关系-δ,即依赖关系δ的传递闭包。 若SδT,则在语句依赖图中存在S到T的一条路径。 迭代依赖图一即(循环)迭代之间的依赖关系。在循环 L中,若语句T依赖于语句S,即SδT。令S(和T()是满 足依赖关系的偶对,S①δT①,此时应该有I≤J。在I< 时,称迭代H①依赖于迭代H①,记为H①δH①)。 国家高性能计算中心(合肥) 2021/1/28 10
国家高性能计算中心(合肥) 10 2021/1/28 语句依赖图和迭代依赖图 ▪ 语句依赖图-依赖关系的有向图。将语句,如S和T, 看成结点,若有S T,则: 间接依赖关系- ,即依赖关系的传递闭包。 若S T,则在语句依赖图中存在S到T的一条路径。 ▪ 迭代依赖图-即(循环)迭代之间的依赖关系。在循环 L中,若语句T依赖于语句S,即S T。令S(I)和T(J)是满 足依赖关系的偶对,S(I) T(J),此时应该有I≤J。在I<J 时,称迭代H(J)依赖于迭代H(I),记为H(I) H(J)。 - S T -

中图种学学计算机科学与术系 University of Science and Technology of China DEPARTMENT DF COMPUTE三巴 ENCE AND ECHNOLDD 语勺保赖示例 有如下循环语句: for i= 4 to 200 do S:A()=B()+c() T:B(i+2)=A(-1)+A(-3)+c(-1) U:A(i+1)=B(2*i+3)+1 endfor 各语句间依赖关系如何呢? 国家高性能计算中心(合肥) 2021/1/28
国家高性能计算中心(合肥) 11 2021/1/28 语句依赖图示例 有如下循环语句: for i = 4 to 200 do S: A(i) = B(i) + c(i) T: B(i+2) = A(i-1) + A(i-3) + C(i-1) U: A(i+1) = B(2*i+3) + 1 endfor 各语句间依赖关系如何呢?
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)抽象数据类型 Abstract Data Types.ppt
- 《数据结构》课程教学资源:课程教学资源(PPT课件讲稿)第九章 查找表.ppt
- 东南大学:《数据结构》课程教学资源(PPT课件讲稿)动态规划.pptx
- 上海交通大学:Mining Massive Datasets(PPT讲稿).ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第一章 概述(谢希仁).ppt
- 北京航空航天大学:《数据挖掘——概念和技术(Data Mining - Concepts and Techniques)》课程教学资源(PPT课件讲稿)Chapter 03 Data Preprocessing.ppt
- 《数字图象处理》课程教学资源(PPT课件讲稿)第七章 邻域运算.ppt
- 上海交通大学:《编译器构造》课程教学资源(PPT讲稿,马融)Compiler.pptx
- 《软件工程 Software Engineering》教学资源:课程教学大纲.pdf
- 沈阳理工大学:《单片机C语言应用程序设计》课程PPT教学课件(单片机C语言编程)04 C51编程设计(廉哲).pptx
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)傅里叶分析与卷积 Fourier Analysis and Convolution.pptx
- 北京科技大学:物联网知识体系和学科建设(PPT讲稿,王志良).ppt
- 香港理工大学:Discovering Classification Rules.ppt
- 《软件质量与测试》课程教学资源(PPT大纲课件,目录版).pptx
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第七章 高级汇编语言技术(主讲:李敬兆).ppt
- 《Vb程序设计教程》课程教学资源(PPT课件讲稿)第三章 VB语言基础.pps
- 吉林大学:《C语言》课程教学资源(PPT课件讲稿)第6章 利用数组处理批量数据.ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第4章 处理器(CPU).ppt
- 北京大学:人工神经网络(PPT课件讲稿)Artificial Neural Networks,ANN.ppt
- 西安电子科技大学:《神经网络与模糊系统》课程教学资源(PPT课件讲稿)Chapter 6 结构和平衡 Architecture and Equilibria.ppt
- 《单片机原理及应用》课程教学资源(PPT课件讲稿)第6章 AT89S52单片机的串行口.ppt
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第4章 循环控制.ppt
- 上海交通大学:《通信网络》课程PPT教学课件(Communication Networks)Introduction(主讲:叶通).pptx
- 北京师范大学:《多媒体技术基础》课程教学资源(PPT课件讲稿)第二章 数字图像(曾兰芳).ppt
- 利用EXCEL进行数据分析与图表处理(PPT讲稿).pptx
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第9章 模块化开发.ppt
- 《计算科学基础研究》课程教学资源(PPT课件讲稿)类的定义.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第九章 机器无关的优化(赵建华).ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)第一章 电子商务基础知识(主讲:贾朝辉).pptx
- 《操作系统》课程教学资源(PPT课件讲稿)内存管理 Memory Management.ppt
- 沈阳理工大学:《大学计算机基础》课程教学资源(PPT课件讲稿)第3章 编辑排版软件(Microsoft Word 2000).pps
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第4章 算法控制结构.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 上海交通大学:《数字图像处理 Digital Image Processing》课程教学资源(PPT课件讲稿,第三版)Chapter 12 Object Recognition.pptx
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 01 From C to C++.ppt
- 《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一讲 绪论.ppt
- 《计算机网络安全技术》课程教学资源(PPT课件讲稿)第五章 防火墙技术.ppt
- 《软件测试 Software Testing》教学资源(PPT讲稿)Part 2 Testing Fundamentals.ppt
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第2章 数据类型及基本运算量.ppt
- Flexsim 初级培训讲义(PPT讲稿)Flexsim Basic Training.ppt