Felac并行程序架構(gòu)課件_第1頁(yè)
Felac并行程序架構(gòu)課件_第2頁(yè)
Felac并行程序架構(gòu)課件_第3頁(yè)
Felac并行程序架構(gòu)課件_第4頁(yè)
Felac并行程序架構(gòu)課件_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Felac并行程序架構(gòu)第1頁(yè),共16頁(yè)。目錄并行環(huán)境硬件環(huán)境軟件環(huán)境Felac并行程序架構(gòu)主進(jìn)程程序架構(gòu)從進(jìn)程程序架構(gòu)Felac并行計(jì)算后處理分析Felac并行程序架構(gòu)與Pfepg對(duì)比Felac并行計(jì)算超大規(guī)模問(wèn)題第2頁(yè),共16頁(yè)。并行環(huán)境硬件環(huán)境 并行計(jì)算機(jī)體系結(jié)構(gòu)對(duì)稱多處理機(jī)(SMP)每個(gè)處理器可等同地訪問(wèn)共享存儲(chǔ)器、I/O設(shè)備和操作系統(tǒng)服務(wù);優(yōu)點(diǎn):可開(kāi)拓較高的并行度,使用簡(jiǎn)單,維護(hù)方便;缺點(diǎn):因?yàn)楣蚕泶鎯?chǔ),所以限制了系統(tǒng)中處理器的數(shù)目(一般少于64個(gè)),同時(shí)總線和交叉開(kāi)關(guān)一旦作成也難于擴(kuò)展;并行編程方式:通常采用OpenMP,也可使用消息傳遞(MPI/PVM)及HPF代表機(jī)型:SGI P

2、ower Challenge、DEC Alpha 服務(wù)器 8400、曙光1號(hào)等;第3頁(yè),共16頁(yè)。對(duì)稱多處理機(jī)(SMP)大規(guī)模并行處理機(jī)(MPP)MPP一般是指超大型計(jì)算機(jī)系統(tǒng),處理節(jié)點(diǎn)采用商品微處理器;系統(tǒng)中有物理上的分布存儲(chǔ)器;采用高通信帶寬和低延遲的互聯(lián)網(wǎng)絡(luò);能擴(kuò)放至成百上千乃至上萬(wàn)個(gè)處理器;是一種異步的MIMD機(jī)器,程序由多個(gè)進(jìn)程組成,每個(gè)都有其私有的地址空間,進(jìn)程間采用消息傳遞相互作用。MPP主要用于科學(xué)計(jì)算、工程模擬和信號(hào)處理等以計(jì)算為主的領(lǐng)域。代表機(jī)型:Intel Paragon IBM SP2、Intel TFLOPS、曙光-1000。P/CP/CP/C.總線或交叉開(kāi)關(guān)SMSM

3、SM.第4頁(yè),共16頁(yè)。并行環(huán)境分布共性存儲(chǔ)多處理機(jī)(DSM)DSM在物理上有分布在各個(gè)節(jié)點(diǎn)中的局存,從而形成了一個(gè)共享的存儲(chǔ)器。系統(tǒng)硬件和軟件提供了一個(gè)單地址的編程空間。DSM比MPP來(lái)編程更加容易。代表機(jī)型:Standford DASH、Cray T3D和SGI/Cray Origin 2000;定制網(wǎng)絡(luò)MBMBP/CLMNICP/CLMNIC.第5頁(yè),共16頁(yè)。并行環(huán)境軟件環(huán)境Linux系統(tǒng):RedHat, Debian, SuSE, Mandrake,編譯系統(tǒng):gcc/gfortran,icc,ifortMPI系統(tǒng):MPICH, LAM-MPI,MVAPICH,IMPI數(shù)學(xué)庫(kù):BLAS

