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

正文內(nèi)容

第十四章分布存儲(chǔ)系統(tǒng)并行編程-資料下載頁

2025-08-01 13:29本頁面
  

【正文】 ndCount, SendDatatype, RecvAddress, RecvCount, RecvDatatype, Comm ) 5 群集通信 a l l g a t h e r( c )B 0E 0A 0F 0C 0D 0B 0 E 0A 0 F 0C 0 D 0B 0 E 0A 0 F 0C 0 D 0B 0 E 0A 0 F 0C 0 D 0B 0 E 0A 0 F 0C 0 D 0B 0 E 0A 0 F 0C 0 D 0B 0 E 0A 0 F 0C 0 D 0國家高性能計(jì)算中心(合肥) 全局交換 (Tatal Exchange) A 1A 4A 0A 5A 2A 3a l l t o a l l( d )A 1 A 4A 0 A 5A 2 A 3B 1 B 4B 0 B 5B 2 B 3C 1 C 4C 0 C 5C 2 C 3D 1 D 4D 0 D 5D 2 D 3E 1 E 4E 0 E 5E 2 E 3F 1 F 4F 0 D 5F 2 F 3B 1B 4B 0B 5B 2B 3C 1C 4C 0C 5C 2C 3D 1D 4D 0D 5D 2D 3E 1E 4E 0E 5E 2E 3F 1F 4F 0D 5F 2F 3每個(gè)進(jìn)程發(fā)送一個(gè)消息給所有 n個(gè)進(jìn)程 , 包括它自已 . 這 n個(gè)消息在它的發(fā)送緩沖中以標(biāo)號的順序有序地存放 . 從另一個(gè)角度來看這個(gè)通信 , 每個(gè)進(jìn)程都從 n個(gè)進(jìn)程接收一個(gè)消息 . 這 n個(gè)消息以標(biāo)號的順序被連接起來 , 存放在接收緩沖中 . 注意 , 全局交換等于由 n 個(gè)不同進(jìn)程做的 n次 Gather操作 . 因此 , 不再需要 Root參數(shù) . 所有對所有 , 在一次全局交換中共有 n2個(gè)消息進(jìn)行通信 . MPI_Alltoall(SendAddress, SendCount, SendDatatype, RecvAddress, RecvCount, RecvDatatype, Comm) 5 群集通信 國家高性能計(jì)算中心(合肥) MPI提供了兩種類型的聚合操作 : 歸約 (reduction)和掃描(scan). 歸約 (reduction) MPI_Reduce(SendAddress, RecvAddress, Count, Datatype, Op, Root, Comm) 這里每個(gè)進(jìn)程的部分值存放在 SendAddress中 . 所有進(jìn)程將這些值歸約為最終結(jié)果并將它存入 Root進(jìn)程的 RecvAddress. 數(shù)據(jù)項(xiàng)的數(shù)據(jù)類型在 Datatype域中定義 . 歸約操作由 Op域定義 . 聚合 (Aggregation) 5 群集通信 國家高性能計(jì)算中心(合肥) 掃描 (scan) MPI_scan(SendAddress, RecvAddress, Count, Datatype, Op, Comm) scan操作省去了 Root域 , 因?yàn)?scan是將部分值組合成 n個(gè)最終值 , 并存放在 n個(gè)進(jìn)程的 RecvAddress. scan操作由 Op域定義 . MPI的 reduction和 scan操作允許每個(gè)進(jìn)程貢獻(xiàn)向量值 , 而不只是標(biāo)量值 . 向量的長度由 Count定義 . MPI支持用戶自定義的 reduction和 scan操作 5 群集通信 國家高性能計(jì)算中心(合肥) 在路障操作中 , 通信子 Comm中的所有進(jìn)程相互同步 , 即 , 它們相互等待 , 直到所有進(jìn)程都執(zhí)行了他們各自的MPI_Barrier函數(shù) . 路障 (Barrier) MPI_Barrier(Comm) 5 群集通信 國家高性能計(jì)算中心(合肥) 表 MP I 中的群集通信 T yp e Ro utin e Fun ctio na lity MP I_B cast 一對多播送相同的信息 MP I_G ath er 多對一收集個(gè)人信息 MP I_G ath erv 通用的 MP I_G ath er MP I_A llg ath er 全局收集操作 MP I_A llg ath erv 通用的 MP I_A llg ath er MP I_S catte r 一對多播撒個(gè)人信息 MP I_S catte rv 通用的 MP I_S catte r MP I_A llto all 多 對多全交換個(gè)人信息 Da ta m ove m ent MP I_A llto all v 通用的 MP I_A llto all MP I_R edu ce 多對一歸約 MP I_A llr edu ce 通用的 MP I_R edu ce MP I_R edu ce_ scatt er 通用的 MP I_R edu ce Ag gr ega tion MP I_S can 多對多并行 pr efix Sy nch r on iza tion MP I_B arr ier 路障同步 5 群集通信 國家高性能計(jì)算中心(合肥) ? 通信子中的所有進(jìn)程必須調(diào)用群集通信例程 . 如果代碼中只有通信子中的一部分成員調(diào)用了一個(gè)群集例程而其它沒有調(diào)用 , 則是錯(cuò)誤的 . 一個(gè)錯(cuò)誤代碼的行為是不確定的 , 意味著它可能發(fā)生任何事情 , 包括死鎖或產(chǎn)生錯(cuò)誤的結(jié)果 . ? 一個(gè)進(jìn)程一旦結(jié)束了它所參與的群集操作就從群集例程中返回 . 除了 MPI_Barrier以外 , 每個(gè)群集例程使用類似于點(diǎn)對點(diǎn)通信中的標(biāo)準(zhǔn)(standard)、阻塞的通信模式 . 例如 , 當(dāng) Root進(jìn)程從 MPI_Bcast中返回時(shí) , 它就意味著發(fā)送緩沖的 Address可以被安全地再次使用 . 其它進(jìn)程可能還沒有啟動(dòng)它們相應(yīng)的 MPI_Bcast! ? 一個(gè)群集例程也許是也許不是同步的 , 取決于實(shí)現(xiàn) . MPI要求用戶負(fù)責(zé)保證他的代碼無論實(shí)現(xiàn)是否是同步的都是正確的 . ? Count 和 Datatype在所包含的所有進(jìn)程中必須是一致的 . ?在群集例程中沒有 tag參數(shù) . 消息信封由通信子參數(shù)和源 /目的進(jìn)程定義 . 例如 , 在 MPI_Bcast中 , 消息的源是 Root, 目的是所有進(jìn)程 (包括 Root). ?在 MPI1 中 , 只支持阻塞和通信子內(nèi) (intramunicator)群集通信 . 群集例程的共同特點(diǎn) 5 群集通信 國家高性能計(jì)算中心(合肥) 6 MPI擴(kuò)展 MPI2對 MPI1的擴(kuò)展 ?動(dòng)態(tài)進(jìn)程 ?單邊通信 ?非阻塞群集通信模式和通信子間群集通信模式 . ?對可擴(kuò)展的 I/O的支持 , 叫做 MPIIO. 在 MPI1中 , I/O問題全部忽略 . ?MPI1只定義對 Fortran77和 C語言的綁定 . MPI2將語言綁定擴(kuò)展到 Fortran90和 C++. ?對實(shí)時(shí)處理的支持 . ?擴(kuò)展了 MPI1的外部接口 , 以便使環(huán)境工具的開發(fā)者更易于訪問 MPI對象 . 這將有助于開發(fā)剖析 (profiling)、 監(jiān)視(monitoring)和調(diào)試 (debugging)工具 . 國家高性能計(jì)算中心(合肥) 動(dòng)態(tài)進(jìn)程 MPI2決定支持動(dòng)態(tài)進(jìn)程 , 這帶來了以下好處 : ? MPI1不定義如何創(chuàng)建進(jìn)程和如何建立通信 . 因此 , MPI1需要支撐平臺(tái)提供這種能力 , 像 SP2中的 POE和工作站網(wǎng)絡(luò)中的 rsh. MPI2中的動(dòng)態(tài)進(jìn)程機(jī)制 以可移植的方式 (平臺(tái)獨(dú)立 )提供了這種能力 ? 動(dòng)態(tài)進(jìn)程 有利于將 PVM程序移植到 MPI上 . 并且還可能支持一些重要的應(yīng)用類型 , 如 , Client/Server和 Process farm. ? 動(dòng)態(tài)進(jìn)程 允許更有效地使用資源和負(fù)載平衡 . 例如 , 所用節(jié)點(diǎn)數(shù)可以按需要減少和增加 ? 支持容錯(cuò) . 當(dāng)一個(gè)結(jié)點(diǎn)失效 , 運(yùn)行在其上的進(jìn)程能在另一個(gè)結(jié)點(diǎn)上創(chuàng)建一個(gè)新進(jìn)程完成其工作 . 6 MPI擴(kuò)展 國家高性能計(jì)算中心(合肥) int MPI_Spawn ( char* mand_line, int minprocs, int maxprocs, char* info, int root, MPI_Comm m, MPI_Comm* interm int* array_of_errcodes ) /* 可執(zhí)行程序和參數(shù) */ /* 最少要派生的進(jìn)程數(shù) */ /* 最多要派生的進(jìn)程數(shù) */ /* 在何處何時(shí)啟動(dòng)該進(jìn)程 */ /* 根進(jìn)程的編號 */ /* 根進(jìn)程的通信子 */ /* m與新派生的進(jìn)程組間的互連通信子 */ /* 每個(gè)派生進(jìn)程一個(gè)出錯(cuò)代碼 */ 這個(gè)函數(shù)試圖派生 maxprocs個(gè)子進(jìn)程 , 每個(gè)子進(jìn)程執(zhí)行相同代碼 , 這個(gè)代碼在 mand_line中定義 . 如果 MPI不能派生 maxprocs個(gè)進(jìn)程 , 它可以按minprocs指定的數(shù)目派生進(jìn)程 . 如果它連 minprocs個(gè)進(jìn)程都派生不了 , MPI_Spawn就返回一個(gè)出錯(cuò)代碼 . info 必須是一個(gè)空串 , 允許運(yùn)行時(shí)系統(tǒng)決定何地、如何啟動(dòng)該進(jìn)程 . 6 MPI擴(kuò)展 國家高性能計(jì)算中心(合肥) MPI_Spawn是一個(gè)群集操作 , 也就是說 , 通信子 m中的所有成員必須調(diào)用它派生進(jìn)程 . 但是 , 只有 root進(jìn)程中的參數(shù)mand_line, minprocs, maxprocs, 和 info是有意義的 , 而忽略其它進(jìn)程上的這些參數(shù)值 . 這樣 , 盡管派生的進(jìn)程可以看成m中所有進(jìn)程的子進(jìn)程 , 但只有 root進(jìn)程是真正的父進(jìn)程 . 子進(jìn)程是 MPI進(jìn)程意味著它們必須調(diào)用 MPI_Initialize, 它與父進(jìn)程中的 MPI_Spawn同是群集操作 . 子進(jìn)程和父進(jìn)程可以通過 intermunicator interm 進(jìn)行通信 , 它從父進(jìn)程中的MPI_Spawn返回 , 子進(jìn)程通過調(diào)用 MPI_parent函數(shù)能獲得intermunicator的句柄 . MPI_parent函數(shù)的形式如下 : int MPI_Parent(MPI_Comm* interm) 6 MPI擴(kuò)展 國家高性能計(jì)算中心(合肥) 單邊通信 MPI2包括一個(gè)新的點(diǎn)對點(diǎn)通信模式 , 叫做遠(yuǎn)程存儲(chǔ)訪問 (remote memory access, RMA), 它允許一個(gè)進(jìn)程執(zhí)行單邊通信 . 即 , 一個(gè)進(jìn)程可以發(fā)送一個(gè)數(shù)據(jù)值到一個(gè)目的地 , 也可以從一個(gè)數(shù)據(jù)源取一個(gè)數(shù)據(jù)值 , 無需另一邊的參與 . 在 MPI1中 , 所有的點(diǎn)對點(diǎn)通信都是雙邊的 , 發(fā)送者和接收者都必需參與 . 6 MPI擴(kuò)展 國家高性能計(jì)算中心(合肥) int MPI_Get ( void* dest_addr, MPI_Init dest_count, MPI_Datatype dest_datatype, int source_rank, int source_disp, int source_count, MPI_Datatype source_datatype, MPI_Comm m ) 單邊接收 (MPI_get) 6 MPI擴(kuò)展 國家高性能計(jì)算中心(合肥) int MPI_Put ( void* source_addr, MPI_Init source_count, MPI_Datatype source_datatype, int dest_rank, int dest_disp, int dest_count, MPI_Datatype dest_datatype, MPI_Comm m ) 單邊發(fā)送 (MPI_Put) 6 MPI擴(kuò)展 國家高性能計(jì)算中心(合肥) 7 例子 :計(jì)算 Pi的 MPI程序 include include include long n, /*number of slices */ i。 /* slice counter */ double sum, /* running sum */ pi, /* approximate value of pi */ mypi, x, /* independent var. */ h。 /* base of slice */ int group_size,my_rank。 main(argc,argv) int argc。 char*
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1