




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄一 . 系統安裝21. 下載地址2.2. 安裝步驟2.3. Visual Stdi o 設置2.二. 實驗程序31. 簡單的MPI 編程示例 3.2. 消息傳遞MPI編程示例1 4.3. 消息傳遞MPI編程示例2 6.4. Monte Carlo 方法計算圓周率 9.5. 計算積分 1.2.三. 心得體會 1.4.編輯版一.系統安裝1. 下載地址FTP 匿名登陸 在 pub/mpi/nt 文件夾中2. 安裝步驟1)在安裝有MPI的計算機上要建立一個有管理員權限的賬戶,不可以沒有密碼;2)雙擊exe文件,按默認設置安裝MPI ;3)注冊MPI賬戶,調用 MPI
2、Register.exe用戶名和密碼即為第一步中的賬戶3. Visual Stdio 設置為避免每新建一個項目都要設置一次,可以對它進行通用設置。打開視圖-其他窗口 -屬性管理器,點擊Debug|Wi n32目錄下的Microsoft.Cpp.Wi n32.use,在 VC+ 目錄下的包含目錄中添加 MPICH 的 In elude路徑,庫目錄中添加MPICH的Lib路徑;在鏈接器-輸入目錄下的附加依賴項中添力卩 mpich.lib、mpe.lib、mped.lib、mpichd.lib。npich.lib亠mpeJib mpcdJib mpichd.lib魅承的值:kerncl32Jibus
3、erSZlibgdi2.lib winspocljib comcllg32.lib閱從空謝或血冃戢認IS維礙確走取消實驗程序1.簡單的MPI編程示例 1)源代碼#in elude #i nclude int main (i nt argc, char* argv)int nu m, rk;MPI_Init(&argc, &argv);MPI_Comm_size(MPI_COMM_WORLD, &n um);MPI_Comm_ra nk(MPI_COMM_WORLD, & rk);prin tf(Hello world from Process %d of %dn, rk, nu m);MPI_
4、Fi nalize();return 0;2)運行截圖2.消息傳遞MPI編程示例11)源代碼#in elude #include int main (i nt argc, char* argv)int myid, nu mprocs,source;MPI_Status status;char messages100;MPI_Ini t(&argc, &argv);MPI_Comm_size(MPI_COMM_WORLD, &n umprocs);MPI_Comm_ra nk(MPI_COMM_WORLD, &m yid);if (myid != 0)strcpy(messages, Hello
5、 World!);MPI_Se nd(messages, strle n( messages) + 1, MPI_CHAR, 0, 99, MPI_COMM_WORLD);elsefor (source = 1; source nu mprocs; source+)MPI_Recv(messages, 100, MPI_CHAR, source, 99, MPI_COMM_WORLD,&status);prin tf(I am process %d I recv stri ng %s fromprocess %dn, myid, messages, source);MPI_Fi nalize(
6、);return 0;2)運行截圖列 yu MPIRun3. 消息傳遞MPI編程示例21)源代碼#i nclude #in clude #in clude#define N 1002int main (i nt argc, char* argv)int myid, nu mprocs, C = 0;double dataN, SqrtSum=0.0;_double d;for (int i = 0; i N; i+)datai = i;MPI_Status status;MPI_I nit(&argc, & argv);_MPI_Comm_ra nk(MPI_COMM_WORLD, &m yi
7、d);MPI_Comm_size(MPI_COMM_WORLD, &n umprocs);-nu mprocs;if (myid = 0)for (i nt i = 0; i N; +i)+ 1,1,MPI_Se nd(&datai, 1, MPI_DOUBLE, i% nu mprocs MPI_COMM_WORLD);for (int source = 1; source = nu mprocs; +source)MPI_Recv(&d, 1, MPI_DOUBLE, source, 99, MPI_COMM_WORLD, & status);SqrtSum += d;elsefor (i
8、nt i = myid; i N; i = i + nu mprocs)MPI_Recv(&d, 1, MPI_DOUBLE, 0, 1,MPI_COMM_WORLD, & status);SqrtSum += sqrt(d);+C;MPI_Se nd(&SqrtSum, 1, MPI_DOUBLE, 0, 99,MPI_COMM_WORLD);prin tf(I am process %d. I recv total %d from process 0, andSqrtSum=%f.n, myid, C, SqrtSum);_MPI_Fi nalize();_return 0;2)運行截圖回
9、File EditNiiiiter ofqn MPIRjnAUDlicati E:Workspacev520lGWILjblVPcbulWILabl. exe:QJlprecess4+JtQ-tal250f r:3 JIprocessNIreevtotal和cess:3 JIprocessNIcessIcmPF0CC350,1T亡亡V*ofnl0 froTi proc亡耳呂 OBJlpro匚i旨呂!.ITECVtol a 1251frorprocrs需 ad Squt9m=52!7g.曠田陸+ 口 and SqiSun-53TCi.G 步日Eq
10、rtSUa-5262.時疋目瓦 anrl 5qr-tSun=ZL05rr. 455S3?.nd SartSjn-=52S5, !- fi3&5S,4. Mon te Carlo方法計算圓周率1)源代碼#i nclude mpi.h#include #include int main (i nt argc, char *argv)int myid, nu mprocs;int source;long count = 1000000;MPI_Status status;MPIni t(&argc, & argv);MPI_Comm_ra nk(MPI_COMM_WORLD, &m yid);MPI
11、_Comm_size(MPI_COMM_WORLD, &n umprocs);sran d(myid);double y, x, pi = 0.0, n = count;long m = 0, m1 = 0, i = 0, p = 0;for (i = 0; ico unt; i+)x = (double)ra nd() / (double)RAND_MAX;y = (double)ra nd() / (double)RAND_MAX;if (x - 0.5)*(x - 0.5) + (y - 0.5)*(y - 0.5)0.25)+m;pi = 4.0*m / n;prin tf(Proce
12、ss %d of % pi = %fn, myid, nu mprocs, pi);if (myid != 0)MPI_Se nd(&m, 1, MPI_DOUBLE, 0, 1, MPI_COMM_WORLD);elsep = m;for (source = 1; source nu mprocs; source+)MPI_Recv(&m1, 1, MPI_DOUBLE, source, 1,MPI_COMM_WORLD, & status);p = p + m1;prin tf(pi = %fn, 4.0*p / (n*nu mprocs);MPI_Fi nalize();return 0
13、;2)運行截圖NJibr olI3 1 LEtmOutput軒*itAtid H:WcrkSniceUS20i3fl?fLabiDebUJEPILab 1. ezs lie Ldit Vnew Help?roc&ss 2 泣= 3, K&sEE?rcese 1 of ODWQ0031 - 3, H144EProcess 0 of QOQOQQQSI = 3. H357ELi = 3, J43636,1Readv5. 計算積分1)源代碼#defi ne N 100000000#defi ne a 0#defi ne b 10#include #include #in clude #include
14、 mpi.hint main (i nt argc, char* argv)int myid, nu mprocs;int i; _double local = 0.0, dx = (double)b - (double)a) / (double)N;double in te, x;MPI_I nit(&argc, & argv);_MPI_Comm_ra nk(MPI_COMM_WORLD, &m yid);_MPI_Comm_size(MPI_COMM_WORLD, &n umprocs);for (i = myid; iN; i = i + nu mprocs)x = a + i*dx + dx / 2;(乙:0 ujn;8jlOaziieuij-idlAI3屮!lq 乜,.1UV9L9L%= P%lP% uoi68j ui xx)o |e68iui aqi.uud(O = PlAiu) jj(cnBO/VT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校清真灶管理制度
- 學校考勤誰管理制度
- 學生上放學管理制度
- 學生洗浴室管理制度
- 安保部查崗管理制度
- 安全生產科管理制度
- 實行會員制管理制度
- 寵物店封閉管理制度
- 客運車安全管理制度
- 室外充電樁管理制度
- 私募股權投資基金(雙GP)合作框架協議書范本
- 顯微根尖手術治療
- 電網工程設備材料信息參考價(2024年第四季度)
- 《水性涂料產品介紹》課件
- 2025-2030年中國黃連素市場運營狀況與發展潛力分析報告
- 新疆工程勘察設計計費導則(房屋建筑和市政基礎設施項目工程設計部分)
- 2025年青島市即墨區衛生健康局所屬事業單位和公立醫院招考聘用358人高頻重點提升(共500題)附帶答案詳解
- 2025版國際貿易大宗商品交易平臺合作合同3篇
- 作家助手簽約標準合同范例
- 建設項目規劃設計研究院2022年人才隊伍建設年實施方案
- 人音版音樂七年級上冊《夏夜圓舞曲》課件
評論
0/150
提交評論