4、, LAPACH。定制網(wǎng)絡(luò)MBMBP/CLMNICP/CLMNIC.DIRDIR第6頁(yè),共16頁(yè)。Felac并行程序架構(gòu)PC機(jī)生成串行程序啟動(dòng)GId前處理生成并行代碼到目錄下文件夾“項(xiàng)目名.mpi”把生成的文件夾“項(xiàng)目名.mpi”上傳到并行機(jī)make編譯鏈接運(yùn)行mpirun命令提交計(jì)算任務(wù)把結(jié)果文件下載到PC機(jī)打開(kāi)GID后處理合并計(jì)算結(jié)果查看Felac并行計(jì)算操作流程包含文件有:并行程序C代碼、mat材料參數(shù)文件、time0時(shí)間控制文件、Makefile和前處理數(shù)據(jù)項(xiàng)目名.gid文件夾,其包含文件為項(xiàng)目名.dat ,partition.dat第7頁(yè),共16頁(yè)。主程序主進(jìn)程gidprespart

5、mpartitionmgetpartmpi_m2sspresgetpart從進(jìn)程startaetestassolvutestagidres程序結(jié)束Felac并行程序架構(gòu)Felac并行程序流程, 并行固有程序, 并行不同于串行程序, 與串行程序一致程序第8頁(yè),共16頁(yè)。Felac并行程序架構(gòu)主進(jìn)程程序架構(gòu)void masterp(void)gidpre();mpartition(coor0,elema);mgetpart(coor0,dofa,ida,ubfa,elema,unoda,maplga,imaplga,inita);mpi_m2s();gidpre:與串行程序一致,讀入前處理數(shù)據(jù),包

6、括:網(wǎng)格信息、單元信息、初值信息、邊值信息等;注意,與串行不同的是,在gidpre中的體單元類型數(shù)nbdetype,將會(huì)在mpartition分區(qū)程序中用到,所以在gidpre中生成該常數(shù),并保證其正確性。當(dāng)遇到問(wèn)題是要查看是否生成的體單元類型數(shù),與實(shí)際一致。第9頁(yè),共16頁(yè)。Felac并行程序架構(gòu)主進(jìn)程程序架構(gòu)Mpartition:并行固有程序,主要功能是網(wǎng)格節(jié)點(diǎn)分區(qū),并在此基礎(chǔ)上構(gòu)建邏輯單元區(qū)域、體單元分區(qū)及相鄰進(jìn)程信息;Mpartition程序分區(qū)過(guò)程mgetpart:并行固有程序,主要功能是場(chǎng)信息分區(qū),與場(chǎng)相關(guān)的信息按照mpartition分區(qū)的節(jié)點(diǎn)構(gòu)建每個(gè)分區(qū)的邊界單元、邊值、初值信

7、息和方程號(hào)信息,并發(fā)送到每個(gè)子進(jìn)程;第10頁(yè),共16頁(yè)。Felac并行程序架構(gòu)主進(jìn)程程序架構(gòu)mpi_m2s程序是協(xié)調(diào)并行求解器的程序,因?yàn)榍蠼馄鲿r(shí)一個(gè)整個(gè)通信域的SIMD程序,所以主進(jìn)程需要在從進(jìn)程計(jì)算求解調(diào)用求解器程序時(shí),相應(yīng)的調(diào)用求解器接口程序以達(dá)到整個(gè)程序的同步性。第11頁(yè),共16頁(yè)。Felac并行程序架構(gòu)從進(jìn)程程序架構(gòu)void slavep(int iblk)spart(&coor0);spre();sgetpart(coor0,dofa,&ida,&ubfa,&elema,unoda,&maplga,&imaplga,inita);starta(coor0,dofa,ida,elem

8、a,&matrixa,&fa);etesta(coor0,dofa,ida,ubfa,elema,matrixa,fa,1);mpi_sendms(1);ssolv(matrixa,fa,maplga,imaplga);utesta(coor0,dofa,ida,ubfa,fa);etestb(coor0,dofb,elema);gidres(coor0);mpi_sendms(-1);第12頁(yè),共16頁(yè)。Felac并行程序架構(gòu)從進(jìn)程程序架構(gòu) 亮色部分為并行程序在串行程序的基礎(chǔ)上添加的程序,各程序功能如下所述:spart:接收主進(jìn)程Mpartition程序發(fā)送的坐標(biāo)信息和相鄰進(jìn)程信息;spre

