User`s guide
Control Random Number Streams
6-37
Control Random Number Streams
In this section...
“Different Workers” on page 6-37
“Client and Workers” on page 6-38
“Client and GPU” on page 6-39
“Worker CPU and Worker GPU” on page 6-41
Different Workers
By default, each worker in a cluster working on the same job has a unique random
number stream. This example uses two workers in a parallel pool to show they generate
unique random number sequences.
p = parpool(2);
spmd
R = rand(1,4); % Different on each worker
end
R{1},R{2}
0.3246 0.6618 0.6349 0.6497
0.2646 0.0968 0.5052 0.4866
delete(p)
If you need all workers to generate the same sequence of numbers, you can seed their
generators all the same.
p = parpool(2);
spmd
s = RandStream('twister'); % Default seed 0.
RandStream.setGlobalStream(s);
R = rand(1,4); % Same on all workers
end
R{1},R{2}
0.8147 0.9058 0.1270 0.9134
0.8147 0.9058 0.1270 0.9134