이번역페이지는최신내용을담고있지않습니다。최신내용을문으로보려면여기를클릭하십시오。
parpool
클러스터에서병렬풀만들기
구문
설명
parpool
은디폴트클러스터프로파일을사용하여워커의병렬풀을시작합니다。디폴트기본설정에서matlab®은물리적CPU코어당하나의워커를사용해로컬컴퓨터에서풀을시작하며,이때워커의최대개수는기본설정의워커개수로한정됩니다。병렬기본설정에대한자세한내용은병렬기본설정지정하기항목을참조하십시오。
일반적으로풀크기는병렬기본설정및디폴트프로파일로지정됩니다。parpool
은병렬언어기능을실행할수있도록[1, preferredNumWorkers]
범위내에서NumWorkers
개의워커를갖는풀을디폴트클러스터에만듭니다。preferredNumWorkers
는병렬기본설정에정의된값입니다。풀크기에향을미칠수있는모든은풀크기및클러스터선택항목을참조하십시오。
parpool
을사용하면워커로구성된풀에대한특수작업을만들고MATLAB클라이언트를병렬풀에연결하여MATLAB의병렬언어기능이모두가능하게됩니다。병렬언어기능에는parfor
,parfeval
,parfevalOnAll
,spmd
및分布式
가있습니다。가능한경우워커의작업폴더는MATLAB클라이언트세션의폴더와일치하도록설정됩니다。
parpool (
는지정된개수의워커로구성된풀을만들고반환합니다。poolsize
)poolsize
는양의정수이거나범위를지정하는정수소를2개가진벡터일수있습니다。poolsize
가범위경우,결과풀의크기는청한범위내에서가능한큰값으로지정됩니다。
poolsize
를지정하면기본설정또는프로파일에서지정된워커개수가재정의되고,워커를사용할수있을때까지기다려야하는경우가있더라도정확하게지정된개수의워커로구성된풀이시작됩니다。대부분의클러스터에는시작할수있는최대워커개수가있습니다。프로파일이matlab작업스케줄러클러스터를지정하는경우,parpool
은이MATLAB작업스케줄러에서이미실행중이거나사용가능한워커중에서parpool이사용할워커를예약합니다。프로파일이로컬또는타사스케줄러를지정하는경우,parpool
은스케줄러가풀에있는워커를시작하도록지시합니다。
예제
입력marketing수
출력marketing수
팁
데스크탑의왼쪽아래코너에있는풀상태표시기는풀에연결된클라이언트세션과풀상태를보여줍니다。아이콘을클릭하면지원되는풀동작에대한메뉴가@ @시됩니다。
풀이실행중marketing경우:실행중marketing풀이없는경우:
필로할때병렬풀을자동으로만들도록병렬기본설정을설정한경우,
parpool
명령을명시적으로호출할필가없습니다。풀설정에드는오버헤드시간이발생하는시점을조절하려면사용자가명시적으로풀을만들면됩니다。이렇게하면이후병렬언어구문을처리해야할때미리준비해놓은풀을바로사용할수있습니다。删除(poolobj)
는병렬풀을종료합니다。병렬풀이없는경우,병렬기본설정에서병렬풀이자동으로시작되도록설정되지않았다면spmd
와parfor
는클라이언트에서단일스레드로실행됩니다。MATLAB편집기를사용하여병렬풀에연결된클라이언트의파일을업데이트하는경우,이업데이트는자동으로풀의워커로전파됩니다。(金宝app仿真软件®모델파일에는이러한자동업데이트가적용되지않습니다。업데이트된모델파일을워커로전파하려면
updateAttachedFiles
함수를사용하십시오。)가능한경우워커의처음작업폴더는MATLAB클라이언트세션의폴더와일치하도록설정됩니다。그런후클라이언트명령창에입력된다음명령도풀의모든워커에서실행됩니다。
이동작을통해모든워커의작업폴더와명령검색경로를설정할수있으므로
parfor
루프와같은후속풀동작이적절한상황에서실행됩니다。窗户®운체제를사용하는클라이언트에서
cd
또는目录
를사용하여폴더를변경하거나경로를추가하면,워커로전송되는값은폴더에대한UNC경로입니다(가능한경우)。Linux®운체제를사용하는클라이언트의경우에는절대폴더위치가전송됩니다。이러한명령이클라이언트에서작동하지않는경우워커에서도실행되지않습니다。예를들어,
目录
실행시클라이언트가액세스할수없는폴더를지정하는경우目录
명령은워커에서실행되지않습니다。그러나클라이언트에서작업폴더를설정할수있지만어떤워커에서도지정된대로설정할수없는경우,클라이언트명령창에오류메시지가반환되지않습니다。클라이언트가워커와동일한플랫폼이아니거나,클라이언트에대한로컬폴더또는클라이언트에서매핑된폴더를워커가동일한방식으로사용할수없거나,폴더가비공유파일시스템에있는등의혼합플랫폼환경에서는이러한미세한동작차이에유의해야합니다。예를들어,MATLAB클라이언트가微软®Windows운영체제에서실행되고MATLAB워커가모두Linux운영체제에서실행되는경우,
目录
에대한수가클라이언트와워커에서동일하게작동할수없습니다。이경우함수pctRunOnAll
을사용하여모든워커에서명령이실행되도록할수있습니다。클라이언트와워커간의또다른차이는
matlabroot
폴더의일부目录
수가워커에대해설정되지않은점입니다。Matlab설치기반이워커의경로에이미포함되어있다고가정합니다。풀의워커와관련된目录
규칙은다음과같습니다。matlabroot
폴더의하위폴더는워커로전송되지않습니다。matlabroot
폴더가처음나오기전에@ @시되는폴더는워커의경로맨위에추가됩니다。matlabroot
폴더가처음나온후에@ @시되는폴더는워커의경로에서matlabroot
폴더그룹뒤에추가됩니다。
예를들어,클라이언트에대한
matlabroot
가C: \应用matlab \ \
이라고가정하겠습니다。열려있는병렬풀에서다음을실행하여클라이언트와모든워커에서경로를설정합니다。目录“P1”,“P2”,“C: \ matlab应用程序\ \ T3”,“C: \ matlab应用程序\ \ T4”,“P5”,“C: \ matlab应用程序\ \ T6”,“P7”,“P8”);
T3
,T4
및T6
은matlabroot
의하위폴더이므로워커의경로에설정되지않습니다。따라서워커에서이명령의향을받는경로부분은다음과같습니다。P1 P2
p5 p7 p8 麦金塔电脑또는Linux를사용중이고대규모병렬풀을만드는동문제가발생하는경우Macintosh和Linux的推荐系统限制항목을참조하십시오。
버전 내역
R2013b에개발됨