Parallel Random Number Generator

8 visualizaciones (últimos 30 días)
Anna
Anna el 29 de Jun. de 2015
Respondida: Edric Ellis el 30 de Jun. de 2015
I would like to run simulations requiring random numbers on each worker. First, I create a random stream of numbers on each worker:
parpool
spmd
s = RandStream.create(mrg32k3a,NumStreams,numlabs,StreamIndices,labindex);
RandStream.setGlobalStream(s);
end
Then, I perform the simulations:
spmd
output = some_function(input); %%%this function uses rand() and randn();
end
Am I correctly using RandStream to ensure statistically independent random numbers across workers? Can I combine the two spmd commands?

Respuesta aceptada

Edric Ellis
Edric Ellis el 30 de Jun. de 2015
Yes, I believe your code is correct, and is basically the same initialization that is already carried out by Parallel Computing Toolbox.
You can safely merge the two spmd blocks.

Más respuestas (0)

Categorías

Más información sobre Random Number Generation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by