MPI并行計算考試簡答題_第1頁
MPI并行計算考試簡答題_第2頁
MPI并行計算考試簡答題_第3頁
MPI并行計算考試簡答題_第4頁
MPI并行計算考試簡答題_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、并行計算機分類什么是SIMD并行計算機?可以同時執(zhí)行一條指令處理多個數(shù)據(jù)的計算機什么是MIMD并行計算機?可以同時執(zhí)行多條指令處理多個數(shù)據(jù)的計算機什么是SPMD并行計算機?同時執(zhí)行一個程序處理多個數(shù)據(jù)的計算機什么是MPMD并行計算機?同時執(zhí)行多個程序處理多個數(shù)據(jù)的計算機什么是分布式內(nèi)存并行計算機?各處理器不共享內(nèi)存的并行計算機什么是共享內(nèi)存并行計算機?處理器共享內(nèi)存的并行計算機并行編程模式隱式并行、數(shù)據(jù)并行、消息傳遞、共享變量現(xiàn)在串行編程語言幾乎都是高級語言,為什么在并行計算領(lǐng)域編程語言卻還相對級別較低?并行計算目前還缺乏統(tǒng)一的模型和標(biāo)準(zhǔn)你知道的并行語言有哪些?HPF,各種并行C,并行C+,并

2、行PASCAL你認(rèn)為串行語言和并行語言的區(qū)別有哪些?是否提供并行的結(jié)構(gòu),是否提供并行的語義 并行算法的分類是怎樣的?粗粒度/細(xì)粒度并行算法,同步/異步并行算法同步并行算法在具有什么特點的并行計算機上可以高效實現(xiàn)?SIMD類并行計算機粗粒度的并行算法在什么條件下性能優(yōu)于細(xì)粒度的并行算法?并行的粒度越小就有可能開發(fā)更多的并行性提高并行度這是有利的方面但是另一個不利的方面就是并行的粒度越小通信次數(shù)和通信量就相對增多這樣就增加了額外的開銷,因此合適的并行粒度需要根據(jù)計算量、通信量、計算速度、通信速度進行綜合平衡這樣才能夠取得高效率。一個好的并行算法的前提是什么?一個好的并行算法要既能很好地匹配并行計算

3、機硬件體系結(jié)構(gòu)的特點又能反映問題內(nèi)在并行性如何設(shè)計適合機群系統(tǒng)的并行算法?對于機群系統(tǒng)一次通信的開銷要遠遠大于一次計算的開銷,因此要盡可能降低通信的次數(shù)或?qū)纱瓮ㄐ藕喜橐淮瓮ㄐ牛谕瑯拥脑颍瑱C群計算的并行粒度不可能太小,因為這樣會大大增加通信的開銷,如果能夠?qū)崿F(xiàn)計算和通信的重疊那將會更大地提高整個程序的執(zhí)行效率。并行算法的一般設(shè)計過程:PCAM設(shè)計過程該過程分為四步:任務(wù)劃分、通信分析、任務(wù)組合和處理器映射,簡稱PCAM設(shè)計過程。MPI是不是一門并行語言?為什么?不是,它只是一個消息傳遞庫目前MPI支持哪些語言?FORTRAN 77/C/Fortran90/C+MPI的三個主要目標(biāo)是什么

4、?功能強/移植性好/性能高目前MPI的主要免費實現(xiàn)有哪些?MPICH/LAM/CHIMPMPI環(huán)境定義的三種緩沖區(qū)應(yīng)用緩沖區(qū)、系統(tǒng)緩沖區(qū)、用戶向系統(tǒng)注冊的通信用緩沖區(qū)。MPI程序一般分為幾個部分?1 頭文件2 變量聲明3 程序開始 4 程序體5 程序結(jié)束MPI程序中的輸出語句和一般串行程序中輸出語句的執(zhí)行結(jié)果有什么不同?MPI程序中的輸出語句每一個進程都執(zhí)行,執(zhí)行時有幾個進程就有幾條輸出語句,而串行程序中輸出語句只有本進程輸出結(jié)果。不同進程對同一個內(nèi)容的輸出,其順序是什么?是隨機的。編寫一個C+MPI的程序,實現(xiàn)每一個進程都打印出自己的進程號,總的進程數(shù),本進程所在的機器名以及SAY HELL

