Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007

Similar documents
Parallel Programming with MPI

to AztecOO Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007

Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007

公務員懲戒法實務及新制

大小通吃-糖尿病


98825 (Project Sunshine) Chi_TC_.indb

(Microsoft Word - outline for Genesis 9\243\2721\243\25529.doc)

穨Shuk-final.PDF

2

招行2002年半年度报告全文.PDF

Microsoft Word _4

郑州大学(下).doc

厨房小知识(六)

广 东 纺 织 职 业 技 术 学 院 发 展 党 员 公 示 制 实 施 办 法 关 于 推 荐 优 秀 团 员 作 为 党 的 发 展 对 象 工 作 的 意 见 后 勤 管 理 工 作 广 东 纺 织 职 业 技 术 学 院 新 引 进 教 职 工 周 转 房 管 理


游戏攻略大全(五十).doc

金融英语证书考试大纲


健康知识(二)

中南财经大学(二).doc

广西大学(一).doc

根据学校教学工作安排,2011年9月19日正式开课,也是我校迁址蓬莱的第一学期开学

山东大学(一).doc

2

主 编 : 杨 林 副 主 编 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 评 审 顾 问 : 杨 林 张 新 民 评 审 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 李 忆 萍 徐 如 雪 文 字 编 辑 : 曹 纯 纯 邹 兰 李 雅 清

最新文物管理执法全书(十四).doc

园林常识(二).doc

前 言 二 一 六 年 四 月 四 日, 兒 童 節, 誕 生 了 一 件 美 事 : 中 國 作 家 曹 文 軒 在 意 大 利 博 洛 尼 亞 國 際 童 書 展 榮 獲 國 際 安 徒 生 文 學 獎, 是 該 獎 創 設 六 十 年 來, 第 一 位 摘 桂 的 中 國 作 家, 意 義 重

湖 南 科 技 大 学

上海外国语大学(二).doc

2009 陳 敦 德

切 实 加 强 职 业 院 校 学 生 实 践 能 力 和 职 业 技 能 的 培 养 周 济 在 职 业 教 育 实 训 基 地 建 设 工 作 会 议 上 的 讲 话 深 化 教 育 教 学 改 革 推 进 体 制 机 制 创 新 全 面 提 高 高 等 职 业 教 育 质 量 在

鸽子(三)

兽药基础知识(四)

园林植物卷(十).doc

园林植物卷(十七).doc

临床手术应用(三)

家装知识(二十)

医疗知识小百科

家庭万事通(一)

家装知识(三)

园林绿化(一)

园林植物卷(十五).doc

最新监察执法全书(一百五十).doc

兽药基础知识(三)

奥运档案(四).doc

最新监察执法全书(五十).doc

最新执法工作手册(三百八十四)

中华美食大全4

动物杂谈_二_.doc

抗非典英雄赞歌(三)

新时期共青团工作实务全书(三十五)

经济法法律法规第十九卷

游戏攻略大全(五十九).doc

火灾安全实例

兽药基础知识(七)

实用玉米技术(二)

中国政法大学(一).doc

水产知识(一)

國立中山大學學位論文典藏.PDF

Microsoft Word mpc-min-chi.doc

( ) 1

穨cwht.PDF

900502_Oasis.indb

bnb.PDF

untitled

Microsoft Word - om388-rnt _excl Items 16 & 38_ _final_for uploading_.doc

% 25% (i) 95% 96,290,900 (ii) 99.9% 17,196,000 (iii) 99.9% 89,663,100 2

¨Æ·~½g¡ã¾·~¤ÀÃþ

游戏攻略大全(五十二).doc

游戏攻略大全(五十一).doc

银河银联系列证券投资基金

PowerPoint 演示文稿

第二章

綜合社會保障援助指引

880041_C_Unique_REDACTED_.indb

PowerPoint 演示文稿

扬州大学(上)

(A) 二 小 時 (B) 三 小 時 (C) 四 小 時 (D) 五 小 時 第 一 組 出 題 6. 若 對 於 收 到 的 交 通 違 規 罰 單 不 服, 在 收 到 罰 單 幾 日 內 須 向 警 察 機 關 或 監 理 機 關 申 訴? (A) 十 天 (B) 十 五 天 (C) 二 十

項 訴 求 在 考 慮 到 整 體 的 財 政 承 擔 以 及 資 源 分 配 的 公 平 性 下, 政 府 採 取 了 較 簡 單 直 接 的 一 次 性 減 稅 和 增 加 免 稅 額 方 式, 以 回 應 中 產 家 庭 的 不 同 訴 求 ( 三 ) 取 消 外 傭 徵 費 6. 行 政 長