9、:改程序是生成各場(chǎng)初值個(gè)數(shù)、自由度數(shù);sgetpart:接收主進(jìn)程Mgetpart發(fā)送的場(chǎng)信息,包括單元信息、初值信息、邊值信息和方程號(hào)等;mpi_sendms:第一處在solv之前是發(fā)送求解器調(diào)用標(biāo)志到主進(jìn)程;第二處發(fā)送-1到主進(jìn)程是發(fā)送程序結(jié)束標(biāo)志到主進(jìn)程;starta、etesta、utesta、etestb程序沿用串行程序;ssolv:求解器程序調(diào)用并行求解器,與串行程序不同;gidres:程序由于要輸出整體節(jié)點(diǎn)編號(hào)對(duì)應(yīng)的網(wǎng)格信息及結(jié)果信息,與串行程序有微小的差別;第13頁(yè),共16頁(yè)。Felac并行計(jì)算后處理分析Felac并行程序后處理輸出結(jié)果為各個(gè)分區(qū)結(jié)果:比如項(xiàng)目名為test,分3

10、個(gè)分區(qū)計(jì)算,則生成的后處理結(jié)果為:test1.post.msh、test2.post.msh、test3.post.mshtest1.post.res、test2.post.res、test3.post.res 通過(guò)GID軟件的merge功能將三個(gè)分區(qū)結(jié)果合并到一起查看后處理結(jié)果,具體算例請(qǐng)查看文檔“Felac并行計(jì)算流程說(shuō)明文檔.doc”。第14頁(yè),共16頁(yè)。Felac并行程序架構(gòu)與Pfepg對(duì)比Felac并行程序相當(dāng)對(duì)于Pfepg來(lái)說(shuō),主要有一下幾點(diǎn):C語(yǔ)言的穩(wěn)定性和可維護(hù)性比Fortran版本更好;主程序的固定模式比Pfepg對(duì)于不同問(wèn)題需要自動(dòng)生成主程序流程更加簡(jiǎn)單;Felac版本加入

11、小函數(shù)來(lái)控制非線性問(wèn)題,比起pfepg的發(fā)送接收,更加簡(jiǎn)單通用;Felac版本基于點(diǎn)點(diǎn)通信比起Pfepg的主從通信來(lái)效率會(huì)更高;Felac版本省去了從進(jìn)程到主進(jìn)程發(fā)送結(jié)果信息的流程,時(shí)間上更少;Felac版本輸出結(jié)果是各個(gè)分區(qū)結(jié)果,不再匯總到主進(jìn)程;并行計(jì)算流程更加簡(jiǎn)單,不再需要數(shù)據(jù)轉(zhuǎn)換,前處理轉(zhuǎn)換,后處理轉(zhuǎn)換等一些列操作,源代碼上傳到服務(wù)器后,只需要編譯運(yùn)行即可;第15頁(yè),共16頁(yè)。Felac并行計(jì)算超大規(guī)模問(wèn)題未經(jīng)超大規(guī)模測(cè)試當(dāng)進(jìn)行大規(guī)模測(cè)試時(shí),需要注意問(wèn)題如下:頭文件中宏定義常數(shù)需要根據(jù)問(wèn)題規(guī)模設(shè)置其大小maxt;maxt在并行中的分區(qū)程序中用到,開(kāi)辟的是節(jié)點(diǎn)拓?fù)鋯卧?jié)點(diǎn)總數(shù)的規(guī)模,這個(gè)數(shù)的不好推算,尤其是在劃分非結(jié)構(gòu)化網(wǎng)格的時(shí)候會(huì)隨著一個(gè)節(jié)點(diǎn)的共用單元數(shù)的增大而增大,所以需要用戶去試探推算。在inimpi程序中需要將數(shù)組msid的大小根據(jù)需要適當(dāng)增大,當(dāng)前僅適用于

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論