parfor and rng(1)

2 次查看(过去 30 天)
mingcheng nie
mingcheng nie 2022-8-19
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

采纳的回答

Bruno Luong
Bruno Luong 2022-8-19
编辑:Bruno Luong 2022-8-19
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).

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Parallel for-Loops (parfor) 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by