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

 Accepted Answer

Bruno Luong
Bruno Luong on 19 Aug 2022
Edited: Bruno Luong on 19 Aug 2022

0 votes

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

Asked:

on 19 Aug 2022

Commented:

on 24 Aug 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!