




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、MPI并行程序設(shè)計提綱1. MPI的定義2. 系統(tǒng)配置3. MPI編程解析4. MPI實例提綱1. MPI的定義2. 系統(tǒng)配置3. MPI編程解析4. MPI實例MPI的定義 n關(guān)于關(guān)于MPIMPI三個不同側(cè)面的定義三個不同側(cè)面的定義對對MPIMPI的定義是多種多樣的,但不外乎下面三個方的定義是多種多樣的,但不外乎下面三個方面,它們限定了面,它們限定了MPIMPI的內(nèi)涵和外延。的內(nèi)涵和外延。n(1)MPI(1)MPI是一個庫,而不是一門言語。是一個庫,而不是一門言語。許多人以為許多人以為MPIMPI就是一種并行言語,這是不準(zhǔn)確的。就是一種并行言語,這是不準(zhǔn)確的。但是按照并行言語的分類,可以把但
2、是按照并行言語的分類,可以把FORTRAN+MPIFORTRAN+MPI或或C+MPIC+MPI,看作是一種在原來串行言語根底之上擴展后得,看作是一種在原來串行言語根底之上擴展后得到的并行言語。到的并行言語。nMPIMPI庫可以被庫可以被FORTRAN77/C/Fortran90/C+FORTRAN77/C/Fortran90/C+調(diào)用,從語法上說,它調(diào)用,從語法上說,它遵守一切對庫函數(shù)遵守一切對庫函數(shù)/ /過程的調(diào)用規(guī)那么,和普通的函數(shù)過程的調(diào)用規(guī)那么,和普通的函數(shù)/ /過程沒有什么區(qū)別。過程沒有什么區(qū)別。MPI的定義n(2) MPI(2) MPI是一種規(guī)范或規(guī)范的代表,而不特指某一個對是一
3、種規(guī)范或規(guī)范的代表,而不特指某一個對它的詳細實現(xiàn)。它的詳細實現(xiàn)。迄今為止,一切的并行計算機制造商都提供對迄今為止,一切的并行計算機制造商都提供對MPIMPI的支持,可以在網(wǎng)上免費得到的支持,可以在網(wǎng)上免費得到MPIMPI在不同并行計算在不同并行計算機上的實現(xiàn)機上的實現(xiàn)(mpich/chimp/lam)(mpich/chimp/lam),一個正確的,一個正確的MPIMPI程序,程序,可以不加修正地在一切的并行機上運轉(zhuǎn)。可以不加修正地在一切的并行機上運轉(zhuǎn)。n(3)MPI(3)MPI是一種音訊傳送編程模型,并成為這種編程模是一種音訊傳送編程模型,并成為這種編程模型的代表和現(xiàn)實上的規(guī)范。型的代表和現(xiàn)實
4、上的規(guī)范。nMPIMPI雖然很龐大,但是它的最終目的是效力雖然很龐大,但是它的最終目的是效力于進程間通訊。于進程間通訊。提綱1. MPI的定義2. 系統(tǒng)配置3. MPI編程解析4. MPI實例系統(tǒng)配置n必需的軟件包nmpich2-*.*.tar.gz (/pub/mpi/)nbinutils (autoconf, automake)nC compilern假設(shè)他需求用Fortran-77、Fortran-90、C+編寫MPI程序,那么必需安裝相應(yīng)的編譯器nPython 2.2 or later系統(tǒng)配置n安裝n./configure -prefix=/usr/
5、local/mpich2 -enable-sharedlibs=gccnmakenmake installn設(shè)置環(huán)境變量nvim $HOME/.bashrcnexport PATH=/usr/local/mpich2/bin:$PATHnrootnode01 bin# which mpdn/usr/local/mpich2/bin/mpd系統(tǒng)配置nMPICH密令配置nmpd是mpi的進程管理器,欲啟動mpi作業(yè)需首先對mpd進展配置,設(shè)置好mpd環(huán)相互通訊的密令nvim /etc/mpd.confn MPD_SECRETWORD=yourwordnchmod 600 /etc/mpd.conf
6、系統(tǒng)配置n本地運轉(zhuǎn)程序測試nrootnode01 bin# mpd &n 1 2969nrootnode01 bin# mpdtrace -ln node01_38927 (71)nrootnode01 bin# mpiexec -n 1 /bin/hostnamen node01nrootnode01 bin# mpdallexitn rootnode01 bin#系統(tǒng)配置在一組結(jié)點上建立mpd環(huán)配置vim $HOME/mpd.hostsvim /etc/hosts交換密鑰,使得登錄結(jié)點無需輸入密碼ssh-keygen t rsascp cat $HOME/.ssh
7、/id_rsa.pub $HOME/.ssh/authorized_keysscp /etc/mpd.conf啟動mpdboot -n -f mpd.hosts系統(tǒng)配置n查看mpd環(huán)的信息nrootnode01 # mpdboot -n 10 -f mpd.hosts nrootnode01 # mpdtrace -lnnode01_52737 (71)nnode05_57874 (75)nnode10_46474 (80)nnode04_44059 (74)nnode03_39268 (1
8、73)nnode02_41483 (72)nnode08_57202 (78)nnode09_45880 (79)nnode07_54456 (77)nnode06_37627 (76)系統(tǒng)配置n運轉(zhuǎn)及調(diào)試MPI作業(yè)nmpiexec n process_num host host_name executablenmpiexec gdbnmpiexec -helpnmpdlistjobs提綱1. MPI的定義2. 系統(tǒng)配置3. MPI編程解析4
9、. MPI實例nC言語MPI程序的典型構(gòu)造:n #include “mpi.hn n int main(int argc, char *argv)n n int myrank, size;n int namelen;n char processor_nameMPI_MAX_PROCESSOR_NAME; n MPI_Init(&argc,&argv);n MPI_Comm_rank(MPI_COMM_WORLD,&myrank);n MPI_Comm_size(MPI_COMM_WORLD,&size);n MPI_Get_processor_name(processor_name,&name
10、len); n MPI_Finalize();n nMPI編程解析頭文件頭文件變量聲明變量聲明MPI程序初始化程序初始化MPI程序執(zhí)行部分程序執(zhí)行部分MPI程序終了程序終了nMPI點對點音訊傳送nMPI_Send(void * buf, int count, MPI_Datatype datatype,nint dest, int tag, MPI_Comm comm)nMPI_Recv(void * buf, int count, MPI_Datatype datatype,nint source, int tag, MPI_Comm comm,MPI_Status status)MPI編程
11、解析進程0進程1MPI_SendMPI_RecvMPI群體通訊廣播 (Broadcast) :Int MPI_Bcast ( void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm ) MPI_Bcast 是從一個序號為 root 的進程將一條音訊廣播發(fā)送到進程組內(nèi)的一切進程。MPI編程解析n例:進程 0 向組內(nèi)其他進程廣播發(fā)送100個整型數(shù)。nMPI_Comm comm; nint array 100; nint root = 0;n.nMPI_Bcast ( array , 100 , MPI_INT
12、, root , comm ); 進程0進程1進程n-1MPI編程解析MPI群體通訊歸約(Reduce) :int MPI_Reduce ( void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm )MPI_Reduce將組內(nèi)每個進程輸入緩沖區(qū)中的數(shù)據(jù)按 op 操作組合起來,并將其結(jié)果前往到序號為 root 的進程的輸出緩沖區(qū)中。MPI編程解析reduce操作:進程0進程1進程n-1 : :reduce( );reduce( ); : : : :reduce( );reduce( ); : : : :reduce( );reduce( ); : :MPI編程解析提綱1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國羽絨褥行業(yè)市場規(guī)模及未來投資方向研究報告
- 2025年中國往復(fù)式空氣壓縮機行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 2025年成都市中考道德與法治試題卷(含答案)
- 廣西百色市2022-2023學(xué)年高二下學(xué)期期末考試英語試題(含答案)
- 教育科技的前沿探索基于數(shù)字孿生的智能教學(xué)與學(xué)習(xí)模式研究報告
- 安全常識測試題及答案
- 傳民俗節(jié)日春節(jié)主題班會6
- 2025年鉭電容項目市場調(diào)查研究報告
- 2025年鋼通訊塔項目市場調(diào)查研究報告
- 2025年鋼彎曲機項目市場調(diào)查研究報告
- 越江盾構(gòu)施工課件PPT
- 箱梁預(yù)應(yīng)力鋼束張拉計算表
- 蓋梁穿心鋼棒法受力分析
- 支撐軸力的監(jiān)測
- 江蘇省勞動模范和先進工作者審批表
- 服裝測量方法及圖示
- 各校2018一師一優(yōu)課證書合肥市曙宏小學(xué)
- 圓弧(螺旋)傘齒輪計算簡表
- 完整版處方規(guī)范書寫模板
- 護理基層崗位練兵和技能競賽---護理試題解答
- 如何上好復(fù)習(xí)課.PPT
評論
0/150
提交評論