SPMD to process different iteration on different worker
7 ビュー (過去 30 日間)
Yi Xien Yap 2022 年 7 月 29 日
コメント済み: Walter Roberson 2022 年 8 月 3 日
I'm trying to use the spmd to process different iteration. The current problem I have is the spmd function is repeating the same processing on different worker. I have tried to use parfor but the parfor cannot guarantee the iteration is process in order. What I am looking for is to have the iteration process in order. For example, from 0>1>2>3>4,.... Below is the sample code.
iCellNum = 1;
activeUeNums = 1;
for ttiNum = 1 : 20
fprintf('%s processing subframe: %d\n', getTimeNow, ttiNum-1);
回答 (1 件)
Edric Ellis 2022 年 8 月 2 日
It's not entirely clear to me quite what you're after. You might want for (drange) which spreads the iterations of a for loop over different workers in spmd.
for ii = drange(1:20)
fprintf('Worker %d processing iteration %d\n', labindex, ii);
Walter Roberson 2022 年 8 月 3 日
Do you need spmd specifically? That is, are you doing labSend(), or using labBarrier to control access to a resource?
If not then consider queuing a bunch of jobs using parfeval.
Find more on Parallel for-Loops (parfor) in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!