《并行计算:Parallel Computing》 结构编程算法应用 §3.1并行程序设计基础与样例 (第二部分) 徐悦牲Yueshen Xu) ysxu@xidian.edu.cn 软件工程系 西安电子科技大学
§3.1 并行程序设计基础与样例 (第二部分) 徐悦甡(Yueshen Xu) ysxu@xidian.edu.cn 软件工程系 西安电子科技大学 《并行计算:Parallel Computing》 结构 编程 算法 应用
上节回顾 面些毛子种枝大兽 XIDIAN UNIVERSITY →并行程序设计基础与样例 口并行程序设计样例 ■小 求最大数 CPUO CPU 1 CPU 2 CPU 3 2
上节回顾 并行程序设计基础与样例 CPU 0 CPU 1 CPU 2 CPU 3 2 并行程序设计样例 求最大数
上节回顾 历些毛子种枝大” XIDIAN UNIVERSITY →并行程序设计基础与样例 ▣串行语言→并行语言→并行程序设计 ■并行程序设计中需要解决的一般性问题 >并行性问题 -针对一个程序/进程,如何实现并行化 >交互性问题 -不同的程序/进程,在并行执行过程中,如何交互
上节回顾 并行程序设计基础与样例 串行语言 并行语言 并行程序设计 并行程序设计中需要解决的一般性问题 ➢ 并行性问题 - 针对一个程序/进程,如何实现并行化 ➢ 交互性问题 - 不同的程序/进程,在并行执行过程中,如何交互 3
上节回顾 历些荒子种枚大多 XIDIAN UNIVERSITY →并行程序设计基础与样例 ▣开发动态并行性的一般方法 ■Fork/Join Process A Process B Process C begin begin begin Z:=1 fork(C); Y:=foo(Z); fork(B); X:=foo(Z); join(C); end T:=foo(3); output(X+Y); end end Fork:派生一个子进程 Join:强制父进程等待子进程
上节回顾 并行程序设计基础与样例 开发动态并行性的一般方法 Fork/Join begin Z:=1 fork(B); T:=foo(3); end begin fork(C); X:=foo(Z); join(C); output(X+Y); end begin Y:=foo(Z); end Fork:派生一个子进程 Join:强制父进程等待子进程 Process A Process B Process C 4
本节目录 历粤毛子种枝大兽 XIDIAN UNIVERSITY ▣并行性问题(续) ■进程编组、划分与分配 并行性问题的延续 ■并行性与并行粒度 ▣进程间的交互问题 ■3 交互的类型 交互问题 ■交互的模式 ▣并行程序设计模型 如何写程序 ■ 以计算圆周率程序为例
本节目录 并行性问题(续) 进程编组、划分与分配 并行性与并行粒度 进程间的交互问题 交互的类型 交互的模式 并行程序设计模型 以计算圆周率程序为例 5 交互问题 并行性问题的延续 如何写程序