全文预览

matlab并行计算之parfor

上传者:塑料瓶子 |  格式:docx  |  页数:3 |  大小:0KB

文档介绍
d ClusterР9 Programming Distributed Jcb5Р■t Programmirg Parallel JobsР,rm i r __?,二?РThe varifРThe* exarРFax?Р[5rQadcaРWith 1 aРWhen yoРan inr4aLMРР在此,我将摘取一部分重要的加以说明并举例Р在pafor中,变量不再是随心所欲的使用,有着其自己的分类。在parfor运Р行Р时,我们经常会遇到这样的错误“Error:ThevariablexxxinaparforРcannotbeclassified.”说的就是变量xxx不能被正常划分到正确的类别中РРparfor变量一共分为5类,每一类的定义和用途就不说了,看一眼就明白。需Р要注意的是以下几点Р(1)循环变量РР循环变量在循环体中的使用一定要具有独立性,循环体之间不相关。例Рa(i)=a(i-1)*temp;是不行的。Р(2)sliced变量(一般是数组,被各个处理器分割成一个个slice)slice变量Р在一个循环体内只能出现一个slice,简单说就是一个循环体内只能出现slice数Р组的一个元素。例Рa(i)=temp1;Рa(i+1)=temp2;Р是不行的。Р另外,slice变量的下标一定要连续,例Рa(2*i)=temp;Р是不行的。Р)临时变量Рmatlab使用变量的一个好处是不需要预定义。但是在使用parfor时,这会弄Р混sliced变量和临时变量。由于临时变量不需要有sliced变量的限制,使用更自Р由,因此一定要区分开。方法是在parfor中对临时变量进行预定义。例parforРi=1:10Рb=zeros(1,4);Рforj=1:4Рb(i)=i+1;РendРa(i)=b;%a是sliced变量РendР基本上注意到这几个问题就能正常运行parfor了。

收藏

分享

举报
下载此文档