다음 코드를 parfor
with Matlab이 작동하지 않고 해결하는 이유를 설명해 주시겠습니까?Matlab에서 parfor로 인한 의문이 있습니까?
R=10;
Power=zeros(2,R);
parfor s=1:R
Power(1,s)=1
Power(2,s)=2;
end
다음 코드를 parfor
with Matlab이 작동하지 않고 해결하는 이유를 설명해 주시겠습니까?Matlab에서 parfor로 인한 의문이 있습니까?
R=10;
Power=zeros(2,R);
parfor s=1:R
Power(1,s)=1
Power(2,s)=2;
end
서로 다른 근로자 (power
)로 전송 한 변수를 가지고 당신이 다른 코어를 사용하여 작성하려는 때문에 작동하지 않습니다.
다른 근로자와 같은 변수에 어떻게 쓸 수 있습니까? 누가 메모리를 저장합니까? 노동자들은 어디에서 글을 썼고 어디에서 의사 소통을 했습니까? 병렬 컴퓨팅을 수행 할 때 코드의 구조는 매우 중요합니다. 어떤 작업자에게 어떤 메모리를 보내야하는지 알고 있어야합니다. 변수를 전달할 때 잘못된 접근 방식을 선택하면 코드가 비 병렬 방식보다 느려질 수 있습니다.
당신이 보여 코드가 변경 될 수 있습니다
R=10;
Power1=zeros(1,R);
Power2=zeros(1,R);
parfor s=1:R
Power1(1,s)=1
Power2(1,s)=2;
end
Power=[Power1;Power2]
나는 MATLAB 오류가 당신이 지시하는 것을, 당신은 http://uk.mathworks.com/help/distcomp/parallel-for-loops-parfor.html 로 이동 특히 variable types in parfors은 "개념"섹션을 읽으십시오.