5、O TO MPI。#include mpi.h#include #include int main(int argc,char *argv)int myid, numprocs;int namelen;char processor_nameMPI_MAX_PROCESSOR_NAME;MPI_Init(&argc,&argv);/*程序初始化*/MPI_Comm_rank(MPI_COMM_WORLD,&myid);/*得到當(dāng)前進程號*/MPI_Comm_size(MPI_COMM_WORLD,&numprocs);/*得到總的進程數(shù)*/MPI_Get_processor_name(proce

6、ssor_name,&namelen);/*得到機器名*/fprintf(stderr, Process %d of %d SAY HELLO TO MPI on %sn,myid, numprocs, processor_name);MPI_Finalize();/*結(jié)束*/return 0為了實現(xiàn)基本的MPI通信功能,至少需要幾個MPI調(diào)用?不多于6個MPI程序的第一條和最后一條可執(zhí)行語句應(yīng)為什么語句,如果不是這些語句,會導(dǎo)致什么樣的后果?初始化和結(jié)束語句,否則后果不可預(yù)測MPI消息傳遞包括哪幾個階段?組裝,傳遞,拆卸MPI消息的組成是怎樣的?消息信封和消息內(nèi)容任意源和任意標(biāo)識的作用是什么

7、?提供對不特定源和標(biāo)識的匹配編寫一個簡單的實現(xiàn)發(fā)送和接收功能的程序。#include mpi.hmain( argc, argv )int argc;char *argv;char message20;int myrank;MPI_Init( &argc, &argv );/* MPI程序的初始化*/MPI_Comm_rank( MPI_COMM_WORLD, &myrank );/* 得到當(dāng)前進程的標(biāo)識*/if (myrank = 0) /* 若是 0 進程*/* 先將字符串拷貝到發(fā)送緩沖區(qū)message中,然后調(diào)用MPI_Send語句將它發(fā)出,用strlen(message)指定消息的長度

8、,用MPI_CHAR指定消息的數(shù)據(jù)類型,1指明發(fā)往進程1,使用的消息標(biāo)識是99,MPI_COMM_WORLD是包含本進程(進程0)和接收消息的進程(進程1)的通信域。發(fā)送方和接收方必須在同一個通信域中。由通信域來統(tǒng)一協(xié)調(diào)和控制消息的發(fā)送和接收*/strcpy(message,Hello, process 1);MPI_Send(message, strlen(message), MPI_CHAR, 1, 99,MPI_COMM_WORLD);else if(myrank=1) /* 若是進程 1 */*進程1直接執(zhí)行接收消息的操作,這里它使用message作為接收緩沖區(qū),由此可見,對于同一個變

9、量,在發(fā)送進程和接收進程中的作用是不同的。它指定接收消息的最大長度為20,消息的數(shù)據(jù)類型為MPI_CHAR字符型,接收的消息來自進程0,而接收消息攜帶的標(biāo)識必須為99,使用的通信域也是MPI_COMM_WORLD,接收完成后的各種狀態(tài)信息存放在status中。接收完成后,它直接將接收到的字符串打印在屏幕上。*/MPI_Recv(message, 20, MPI_CHAR, 0, 99, MPI_COMM_WORLD, &status);printf(received :%s:, message);MPI_Finalize();/* MPI程序結(jié)束*/ 指出下面兩條調(diào)用的消息數(shù)據(jù)和消息信封部分M

