《MATLAB并行計(jì)算簡(jiǎn)介(是幾個(gè)機(jī)子并行的)》由會(huì)員分享,可在線閱讀,更多相關(guān)《MATLAB并行計(jì)算簡(jiǎn)介(是幾個(gè)機(jī)子并行的)(16頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,Windows,環(huán)境下的分布式并行計(jì)算平臺(tái)搭建,MATLAB,并行平臺(tái)底層架構(gòu),MATLAB,并行平臺(tái)搭建,并行程序的編寫(xiě)與實(shí)例,實(shí)驗(yàn)室,MATLAB,并行集群,1,MATLAB,并行平臺(tái)底層架構(gòu)(一),并行平臺(tái)上的三種角色,“警察”:維護(hù)整個(gè)平臺(tái)。,(mdce,:底層維護(hù)和通信進(jìn)程,),“老板”:接任務(wù),雇傭工人并分配任務(wù)。,(,jobmanager,:負(fù)責(zé)對(duì)計(jì)算機(jī)資源的管理,,接收用戶發(fā)過(guò)來(lái)的并行計(jì)算任務(wù)。),“工人”:努力工作。,(,worker,:工作進(jìn)程),我負(fù)責(zé)維護(hù)整個(gè)并行平臺(tái),接生意咯,客
2、戶要什么我就叫工人搞定它。,聽(tīng)老板的話,,努力干活!,2,MATLAB,并行平臺(tái)底層架構(gòu)(二),MATLAB,并行平臺(tái)底層架構(gòu)圖,3,MATLAB R2009b,的安裝及啟動(dòng)(一),安裝時(shí)注意,,MDCS,,,License Manager,,并行計(jì)算工具箱,Parallel Computing Toolbox,等,為,必,裝,的產(chǎn)品和工具箱,,(子節(jié)點(diǎn)機(jī)可不用裝,License Manager,)如下圖所示。,4,MATLAB R2009b,的安裝及啟動(dòng)(二),裝好軟件在啟動(dòng)之前,,雙擊主節(jié)點(diǎn)機(jī)的,matlabrootflexlm,文件夾下的,lmtool.exe,(,matlabroot,
3、表示,matlab,軟件的安裝目錄),開(kāi)啟,Matlab License Server,,如下圖。,5,關(guān)閉防火墻,為方便平臺(tái)搭建,將目錄,matlabroottoolboxdistcompbin,添加到環(huán)境變量中的,path,里邊,如右圖設(shè)置。,6,MATLAB,并行平臺(tái)搭建(一),MATLAB,并行平臺(tái)搭建(二),安裝和開(kāi)啟,mdce,(分布式計(jì)算引擎),運(yùn)行,-cmd,安裝,mdce:mdce install,開(kāi)啟,mdce:mdce start,注意:,mdce,安裝后會(huì)下次開(kāi)機(jī)自動(dòng)啟動(dòng),警察來(lái)了!,7,MATLAB,并行平臺(tái)搭建(三),配置,jobmanager,打開(kāi),matlab,
4、軟件,菜單選,ParallelManage Configurations,,彈出對(duì)話框;,Filenewjobmanager,,彈出對(duì)話框:,Scheduler,項(xiàng),,LookupURL,處填寫(xiě)所用計(jì)算機(jī)的名稱,如,node5,;,Name,項(xiàng)為自擬的,jobmanager,的名稱,如,myjobmanager,Jobs,項(xiàng),,Number of Workers,處表示該,jobmanager,運(yùn)行并行程序時(shí)需要最小,worker,數(shù)目(即最小,worker,數(shù)目才執(zhí)行),以及該,jobmanager,可擁有的最大,worker,數(shù)目;,3.,點(diǎn)擊,OK,,完成配置。,完善資料,合法經(jīng)營(yíng)。,8
5、,MATLAB,并行平臺(tái)搭建(三),打開(kāi),jobmanager,命令行下輸入:,startjobmanager name,myjobmanager,即前面配置時(shí)的名字,附:關(guān)閉,jobmanager,stopjobmanager name myjobmanager,正式登場(chǎng)!,9,MATLAB,并行平臺(tái)搭建(四),創(chuàng)建,worker,進(jìn)程,(,雇傭工人,),同樣在命令行下輸入:,startworker jobmanagerhost,node5,jobmanager,myjobmanager,name,worker1,remotehost,node1,node5:,本地計(jì)算機(jī)名字,myjobma
6、nager,:,jobmanager,的名字,worker1:worker,進(jìn)程的名字,node1:,遠(yuǎn)程計(jì)算機(jī)的名字,注意:可開(kāi)啟多個(gè)不同名字的,worker,進(jìn)程;,若在本地上創(chuàng)建則不需后面的,-remotehost node1,。,附:關(guān)閉,worker,進(jìn)程:,stopworkername worker1 remotehost node1,我聘請(qǐng)你。,好。,平臺(tái)搭建完畢!可用,nodestatus,指令查看。,10,MATLAB,并行程序編寫(xiě),資源查找,創(chuàng)建對(duì)象;,創(chuàng)建工作(,job,);指定工作任務(wù)(,task,);提交工作;等待;返回計(jì)算任務(wù)結(jié)果。,findResource(),c
7、reateJob(),createTask(),submit(),getAllOutputArguments(),waitForState(),程序結(jié)構(gòu)和相關(guān)函數(shù)調(diào)用,11,MATLAB,并行程序示例,%,程序功能,并行計(jì)算求,2+4,,,5+8,,,1+7,的和。,資源查找,創(chuàng)建對(duì)象。,jm=findResource(scheduler,type,jobmanager,name,myjobmanager,LookupURL,node5,);,需要修改的是紅色劃線參數(shù),第一個(gè)即前面,jobmanager,的名字,第二個(gè),即本地主機(jī)的名字,創(chuàng)建工作,并將該工作所需的數(shù)據(jù)、程序發(fā)到各個(gè),worke
8、r,處。,job1=createJob(jm);%,工作名為,job1,%set(job1,FileDependencies,bb1.m,bb2.m,bb3.m,W_FDJ1.mat,W_FDJ2.mat,W_FDJ3.mat);,注:,set(),函數(shù)就是將該工作所需的數(shù)據(jù)、程序發(fā)到各個(gè),worker,處,本程序不需要用到。,創(chuàng)建任務(wù),createTask(job1,sum,1,2,4,);,createTask(job1,sum,1,5,8,);,createTask(job1,sum,1,1,7,);,為,job1,創(chuàng)建了,3,個(gè)任務(wù),,sum,代表函數(shù)頭,,1,代表返回參數(shù)個(gè)數(shù),此處為
9、,1,個(gè),,2,4,代表函數(shù),sum,的輸入?yún)?shù)。,12,提交工作,submit(job1);,等待,waitForState(job1,finished);,返回結(jié)果,results=getAllOutputArguments(job1);,其中,results1,代表任務(wù),1,的結(jié)果,本程序則為,6,。,(2+4),results2,代表任務(wù),2,的結(jié)果,本程序則為,13,。,(5+8),results3,代表任務(wù),3,的結(jié)果,本程序則為,8,。,(1+7),完整程序如下,MATLAB,并行程序示例,13,實(shí)驗(yàn)室,MATLAB,集群平臺(tái),主機(jī),node5,node1 4,node2 4,node3 4,node4 4,4,實(shí)驗(yàn)室,MATLAB,集群平臺(tái)示意圖,15,The end,16,