1
A
는 B
, C
: 크기 100 × 1
의 A
셀 어레이의 각 셀은 행렬이다. 모두 같은 크기입니다.
B
및 C
에는 벡터가 포함되어 있습니다.병렬 계산
는 I는 100 × 1 일련 번호는 같을 것이다 크기의 세포 배열 D
을 만들어야 my_func
은 벡터를 생성하는 행렬과 벡터의 입력을 취하는 함수이다
for i=1:100
D{i}=my_func(A{i},B{i},C{i});
end
.
더 빠르게 작업하기 위해 parfor
(또는 spmd
)을 사용하고 싶습니다. 그러나 A
은 크기가 커서 모든 직원에게 A
을 방영하고 싶지 않습니다. my_func
에 언젠가는 걸리므로이 작업을 효율적으로 수행 할 수 있습니까? 누구든지 나에게 작은 모범을 줄 수 있다면, 나는 그것을 감사 할 것이다.
그리고 그것의 진정한 이상한 그 일련 번호보다 훨씬 느리다처럼 parfor 사용하기 때문이다. 나는 확인할 필요가 없다. 그러나 내가 3 개의 코어를 돌리면 내 컴퓨터는 완전히 얼어 붙는다. 그래서 나는 그 데이터가 노동자들에게 방송되고있는 것으로 의심한다. 감사. – Bluesking
@Bluesking 어떤 MATLAB 버전을 사용하고 있습니까? ≥2020b 이상인 경우 [ticBytes] (https://nl.mathworks.com/help/distcomp/ticbytes.html)를 참조하십시오. –
각 작업자에게 전송 된 데이터의 양을 확인할 수있었습니다. 약 300MB는 매트릭스 A의 크기의 절반 정도입니다. 따라서 아무 문제가없는 것 같습니다. 러닝 타임에 어떤 이점이 없었습니까? – Bluesking