GetVpRNG


Name:
GetVpRNG - return random number generator associated to virtual process  
of node
Synopsis:
 
gid GetVpRNG -> rngtype
Description:
 
This function is helpful in the implementation of parallelized wiring
routines that create identical random structures independent of the
number of machines and threads participating in the simulation. The
function is used in SLI libraries. There is probably no need to
directly use GetVpRNG in scripts describing a particular simulation.

In NEST each node (e.g. neuron) is assigned to a virtual process and
each virtual process maintains its own random number generator. In a
simulation run the virtual processes are equally distributed over the
participating machines and threads as specified by the user. In NEST
2.0 virtual processes are identified with threads. Thus, with the
option /total_num_virtual_procs of [0] set to n, there are in total
always n threads (virtual processes) independent of the number of
participating machines. The concept of virtual processes is described
in detail in [1].

Identical results are achieved independent of the number of machines
and threads participating in a simulation if all operations modifying
a neuron and its incoming synapses use the random number generator of
the virtual process the neuron is assigned to.

An ArgumentTypeError is raised if GetVpRNG is called for a
non-local gid.

Parameters:
 
gid - global id of the node
References:
 
[1] Morrison A, Mehring C, Geisel T, Aertsen A, and Diesmann M (2005)
Advancing the boundaries of high connectivity network simulation
with distributed computing. Neural Computation 17(8):1776-1801
The article is available at www.nest-simulator.org

Author:
Tobias Potjans, Moritz Helias, Diesmann  
SeeAlso: Source:
/home/nest/work/nest-2.14.0/nestkernel/nestmodule.cpp