freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

《mpi并行程序設(shè)計(jì)》ppt課件-全文預(yù)覽

2025-05-19 22:07 上一頁面

下一頁面
  

【正文】 ? 用 mpicc編譯時(shí),就像用一般的 C編譯器一樣。 else if( == 1) MPI_Recv(amp。status)。 else if(rank == 1) /*12發(fā)送一 float型數(shù) */ MPI_Send(,1,MPI_FLOAT,2,99,m)。 float y。 } 2022年 5月 MPI并行程序設(shè)計(jì) 61/217 消息探測 Probe函數(shù) (適用于阻塞與非阻塞 ) ? MPI_Probe()和 MPI_Iprobe()函數(shù) 探測接收消息的內(nèi)容 。request) while(!flag) MPI_Test(amp。flag,amp。 if(rank == 0){ MPI_Isend(amp。 } 2022年 5月 MPI并行程序設(shè)計(jì) 60/217 MPI_Test()及應(yīng)用示例 //int MPI_Test(MPI_Request *request,int *flag, MPI_Status *status)。y,1,MPI_INT,0,99,m,amp。request) … MPI_Wait(amp。 MPI_Status status。 當(dāng) request標(biāo)識的通信結(jié)束后, MPI_Wait()才返回 。 ? 接收的完成 :代表數(shù)據(jù)已經(jīng)寫入接收緩沖區(qū)。 所以對于非阻塞操作,要先調(diào)用等待 MPI_Wait()或測試 MPI_Test()函數(shù)來結(jié)束或判斷該請求,然后再向緩沖區(qū)中寫入新內(nèi)容或讀取新內(nèi)容。a, 1, MPI_INT, dest, 99, amp。 int source = (rank + p 1)%p。 該函數(shù)被每一進(jìn)程執(zhí)行一次 . 2022年 5月 MPI并行程序設(shè)計(jì) 53/217 空進(jìn)程 ? rank = MPI_PROC_NULL的進(jìn)程稱為空進(jìn)程 – 使用空進(jìn)程的通信不做任何操作 . – 向 MPI_PROC_NULL發(fā)送的操作總是成功并立即返回 . – 從 MPI_PROC_NULL接收的操作總是成功并立即返回,且接收緩沖區(qū)內(nèi)容為隨機(jī)數(shù) . – status ? = MPI_PROC_NULL ? = MPI_ANY_TAG ? MPI_Get_count(amp。 /*p為進(jìn)程個(gè)數(shù) */ MPI_Sendrecv( amp。 . . . . . . Send() . . . 問題 :進(jìn)程 1和 2誰先向根進(jìn)程發(fā)送消息 ? ? % 2022年 5月 MPI并行程序設(shè)計(jì) 46/217 運(yùn)行 greetings ? [dairnode01 ~]$ mpicc –o greeting ? [dairnode01 ~]$ mpirun np 4 greeting Greetings from process 1! Greetings from process 2! Greetings from process 3! ? [dairnode01 ~]$ 計(jì)算機(jī)打印字符 我們輸入的命令 2022年 5月 MPI并行程序設(shè)計(jì) 47/217 現(xiàn)在您已經(jīng)能夠用 MPI進(jìn)行并行編程了 ! 2022年 5月 MPI并行程序設(shè)計(jì) 48/217 避免死鎖 deadlock ? 發(fā)送和接收是成對出現(xiàn)的,忽略這個(gè)原則 很可能會(huì)產(chǎn)生死鎖 總會(huì)死鎖的通信調(diào)用次序 2022年 5月 MPI并行程序設(shè)計(jì) 49/217 不安全的通信調(diào)用次序 2022年 5月 MPI并行程序設(shè)計(jì) 50/217 安全的通信調(diào)用次序 2022年 5月 MPI并行程序設(shè)計(jì) 51/217 MPI_Sendrecv函數(shù)原型 ? int MPI_Sendrecv( void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm m, MPI_Status *status) ? 數(shù)據(jù)輪換 p0 p1 p2 P(n1) pi 2022年 5月 MPI并行程序設(shè)計(jì) 52/217 MPI_Sendrecv用法示意 … int a,b。 } } /*關(guān)閉 MPI,標(biāo)志并行代碼段的結(jié)束 */ MPI_Finalize()。 source numprocs。numprocs)。argv)。 /*我的進(jìn)程 ID,存儲(chǔ)也是分布的 */ MPI_Status status。 2022年 5月 MPI并行程序設(shè)計(jì) 32/217 講座內(nèi)容提示 ? 基本的 MPI – 基本概念 – 點(diǎn)到點(diǎn)通信 (Point to point) ? MPI中 API的主要內(nèi)容,為 MPI最基本,最重要的內(nèi)容 – MPI程序的編譯和運(yùn)行 ? 深入 MPI – 用戶自定義 (/派生 )數(shù)據(jù)類型 (Userdefined(Derived) data type) ? 事實(shí)上 MPI的所有數(shù)據(jù)類型均為 MPI自定義類型 – 支持異構(gòu)系統(tǒng) – 允許消息來自不連續(xù)的或類型不一致的存儲(chǔ)區(qū) (結(jié)構(gòu) ,數(shù)組散元 ) – 集合通信 (Collective) ? 數(shù)據(jù)移動(dòng) , 數(shù)據(jù)聚集,同步 ? 基于 point to point 構(gòu)建 – MPI環(huán)境管理函數(shù) ? 組 ,上下文和通信空間 /通信子的管理 ? 實(shí)例 2022年 5月 MPI并行程序設(shè)計(jì) 33/217 Point to Point ? 單個(gè)進(jìn)程對單個(gè)進(jìn)程的通信 ,重要且復(fù)雜 ? 術(shù)語 – Blocking(阻塞 ) :一個(gè)例程須等待操作完成才返回 ,返回后用戶可以重新使用調(diào)用中所占用的資源 . – Nonblocking(非阻塞 ):一個(gè)例程不必等待操作完成便可返回 ,但這并不意味著所占用的資源可被重用 . – Local(本地 ):不依賴于其它進(jìn)程 . – Nonlocal(非本地 ):依賴于其它進(jìn)程 . 2022年 5月 MPI并行程序設(shè)計(jì) 34/217 Blocking Send int MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm m)。 MPI_Init(…)。 3. MPI_Comm_rank(…)。 數(shù)據(jù)傳送 + 同步操作 ? 需要發(fā)送方與接收方合作完成 . Data Process 0 Process 1 發(fā)送請求 Yes Data Data Data Data Data Data Data Data Time 2022年 5月 MPI并行程序設(shè)計(jì) 31/217 最基本的 MPI MPI調(diào)用借口的總數(shù)雖然龐大,但根據(jù)實(shí)際編寫 MPI的經(jīng)驗(yàn),常用的 MPI調(diào)用的個(gè)數(shù) 確實(shí) 有限。 } } MPI_Finalize()。 source numprocs。numprocs)。argv)。 MPI_Status status。 MPI_Finalize()。myid )。 MPI_Init( amp。 MPI_Finalize()。 } Hello World! Hello World! Hello World! Hello World! include include main( int ar c, char *argv[] ) { MPI_Init( amp。argc, amp。argv )。 printf( Hello, world!\n )。 MPI_Finalize()。 – 標(biāo)志并行代碼的結(jié)束 ,結(jié)束除主進(jìn)程外其它進(jìn)程 . – 之后串行代碼仍可在主進(jìn)程 (rank = 0)上運(yùn)行 (如果必須 ). 2022年 5月 MPI并行程序設(shè)計(jì) 17/217 MPI程序的的編譯與運(yùn)行 ? mpif77 或 mpicc – 默認(rèn)生成 . ? mpif77 –o hello 或 ? mpicc –o hello – 生成 hello的可執(zhí)行代碼 . ? mpirun –np 4 ? mpirun –np 4 hello – 4 指定 np的實(shí)參 ,表示進(jìn)程數(shù) ,由用戶指定 . – / hello 要運(yùn)行的 MPI并行程序 . %小寫 o %np: The number of process. 2022年 5月 MPI并行程序設(shè)計(jì) 18/217 ? :運(yùn)行我們的 MPI程序 ! ? [dairnode01 ~]$ mpicc o hello ? [dairnode01 ~]$ ./hello (?) [0] Aborting program ! Could not create p4 procgroup. Possible missing fileor program started without mpirun. ? [dairnode01 ~]$ mpirun np 4 hello (?) Hello World! Hello World! Hello World! Hello World! ? [dairnode01 ~]$ 計(jì)算機(jī)打印字符 我們輸入的命令 2022年 5月 MPI并行程序設(shè)計(jì) 19/217 ? :Hello是如何被執(zhí)行的 ? ? SPMD: Single Program Multiple Data(SPMD) :::: include include main( int argc, char *argv[] ) { MPI_Init( amp。Hello, world!39。argv )。共有上百個(gè)函數(shù)調(diào)用接口,在 Fortran和 C語言中可以直接對這些函數(shù)進(jìn)行調(diào)用 – MPI是一種標(biāo)準(zhǔn)或規(guī)范的代表,而不是特指某一個(gè)對它的具體實(shí)現(xiàn) – MPI是一種消息傳遞編程模型,并成為這種編程模型的代表和事實(shí)上的標(biāo)準(zhǔn) 2022年 5月 MPI并行程序設(shè)計(jì) 8/217 MPI的發(fā)展過程 ? 發(fā)展的兩個(gè)階段 – MPI : 1995 ? MPICH:是 MPI最流行的非專利實(shí)現(xiàn) ,由 Argonne國家實(shí)驗(yàn)室和密西西比州立大學(xué)聯(lián)合開發(fā) ,具有更好的可移植性 . – MPI ~:動(dòng)態(tài)進(jìn)程 , 并行 I/O, 支持 F90和C++(1997). 2022年 5月 MPI并行程序設(shè)計(jì) 9/217 為什么要用 MPI? ? 高可移植性 – MPI已在 IBM PC機(jī)上、 MS Windows上、所有主要的Unix工作站上和所有主流的并行機(jī)上得到實(shí)現(xiàn)。2022年 5月 MPI并行程序設(shè)計(jì) 1/217 機(jī)群應(yīng)用開發(fā) 并行編程原理及 程序設(shè)計(jì) Parallel Programming: Fundamentals and Implementation 曙光信息產(chǎn)業(yè)有限公司 2022年 5月 2022年 5月 MPI并行程序設(shè)計(jì) 2/217 參考文獻(xiàn) ? 黃鎧 ,徐志偉著 ,陸鑫達(dá)等譯 . 可擴(kuò)展并行計(jì)算技術(shù) ,結(jié)構(gòu)與編程 . 北京 :機(jī)械工業(yè)出版社 , ~56,~237, 2022. ? 陳國良著 .并行計(jì)算 — 結(jié)構(gòu)、算法、編程 . 北京 :高等教育出版社 ,1999. ? Barry Wilkinson and Michael Allen. Parallel Programming(Techniques and Applications using Networked Workstations and Parallel Computers). Prentice Hall, 1999. ? 李曉梅 ,莫?jiǎng)t堯等著 . 可擴(kuò)展并行算法的設(shè)計(jì)與分析 . 北京 :國防工業(yè)出版社 ,2022. ? 張寶琳 ,谷同祥等著 . 數(shù)值并行計(jì)算原理與方法 . 北京 :國防工業(yè)出版社 ,1999. ? 都志輝著 . 高性能計(jì)算并行編程技術(shù) — MPI并行程序設(shè)計(jì) . 北京 :清華大學(xué)出版社 , 2022. 2022年 5月 MPI并行程序設(shè)計(jì) 3/217 相關(guān)網(wǎng)址 ? MPI: ? Pthreads: ? PVM: ? OpemMP: ? 網(wǎng)上搜索 : 2022年 5月 MPI并行程序設(shè)計(jì) 4/21
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1