(f) (g) (h) (ii) (iii) (a) (b) (c) (d) 208


Microsoft Word - 08 单元一儿童文学理论

南華大學數位論文

Microsoft Word 一年級散文教案.doc

米食天地教案

第32回独立行政法人評価委員会日本貿易保険部会 資料1-1 平成22年度財務諸表等

untitled

第三章

nb.PDF

bnbqw.PDF

1. 本文首段的主要作用是 A. 指出 異蛇 的藥用功效 說明 永之人爭奔走焉 的原因 B. 突出 異蛇 的毒性 為下文 幾死者數矣 作鋪墊 C. 交代以蛇賦稅的背景 引起下文蔣氏有關捕蛇的敘述 2. 本文首段從三方面突出蛇的 異 下列哪一項不屬其中之一 A. 顏色之異 B. 動作之異 C. 毒性之

Microsoft Word - 發布版---規範_全文_.doc

概 述 随 着 中 国 高 等 教 育 数 量 扩 张 目 标 的 逐 步 实 现, 提 高 教 育 质 量 的 重 要 性 日 益 凸 显 发 布 高 校 毕 业 生 就 业 质 量 年 度 报 告, 是 高 等 学 校 建 立 健 全 就 业 状 况 反 馈 机 制 引 导 高 校 优 化 招

鱼类丰产养殖技术(二).doc

疾病诊治实务(一)

名人养生.doc

<4D F736F F D2040B9C5B871A661B0CFABC8AE61C2A7AB55ACE3A8735FA7F5ABD8BFB3B9C5B871A661B0CFABC8AE61C2A7AB55ACE3A8732E646F63>


Transcription:

Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007

Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007

框架 1 2 3 4 5 6

One dimensional Equatino: 一个例子 @u @t = u @2 x 2 [0; 1]; t 2 (0; +1); @x2 u(0; t) = u(1; t) = 0 u(x; 0) = u 0 (x) = sin x 精确解 u(x; t) = e 2t sin x

三种格式 Euler Forward, O( t; x 2 ) u n+1 i u n i t Euler backward, O( t; x 2 ) u n+1 i u n i t Crank-Nicolson, O( t 2 ; x 2 ) = un i+1 2un i + un i 1 x 2 = un+1 i+1 2un+1 + u n+1 i i 1 x 2 u n+1 i u n i t = u n i+1 2un + i un i 1 2 x 2 + u n+1 i+1 2un+1 + u n+1 i i 1 2 x 2

差分格式的稳定性 定义 D = t x 2 Euler Forward, 要求 D 1 2 Euler Backward, Unconditionally stable Crank-Nicolson, Unconditionally stable

两种不 consisitent 的格式 Dufort-Frankel scheme, Unconditionally stable u n+1 u n 1 i i 2 t = un i+1 un+1 + u n 1 i i + u n i 1 x 2 Leap-frog scheme, Unconditionally stable u n+1 u n 1 i i 2 t = un i+1 2un i + un i 1 x 2

框架 1 2 3 4 5 6

一维 加上适当的初边值条件 @u @t + @u = 0; x 2 [0; 1]; t > 0 @x 周期初值函数 + 周期边界条件 = 简单情况

Euler-Forward/Center-Dierence Scheme EF/CD 绝对不稳定 u n+1 i u n i t + un i+1 un i 1 2 x = 0

Euler-Forward/Upwind-Dierence Scheme EF/CD 条件稳定 : t x 1 精度 : O( t; x) u n+1 i u n i t = un i un i 1 x

Lax-Friedrichs Scheme Lax-Friedrichs u n+1 j 1 2 u n j+1 + un j 1 t Tadmor's correction, 引入 C = t x = un j+1 un j 1 2 x u n+1 j = 1 2 un j+1 + un C j 1 u n j+1 u n j 1 + 1 C2 u 0 j 1 u 0 j+1 2 4 where u 0 j = MinMod u n j+1 u n j ; un j u n j 1 MinMod[x; y] 1 [sgn(x) + sgn(y)] Min[jxj; jyj] 2

Second-Order Upwind Scheme EF/UD2 u n+1 j+1 = un C u n u n j j j 1 + 1 2 C(C 1) un 2u n j j 1 + un j 2 再次提示 C t x 另外, 上面公式的推导要用到 u t + u x = 0 ) u tt = @u t @t = @u x @t = @u t @x = u x @x = u xx For stability, we require that C 2.

Lax-Wendro Scheme (2nd order) EF/LW u n+1 j+1 = un j C 2 2 C 2 un j+1 u n j 1 + u n j+1 2u n j + un j 1 For stability we require that C 1.

