Matlab并行程序設(shè)計.ppt_第1頁
Matlab并行程序設(shè)計.ppt_第2頁
Matlab并行程序設(shè)計.ppt_第3頁
Matlab并行程序設(shè)計.ppt_第4頁
Matlab并行程序設(shè)計.ppt_第5頁
免費預(yù)覽已結(jié)束,剩余21頁可下載查看

下載本文檔

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

文檔簡介

1、MATLAB并行程序設(shè)計,靖穩(wěn)峰 2007.7.3,Parallel Programming with MATLAB,主要內(nèi)容,1. MATLAB DCT 簡介 2. MATLAB分布式計算 3. MATLAB并行計算 4. PMODE (Interactive Paralell Programming),作用:在集群系統(tǒng)上進行并行程序設(shè)計,分布地或并行地運行MATLAB程序,從而加速大規(guī)模MATLAB程序的執(zhí)行。,1. MATLAB DCT 簡介,DCT (Distributed Computing Toolbox,分布式計算工具箱),MATLAB并行計算的特點,DCT分布式計算工作原理,D

2、CT并行計算工作原理,DCT工作過程,DCT工作過程,1) 尋找一個job manager,2) 創(chuàng)建一個Job,3) 創(chuàng)建task(多個),4) 將Job提交到隊列,5) 返回計算結(jié)果,6) 刪除對象,分布式計算步驟,(1)尋找一個scheduler,(2)創(chuàng)建一個Parallel Job,(3)創(chuàng)建task(一個),(4)提交Job,(5)返回結(jié)果,(6)刪除對象,Parallel Math 步驟,Distributed Job和Parallel Job的區(qū)別,2. MATLAB分布式計算,(1) MATLAB客戶端與job manager的結(jié)點相連接測試,1) 進入以下目錄: cd /e

3、xport/matlab2007a/toolbox/distcomp/bin 2)運行nodestatus來檢查配置和網(wǎng)絡(luò)連接。 nodestatus.sh remotehost console 如果成功,用戶應(yīng)該能夠看到j(luò)ob manager和job manager的worker的狀態(tài)。否則,返回MATLAB分別是計算引擎系統(tǒng)管理員向?qū)У囊徊糠?,這部分會給出如何解決當(dāng)前問題的幾種可能方法,(2)一個簡單的分布式Job,1) 啟動MATLAB,在MATLAB命令窗口,鍵入以下命令: jm=findResource(scheduler,type,jobmanager,name,myjobmana

4、ger,lookUpURL,console),2) 創(chuàng)建一個job job = createJob(jm); 3) 創(chuàng)建任務(wù) createTask(job,sum,1,1 1); createTask(job,sum,1,2 2); createTask(job,sum,1,3 3); 4)提交job submit(job) 5) 等待完成 waitForState(job,finished) 6)收集結(jié)果 result = getAllOutputArguments(job),results = 2 4 6,(2) Evaluating Functions in a Cluster,一個jo

5、b,有多個由相同函數(shù)完成的任務(wù),可使用 dfeval或defvalasync函數(shù)。 defval(sum,1 1, 2 2, 3 3,jobmanager,myjobmanager) job1=defvalasync(sum,1,1 1, 2 2, 3 3,jobmanager,myjobmanager) 必須用getAllOutputArguments(job1)取得結(jié)果,(3)非線性互補問題(NCP)的分布式計算,我們的job: NCP有兩個經(jīng)典算法,何小清同學(xué)研究了一個新算法, 比較這三個算法到一定精度時的迭代次數(shù)和耗費的時間。 三個算法MATLAB程序為fcn1.m、fcn2.m和fc

6、n3.m. 三個算法的初始數(shù)據(jù)為矩陣:A,B,D,q和維數(shù)n, 每次運行所有初始必須相同。 解決方案: (1)統(tǒng)一產(chǎn)生初始數(shù)據(jù)A,B,D,q和維數(shù)n。 (2)三個算法計算過程中沒有關(guān)系,可用分布式計算, 產(chǎn)生三個Task分別計算。,3. MATLAB并行計算,(1)計算的例子,計算的例子,function totalpi = tpi(npts) h = 1/npts; mysum = 0; for ii = labindex:numlabs:npts x = h*(ii-0.5); mysum = mysum+4/(1 +x*x); end mypi = h*mysum; if labinde

7、x =1 totalpi =mypi; for ii = 2:numlabs totalpi = total + labReceive(ii); end labBroadcast(1,totalpi); else totalpi = ; labSend(mypi,1); totalpi = labBroadcast(1); End,jm = findResource(scheduler,type,jobmanager); j = createParallelJob(jm); t = createTask(j,tpi,1,100000000); set(j,FileDependencies,tp

8、i); submit(j); tic; waitForState(j,finished); toc; getAllOutputArguments(j),加速比、加速效率,%串行 計算步長 100,000,000 tpi(100000000) Elapsed time is 174.467882 seconds. ans = 3.141592653590426 %并行計算步長 Elapsed time is 48.073917 seconds. ans = 3.141592653589745 %加速比 174.467882/48.073917 ans = 3.629158863838784 %加

9、速效率 3.629158863838784/5= 0.725831772767757,(2)邱比鄭南問題,(3)用MATLAB并行計算求解非線性互補問題(NCP),我們的job: NCP有兩個經(jīng)典算法,何小清同學(xué)研究了一個新算法, 比較這三個算法到一定精度時的迭代次數(shù)和耗費的時間。 三個算法MATLAB程序為fcn1.m、fcn2.m和fcn3.m. 三個算法的初始數(shù)據(jù)為矩陣:A,B,D,q和維數(shù)n, 每次運行所有初始必須相同。 解決方案: (1)統(tǒng)一產(chǎn)生初始數(shù)據(jù)A,B,D,q和維數(shù)n,由第一個 Lab廣播其他labs. (2)產(chǎn)生一個Task,lab2、lab3、接收后分別計算。,(4) M

10、ATLAB的通信函數(shù),1) labBroadcast:Send data to all labs or receive data sent to all labs 2) labSend:Send data to another lab 3) labReceive:Receive data from another lab 4) labSendReceive:Simultaneously send data to and receive data from another lab 5) labProbe:Test to see if messages are ready to be receiv

11、ed from other lab 6) labBarrier:Block execution until all labs reach this call,(5) MATLAB常用的并行計算函數(shù),darray dcolon distribute gather gcat gop gplus local parfor pload psave,4. pmode(Interactive Parallel Mode),(1)labs同時執(zhí)行交互輸入的命令; (2)每一lab在自己的工作空間處理自己的變量; (3)所有l(wèi)abs處理結(jié)束后,才能輸入新的命令. 進入pmode 單機學(xué)習(xí):pmode start 集群:pmode start jobmanager n n=2,3,4,5,In

溫馨提示

  • 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

提交評論