主要内容

parfor를사용대화형으로루프를병렬로하기하기

이예제는속도가느린为了루프로시작한후parfor루프를하여속도높입니다높입니다。parfor는병렬에서워커를통해为了루프반복분할실행합니다。

이예제는의스펙트럼반지름을하고하고为了루프를parfor루프로변환합니다。이결과속도을하는하는알아봅니다알아봅니다알아봅니다。

  1. MATLAB®편집기에서다음为了루프를합니다。抽动TOC을추가경과을합니다합니다。

    tic n = 200;a = 500;a = zeros(n);为了i = 1:n a(i)= max(abs(eig(rand(a))));结尾TOC
  2. 스크립트를하고시간확인합니다합니다。

    经过的时间为31.935373秒。

  3. 스크립트에서为了루프를parfor루프로바꿉니다。

    tic n = 200;a = 500;a = zeros(n);parfori = 1:n a(i)= max(abs(eig(rand(a))));结尾TOC

  4. 새스크립트실행다시합니다합니다。병렬풀을코드워커에서가능하는데의의이걸리기때문때문에첫번째실행실행이이두번째실행보다보다느립니다느립니다。두번째의시간확인합니다합니다。

    Matlab은은로컬에서워커병렬자동엽니다엽니다엽니다엽니다。

    使用“本地”配置文件...连接到4名工人。...经过的时间为10.760068秒。
    4개의에서되는되는parfor为了루프실행약약배배빠릅니다빠릅니다。4개임개임하면속도가가가배것이상이지만그보다보다는느립니다。이는데이터에서전송하고클라이언트로전송데필요시간시간등의병렬연산연산에드는드는오버헤드오버헤드때문때문。이예제병렬에드는오버헤드가작아속도가꽤되었으며되었으며parfor루프로변환얻는이있습니다。모든为了루프반복이빠른parfor루프로변환수것아닙니다아닙니다。자세한내용은parfor를언제사용결정하기항목을하십시오。

parfor루프사용가지요구사항은이독립적것입니다입니다입니다。parfor처리에독립문제에는몬테카를로과파라미터있습니다있습니다있습니다。다음단계는对于루프를parfor루프로변환하기항목을하십시오。

이예제에서는는개의에서에서为了루프를parfor루프로변환계산를높였습니다。병렬풀수늘리면경과시간더줄일있습니다있습니다있습니다。parfor루프를및클라우드하기하기하기항목을하십시오。

클러스터프로파일하여를실행워커수워커가또는또는클러스터에있는지여부여부를제어제어할할수수。프로파일에대한내용은클러스터검색클러스터프로파일사용하기항목을하십시오。

병렬풀이생성여부병렬풀가능을제어하려면병렬기본설정을하십시오하십시오하십시오。기본설정대한자세한내용은병렬기본설정하기항목을하십시오。

parfor루프를사용대신Parsimsimulink金宝app®모델을실행수있습니다。金宝appsimulink의병렬에대한내용과는는运行多个模拟(金宝appSimulink)항목을하십시오。

참고항목

|||

관련항목