Adams-Bashforth/Center Dierencing Scheme(AB/CD) 2nd AB/CD 3rd AB/CD u n+1 j u n j t u n+1 j u n j t + 23 12 xu n j + 3 2 xu n j 1 2 un 1 j = 0 16 12 un 1 j + 5 12 xu n 2 j = 0 定义 : x u n j = un j+1 un j 1 2 x

Burgers Burgers : 非线性 假设周期边界条件, 初值 8 < u(x; 0) = : @u @t + u@u @x = 0 1; x 1 3 1; 1 3 < x 1 3 1; x > 1 3

the entropy solution 上面问题的熵解 8 >< u(x; 0) = >: 1; x + t 1 x ( t 1=3) 2 (t 1=3) ( t 1=3) 1; t 1 3 < x t 1 3 1 1; t 3 < t < 1 3 1; x > 1 3 3 可以看解的动画演示 burgers.gif.

框架 1 2 3 4 5 6

double MPI_Wtime(void) 返回当前墙钟时间, 单位是秒 double MPI_Wtick(void) 该函数给出 MPI_Wtime 函数的时钟精度, 以秒为单位 和 time.h 中的计时函数 time_t clock(void) 的差别不大, 可参看我的博客

框架 1 2 3 4 5 6

I int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) 广播 通信器 comm 中进程号为 root 的进程 ( 称为根进程 ) 将自己 buer 中的内容发送给通信器中所有的其他进程 int MPI_Gather(void *sendbuf, int sendcnt, MPI_Datatype sendtype, void * recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm) 收集相同长度的数据块 以 root 为根进程, 所有进程 ( 包括根进程自己 ) 将 sendbuf 中的数据块发送给根进程, 根进程将这些数据块按进程号的顺序依次放到 recvbuf 中 参数 recvbuf, recvcnt 和 recvtype 仅对根进程有意义

II int MPI_Allgather(void *sendbuf, int sendcnt, MPI_Datatype sendtype, void * recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm) 收集相同长度的数据块 相当于一个进程做了 MPI_Gather 后, 把 recvbuf 中的数据散发其他所有进程 int MPI_Gatherv(void *sendbuf, int sendcnt, MPI_Datatype sendtype, void * recvbuf, int *recvcnts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)

III 收集不同长度的数据块 与 MPI_Gather 类似, 但允许每个进程发送的数据块长度不同, 并且根进程可以任意排放数据块在 recvbuf 中位置 数据 recvcnts 和 displs 的元素个数等于进程数, 用于置顶从每个进程接收的数据块长度和它们在 recvbuf 中的位移, 都以 recvtype 为单位 int MPI_Allgatherv(void *sendbuf, int sendcnt, MPI_Datatype sendtype, void * recvbuf, int *recvcnts, int *displs, MPI_Datatype recvtype, MPI_Comm comm) 不同长度的数据块全收集 相当于先在某个进程上进行 MPI_Gatherv, 然后再广播

框架 1 2 3 4 5 6

I 1 求解二维 Poisson 方程 @ 2 @ 2 u(x; @x 2 @y 2 y) = f (x; y); (x; y) 2 = (0; 1) (0; 1) u(x; y) = 0; (x; y) 2 @ 自己取定函数 f (x; y), 使得函数有精确解 使用均匀网格, 使用二阶中心差分 N = N x = N y 表示在 x 和 y 方向的差分点的个数, 看你的机器上的 N 可以取道多大 比较计算时间和误差 编写并行程序, 比较时间和结果的差别, 数值验证收敛的阶 练习使用 AztecOO 的不同解法, 比较不同解法的快慢

II 2 讲义 10 中有这样一种情况 n 个进程, 进程 P i 需要向进程 P i+1 发送数据 第一个进程仅仅给第二个进程发送数据, 最后一个进程仅仅接收数据, 这种情况可以用 MPI_Sendrecv 函数来实现吗? 如果能请给出一个例子 当然可以增加一个最后一个进程向第一个进程发送消息, 这样每个进程都需要 Send 和 Recv 这里想知道的是第一个进程仅仅用 Send, 最后一个进程仅仅 Recv, 中间的进程用 Sendrecv, 这样的程序会出错吗? 3 研究讲义 10 中给出的并行 Thomas 算法的代码, 写出简洁高效率的代码 要求求解 Ly = q 和 Ux = y 的过程并行处理 4 使用讲义 10 中给出的四阶隐式格式离散一维 Poisson 方程, 验证数值收敛的阶数

框架 1 2 3 4 5 6

Parallel Scientic Computing in C++ and MPI, Chapter 7. 网上列出的例子