How to access the local part of a distributed matrix separately for each Pid
2 次查看(过去 30 天)
显示 更早的评论
I want to make a 5 by 5 distributed matrix in such a way that each column in a ith row has a value i. In pMatlab library, I tried implementing the following code.
PARALLEL = 1;
Map = 1;
if PARALLEL
Map = map([Np 1], {}, 0:Np-1);
end
A = zeros(5,5,Map);
Aloc = local(A);
for Pid = 0:Np-1
if Pid == 0
for i = 1:size(Aloc,1)
Aloc(i,:) = i;
end
end
if Pid == 1
j = 4;
for i = 1:size(Aloc,1)
Aloc(i,:) = j;
end
j = j+1;
end
end
A = put_local(A,Aloc);
A
However, it seems that the for loop from 0:Np-1 isn't able to access the local part of that Pid. Please help. How can we achive the same thing using PCT?
0 个评论
回答(1 个)
Walter Roberson
2019-10-30
编辑:Walter Roberson
2019-10-30
You overwrite all of Aloc for two different pids, 0 and 1. You can only overwrite all of an array inside parallel workers if it is a local array rather than an output array.
5 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 PID Controller Tuning 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!