parfor and rng(1)

2 views (last 30 days)
mingcheng nie
mingcheng nie on 19 Aug 2022
Commented: mingcheng nie on 24 Aug 2022
Hi there,
I was doing matlab simulation based on different SNR and rng, and want to use parfor to speed up, can we do like this?(can we use rng together with parfor?)
rng(1)
count=10000;
for SNR=20:5:50
for i = 1: count
chan_coef = randn(1,1)+1i*randn(1,1);
...
end
end
%Is It Correct to Change to
rng(1)
count=10000;
parfor SNR=20:5:50
parfor i = 1: count
chan_coef = randn(1,1)+1i*randn(1,1);
...
end
end
Thanks,
Charlie
  1 Comment
mingcheng nie
mingcheng nie on 24 Aug 2022
thank you for your comments!

Sign in to comment.

Accepted Answer

Bruno Luong
Bruno Luong on 19 Aug 2022
Edited: Bruno Luong on 19 Aug 2022
rdn(1) outside the parfor has no effect.
from the doc:
"For independent streams on the workers, use the default behavior or consider using a unique substream on each worker using RandStream."
So you should leave the parfor loop alone or use RandSteam inside parfor loop (but not rdn('shuffle') as warned the doc).

More Answers (0)

Categories

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!