dbbs-lab / bsb-core

The Brain Scaffold Builder
https://bsb.readthedocs.io
GNU General Public License v3.0
21 stars 16 forks source link

Random number generators #408

Open Helveg opened 2 years ago

Helveg commented 2 years ago

Sooner or later I'll have to submit to the numbercrunchers and accomodate finer control over the used RNG.

Simple implementation: Add a new root config dict rng to the config tree that can contain dynamic RNG definitions:

Then the dynamic numpy RNG contains 2 attributes:

We add a function get_rng to the Scaffold class, which returns the singletons for each configured node, where:

def get_rng(self, node="bsb"):
  if node == "bsb":
    return self.rng.get(node, RandomGeneratorNode())
  else:
    return self.rng[node]
Helveg commented 5 months ago

Related: #183 , #759

Helveg commented 5 months ago

Example configuration:

rng:
  bsb: {}
  numpy:
    generator: Mersenne
  nest:
    master_seed: 1234