Open kernfel opened 2 years ago
I think regarding the RNGs it is indeed a case of historic sequence. I see no reason not to use GeNN built-in RNGs. It would likely be more efficient. As for seeding, it's probably better @neworderofjamie comments.
So, Brian2GeNN's RNG functionality predates $(gennrand_XXX)
which is why it doesn't use it - fixing this is one of the things we're really hoping to get done in a GSoC project. In GeNN you control seeding via model.setSeed(X)
where X=0 indicated that you should randomize the seed every run
I see. In that case, I'll probably hack something in just to cover my particular case in a draft, and if there's a lot more to do, I'll let the GSoC cavalry clean it up properly.
Though we do not know yet whether we will be getting a student for it I am afraid. But we can always clean up ourselves if needed.
I notice that GeNN has RNG capabilities (
$(gennrand_uniform)
etc.) that are not being used; random number generation is instead done by a support code function (defined ingenn_generator.py
lines 350~390). I also notice that usingseed(...)
raises a NotImplementedError when used in conjunction with brian2genn. Three questions:rand()
,randn()
in brian2 code to GeNN's builtins?Happy to work on this if it's considered a valuable feature.