How to use parallel computing
1 次查看(过去 30 天)
显示 更早的评论
Hello,
I'm very new in parallel computing and I can't find what I want in the matlab help (even if it's probably in there...).
I have a code that computes things on two different (big) matrices and then use both of them to compute something else :
for i = 1:N
M1 = computeMatrix1(M1);
M2 = computeMatrix2(M2);
X = doSomething(M1,M2).
end
computeMatrix1() and computeMatrix2() can be processed independently.
My question is then : is there a way to ask matlab to process these two functions on different processors, and then process doSomething() when the previous functions are done ? Or is my question silly because I'm so ignorant in parallel processing...
Thanks
2 个评论
Raymond Norris
2014-9-24
Are computeMatrix1 and computeMatrix2 the same function called with different input arguments? Or are they completely different functions?
The for loop itself is then not independent since for example, M1 is dependent on the previous iteration, correct?
回答(1 个)
José-Luis
2014-9-24
In order for Matlab to compute the functions on different cores (not the same as different processors), you could always:
a = cell(1,2),
a{1} = M1;
a{2} = M2;
parfor ii = 1:2
a{ii} = computeMatrix(a{ii});
end
X = doSomething(a{1},a{2}); %You would need to take this out of the loop
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!