并行计算 Parallel Computing

Slides:



Advertisements
Similar presentations
3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
Advertisements

台南市立後甲國中 訓導工作簡報 報告人:訓導主任 傅寶源 歡迎蒞臨指導. 訓導處是一個關懷學生生活問題、處理 學生生活事務的溫馨園地,舉凡生活常 規、安全防護、交通安全之教育,民主 法治、社團活動、訓育活動之訓練,衛 生習慣、飲食健康、預防疾病之培養, 體育活動,運動競賽、身心健康之鍛練, 均有專人專責為同學服務。
成 功 季羡林 广东顺德龙江中学 田乃林. 季羡林 (1911-) 语言学教育家和梵文学者。山东 清平 ( 今临清 ) 人。 1934 年毕业于清华大学西洋文学 系。 1941 年获德国格廷根大学哲学博士学位。 1946 年回国。后任北京大学教授、东方语言文学系主任、 副校长、校务委员会副主任、南亚东南业研究所所.
治癒肺癌 的妙方.
§2 线性空间的定义与简单性质 主要内容 引例 线性空间的定义 线性空间的简单性质 目录 下页 返回 结束.
中式料理 1-37組 蘇佳茜.
第五章 二次型. 第五章 二次型 知识点1---二次型及其矩阵表示 二次型的基本概念 1. 线性变换与合同矩阵 2.
情緒與壓力管理─背部舒緩 指導老師:彭易璟 第六組組員:會資三乙 499A0047 謝宛霖 會資三乙 499A0019 吳汶諭
第三章 函数逼近 — 最佳平方逼近.
第五章 策划用文体写作.
指導老師:楊淑娥 組別:第一組 成員:劉怡萱4a0i0066 吳珮瑜4a0i0070 林秋如4a0i0075 陳婉婷4a0i0076
組員:4A140013張瓊云 4A1I0039石宜芬 4A1I0909許峻綱 指導老師:王立杰老師
解放軍論壇 中共信息戰發展 對我國軍事戰略之影響.
专题五 高瞻远瞩 把握未来 ——信息化战争 主讲教师:.
图论算法 ---最大流问题 长沙市雅礼中学 朱 全 民.
第十章 现代秘书协调工作.
常用逻辑用语复习课 李娟.
小学生游戏.
数字系统设计及VHDL实践 专题五 专用集成电路 设计中的并行算法 主 讲 人:徐向民 单 位:电子信息学院.
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
指導老師:陳韻如 班級:幼保二甲 姓名:林靜宜 學號:4A0I0033
習作2-1 題目+解答 紐約港 紐約中央公園 格陵蘭島.
计算机操作系统 第二章 进程管理 高校教师、高级项目经理 任铄 QQ:
第2讲 绪论(二).
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2004年12月
并行编译简介.
李元金 计算机与信息工程学院 第 4 讲 进程管理(2) 李元金 计算机与信息工程学院 1/
并行计算 Parallel Computing
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2004年12月
习题解答.
计算机数学基础 主讲老师: 邓辉文.
实验四 组合逻辑电路的设计与测试 一.实验目的 1.掌握组合逻辑电路的设计 方法 2.学会对组合逻辑电路的测 试方法.
动态规划(Dynamic Programming)
本著作除另有註明外,採取創用CC「姓名標示-非商業性-相同方式分享」台灣2.5版授權釋出
使用矩阵表示 最小生成树算法.
无向树和根树.
C语言程序设计 主讲教师:陆幼利.
计算机算法基础 周中成 苏州科技学院应用数学系 2019/4/18.
顺序表的删除.
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2004年12月
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2004年12月
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2004年12月
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
iSIGHT 基本培训 使用 Excel的栅栏问题
用穷举法设计程序 南京师范大学 教育技术系 倪佳慧
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
抛物线的几何性质.
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
树和图 tree and graph 蔡亚星.
第七、八次实验要求.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
§2 方阵的特征值与特征向量.
动态规划 Floyd最短路径算法 高文宇
第四章 函数的 积分学 第七节 定积分的换元积分法     与分部积分法 一、定积分的换元积分法 二、定积分的分部积分法.
教学大纲(甲型,54学时 ) 教学大纲(乙型, 36学时 )
主讲人: 吕敏 { } Spring 2012 ,USTC 算法基础 主讲人: 吕敏 { } Spring 2012 ,USTC.
线性规划 Linear Programming
習作2-1 題目+解答 紐約港 紐約中央公園 格陵蘭島.
插入排序的正确性证明 以及各种改进方法.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第七章 搜索结构 东南大学计算机学院 方效林 本课件借鉴了清华大学殷人昆老师 和哈尔滨工业大学张岩老师的课件.
本节内容 1. 平衡二叉树的定义 2.平衡化旋转 3.平衡二叉排序树的插入操作 昆山爱达人信息技术有限公司
104學年度第二學期 燈音開課 03/14燈光開課.
最小生成树 最优二叉树.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
9.6.2 互补对称放大电路 1. 无输出变压器(OTL)的互补对称放大电路 +UCC
Presentation transcript:

并行计算 Parallel Computing 主讲人 孙广中 Spring, 2018 2019/5/11

第二篇 并行算法的设计 第五章 并行算法与并行计算模型 第六章 并行算法基本设计策略 第七章 并行算法常用设计技术 第八章 并行算法一般设计过程

第六章 并行算法基本设计策略 6. 1 串行算法的直接并行化 6. 1. 1 设计方法描述 6. 1. 2 快排序算法的并行化 6 第六章 并行算法基本设计策略 6.1 串行算法的直接并行化 6.1.1 设计方法描述 6.1.2 快排序算法的并行化 6.2 从问题描述开始设计并行算法 6.3 借用已有算法求解新问题

设计方法的描述 方法描述 评注 发掘和利用现有串行算法中的并行性,直接将串行算法改造为并行算法。 由串行算法直接并行化的方法是并行算法设计的最常用方法之一; 不是所有的串行算法都可以直接并行化的; 一个好的串行算法并不能并行化为一个好的并行算法; 许多数值串行算法可以并行化为有效的数值并行算法。

第六章 并行算法基本设计策略 6. 1 串行算法的直接并行化 6. 1. 1 设计方法描述 6. 1. 2 快排序算法的并行化 6 第六章 并行算法基本设计策略 6.1 串行算法的直接并行化 6.1.1 设计方法描述 6.1.2 快排序算法的并行化 6.2 从问题描述开始设计并行算法 6.3 借用已有算法求解新问题

快排序算法的并行化(1) SISD上的快排序算法6.1 end 输入:无序序列(Aq……Ar) 输出:有序序列(Aq……Ar) Procedure Quicrsort(A,q,r); Begin if q<r then (1) x=Aq (2) s=q (3) for i=q+1 to r do if Ai≤x then s=s+1 swap(As,Ai) end if endfor (4)swap(Aq,As) (5)Quicksort(A,q,s) (6)Quicksort(A,s+1,r) end if end 对于长度为n的序列,在最坏情况下的划分的两个子序别为n-1及1的长度、相应的运行时间为t(n)=t(n-1)+Θ(n),其解为t(n) =Θ(n2). 理想的情况是所划分的两个子序列等长,相应的运行时间为t(n)=2t(n/2)+Θ(n),其解为t(n)=Θ(nlogn).

快排序算法的并行化(2) 快排序的并行化 一种自然的并行化方法是并行地调用快排序对两个所划分的子序列进行快排序。这种方法并不改变串行算法本身的属性,很容易改成并行形式。但是,如果用n个PE排序n个数,若用一个PE将(A1……An)划分成(A1……As), (As+1……An)是不会得到成本最优算法的,因为单是划分时就有Ω(n),所以C(n)=p(n)t(n)=Ω(n2). 可见,只有将划分步并行化,才有可能得到成本最优算法. PRAM-CRCW上快排序算法 构造一棵二叉排序树,其中主元是根 小于等于主元的元素处于左子树,大于主元的元素处于右子树 其左、右子树分别也为二叉排序树

快排序算法的并行化(3) 算法6.2 APRAM-CRCW上的快排序二叉树构造算法 输入:序列(A1,…,An)和n个处理器 输出:供排序用的一棵二叉排序树 Begin (1)for each processor i par-do (2)repeat for each processor i<>root par-do (1.1)root=i if (Ai<Afi)∨(Ai=Afi∧i<fi) then (1.2)fi=root (2.1)LCfi=i (1.3)LCi=RCi=n+1 (2.2)if i=LCfi then exit else fi=LCfi endif end for else (2.3)RCfi=i (2.4)if i=RCfi then exit else fi=RCfi endif endif end repeat End 注:(1)Ai,LCi,RCi,root是SM变量;fi可以是LM变量; (2)时间为O(logn)

第六章 并行算法基本设计策略 6. 1 串行算法的直接并行化 6. 2 从问题描述开始设计并行算法 6. 2. 1 设计方法描述 6. 2 第六章 并行算法基本设计策略 6.1 串行算法的直接并行化 6.2 从问题描述开始设计并行算法 6.2.1 设计方法描述 6.2.2 有向环k着色算法的并行化 6.3 借用已有算法求解新问题