10、PI_SEND( buf, count,datatype,dest,tag,comm)MPI_RECV(buf,count,datatype,source,tag,comm,status)在MPI中如何計時?使用MPI_WTIME函數(shù)如何終止MPI程序的執(zhí)行?使用MPI_ABORT調(diào)用什么是安全的發(fā)送和接收序列?一個進程先執(zhí)行發(fā)送操作,另一個進程先執(zhí)行相應(yīng)的接收操作。什么是注定要死鎖的發(fā)送和接收序列?兩個進程都先執(zhí)行接收操作,再執(zhí)行發(fā)送操作什么是不安全的發(fā)送和接收序列?兩個進程都先執(zhí)行發(fā)送操作什么是主從模式的MPI程序設(shè)計,有何特點?主從模式的MPI程序中不同的進程分工是不同的,比如可以是有的

11、負(fù)責(zé)數(shù)據(jù)的收集,有的負(fù)責(zé)數(shù)據(jù)的處理,而有的負(fù)責(zé)數(shù)據(jù)的輸出,他們所起的作用是不同的。什么是對等模式的MPI程序設(shè)計,它又有什么特點?對于對等模式的MPI程序,每一個進程都進行類似的工作,相互之間沒有特別的不同,在代碼上表現(xiàn)為各進程可重用的代碼非常多。什么是標(biāo)準(zhǔn)通信模式?舉例說明。用戶不需要對緩沖區(qū)進行管理,一切由MPI環(huán)境進行管理比如MPI_SEN 、MPI_RECV語句。什么是緩存通信模式?舉例說明。用戶必須提供緩沖區(qū)并提供對緩沖區(qū)的管理,比如MPI_BSEND語句什么是同步通信模式?舉例說明。發(fā)送調(diào)用的返回意味著接收操作已經(jīng)開始,比如MPI_SSEND語句。什么事就緒通信模式?舉例說明。必須

12、等到接收操作開始后才能夠發(fā)送的調(diào)用,比如MPI_RSEND語句。除了標(biāo)準(zhǔn)通信模式外,其它三種通信模式有沒有接收調(diào)用的形式?沒有。非阻塞通信的基本特點是什么?通信語句的調(diào)用不必等到通信的完成。非阻塞通信可以分為那些不同的種類?可以有非阻塞發(fā)送和非阻塞接收兩大類。什么是組通信?組通信有兩個基本的特點,一是組內(nèi)所有的進程都參加,二是各進程組通信調(diào)用的參數(shù)形式是一致的。組通信和點到點通信的主要區(qū)別是什么?組通信需要多方參加,而點到點通信需要兩方參加;組通信中各進程的調(diào)用形式是一致的,而點到點通信則在調(diào)用形式上有不同。組通信中實現(xiàn)通信功能的調(diào)用有那些?主要有廣播、散發(fā)、收集、全互換等組通信中那個調(diào)用可以

13、實現(xiàn)同步功能?MPI_Barrier調(diào)用組通信中實現(xiàn)計算功能的調(diào)用有那些?有歸約、組歸約、掃描等調(diào)用顯式指針文件操作和獨立指針文件操作的主要區(qū)別是什么?顯式文件指針操作必須指定文件讀取得位置,而獨立指針文件操作只是從當(dāng)前文件指針的位置開始讀寫操作。線程(thread )是進程上下文(context)中執(zhí)行的代碼序列,又被稱為輕量級進程(light weight process ) 在支持多線程的系統(tǒng)中,進程是資源分配的實體,而線程是被調(diào)度執(zhí)行的基本單元。線程與進程的區(qū)別區(qū)別一:調(diào)度區(qū)別二:并發(fā)性區(qū)別三:擁有資源區(qū)別四:系統(tǒng)開銷第六章:OpenMPOpenMP概述編譯制導(dǎo)語句其他的見課件1260頁4、簡述MPI點對點通信與MPI集合通信的區(qū)別。1)在通信子中的所有進程都必須調(diào)用相同的集合通信函數(shù)。2)每個進程傳遞給MPI集合通信函數(shù)的參數(shù)必須是“相容的”。3)參數(shù)output_data_p只用在dest_process上。然而,所有進程仍需要傳遞一個與output_data_p相對應(yīng)的實際參數(shù),即使它的值只是NULL。4)點對點通信函數(shù)是通過標(biāo)簽和通信子來匹配的。集

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論