IGITUGraz / spore-nest-module

Synaptic Plasticity with Online Reinforcement learning
https://igitugraz.github.io/spore-nest-module/
GNU General Public License v2.0
25 stars 11 forks source link

Assertion fails in CopyModel when using multi-threading #17

Closed mhoff closed 7 years ago

mhoff commented 7 years ago
import nest
nest.SetKernelStatus({"local_num_threads": 10})
nest.Install("sporemodule")
nest.CopyModel("synaptic_sampling_rewardgradient_synapse", "reward_synapse")

fails with

python: /home/hoff/.sources/nest-simulator/sli/name.cc:89: unsigned int Name::insert(const string&): Assertion `not omp_in_parallel()' failed.
[node16:04418] *** Process received signal ***
[node16:04418] Signal: Aborted (6)
[node16:04418] Signal code:  (-6)
python: /home/hoff/.sources/nest-simulator/sli/name.cc:89: unsigned int Name::insert(const string&): Assertion `not omp_in_parallel()' failed.
python: /home/hoff/.sources/nest-simulator/sli/name.cc:89: unsigned int Name::insert(const string&): Assertion `not omp_in_parallel()' failed.
python: /home/hoff/.sources/nest-simulator/sli/name.cc:89: unsigned int Name::insert(const string&): Assertion `not omp_in_parallel()' failed.

This appears to be a consequence of https://github.com/nest/nest-simulator/pull/739 in combination with multi-threading (local_num_threads > 1).


NEST: https://github.com/nest/nest-simulator/commit/d66456ce6393e48961814444c82179fd1e52ab60 SPORE: https://github.com/IGITUGraz/spore-nest-module/commit/b6e03f450ea79b5884478094cdd0d24115abc897

kappeld commented 7 years ago

18 fixes this issue and has been merged into master. I keep this issue open to remind us to add regression tests...

mhoff commented 7 years ago

Regression test added. @kappeld you may close this issue now if you are content.

kappeld commented 7 years ago

Great! You can merge the changes into master. I'll close the issue.