设计方法的描述 方法描述 评注 从问题本身描述出发,不考虑相应的串行算法,设计一个全新的并行算法。 挖掘问题的固有特性与并行的关系; 设计全新的并行算法是一个挑战性和创造性的工作; 利用串的周期性的PRAM-CRCW算法是一个很好的范例;

第六章 并行算法基本设计策略 6. 1 串行算法的直接并行化 6. 2 从问题描述开始设计并行算法 6. 2. 1 设计方法描述 6. 2 第六章 并行算法基本设计策略 6.1 串行算法的直接并行化 6.2 从问题描述开始设计并行算法 6.2.1 设计方法描述 6.2.2 有向环k着色算法的并行化 6.3 借用已有算法求解新问题

K着色问题 3着色串行算法 有向环k着色算法的并行化(1) 设有向环G=(V,E),G的k着色问题:构造映射c: V{0,1,2,…,k-1},使得如果<i, j> ∈E,则c[i]≠c[j] 3着色串行算法 从一顶点开始,依次给顶点交替用两种颜色着色,如果顶点数为奇数则需要第3种颜色。 注:该串行算法难以并行化。这时需要将顶点划分为若干类,每类指派相同颜色,最后再将分类数减为3。

有向环k着色算法的并行化(2) 基本并行k着色算法 算法: SIMD-EREW模型 //输入初始点着色c(i), 输出最终着色c’(i) begin for i=1 to n par-do (1)令k是c(i)和c(i的后继)的最低的不同二进制位 (2)c’(i)= 2k+c(i)k //c(i)k为c(i)的二进制第k位 end for end 注: (1)算法的正确性需要证明; (2)算法的运行时间和工作量? (3)算法应用的是破对称技术,算法中打破了顶点的对称性, 并对分类进行了压缩; (4)在此算法的基础上如何构造3着色算法?

有向环k着色算法的并行化(3) 图例

第六章 并行算法基本设计策略 6.1 串行算法的直接并行化 6.2 从问题描述开始设计并行算法 6.3 借用已有算法求解新问题 6.3.1 设计方法描述 6.3.2 利用矩阵乘法求所有点对间最短路径

设计方法的描述 方法描述 评注 找出求解问题和某个已解决问题之间的联系; 改造或利用已知算法应用到求解问题上。 这是一项创造性的工作; 使用矩阵乘法算法求解所有点对间最短路径是一个很好的范例。

第六章 并行算法基本设计策略 6.1 串行算法的直接并行化 6.2 从问题描述开始设计并行算法 6.3 借用已有算法求解新问题 6.3.1 设计方法描述 6.3.2 利用矩阵乘法求所有点对间最短路径

利用矩阵乘法求所有点对间最短路径(1) 计算原理 SIMD-CC上的并行算法:p183算法6.5 有向图G=(V,E),边权矩阵W=(wij)n×n,求最短路径长度矩阵D=(dij)n×n,dij为vi到vj的最短路径长度。假定图中无负权有向回路,记d(k)ij为vi到vj至多有k-1个中间结点的最短路径长,Dk=(d(k)ij)n×n,则 (1) d(1)ij=wij 当 i<>j (如果vi到vj之间无边存在记为∞) d(1)ij=0 当 i=j (2) 无负权回路  dij=d(n-1)ij (3) 利用最优性原理:d(k)ij=min1≤l≤n{d(k/2)il+d(k/2)lj} 视:”+”  “×”, “min”  “∑”,则上式变为 d(k)ij=∑1≤l≤n{d(k/2)il×d(k/2)lj} (4) 应用矩阵乘法:D1 D2 D4 … D2logn (= Dn) SIMD-CC上的并行算法:p183算法6.5

利用矩阵乘法求所有点对间最短路径(2) 时间分析 计算示例 每次矩阵乘时间O(logn), 共作 次乘法 ==> t(n)=O(log2n), p(n)=n3 计算示例

利用矩阵乘法求所有点对间最短路径(3) 计算示例

1. A是一个大小为n的布尔数组,欲求出最小的下标i且A[i]为真,试设计一个常数时间的PRAM-CRCW并行算法。如果使用PRAM-CREW模型,运行时间如何? Hint: 1. copy A[1..n] to B[1..n] 3. for i=1 to n par-do 2. for i=1 to n par-do if B[i]=true then if B[i]=true then return i for j=i+1 to n par-do endif B[j]=false endfor endfor endif 2.在PRAM-CREW模型上,用n个处理器在O(1)时间内求出数组 A[1..n]={0,…,0,1,…,1},最先为1值的下标。