This repository was archived by the owner on Mar 20, 2023. It is now read-only.
Different spikes with GPU simulation of NetPyNE M1 model #353
Open
Description
Running the CoreNEURON simulation of NetPyNE M1 model on GPUs generates different spikes than the CPU execution.
To reproduce the issue I have created scripts for installing the proper versions, building the needed packages and running the sims in:
/gpfs/bbp.cscs.ch/home/magkanar/proj16/netpyne_cns_benchmark/clone_repos.sh # clones all the needed repos (CoreNEURON: master, NMODL: master, netpyne: my fork of coreneuron branch)
/gpfs/bbp.cscs.ch/home/magkanar/proj16/netpyne_cns_benchmark/build_for_ispc.sh # builds neuron and various versions of CoreNEURON with NMODL
/gpfs/bbp.cscs.ch/home/magkanar/proj16/netpyne_cns_benchmark/build_for_gpu.sh # builds CoreNEURON with GPU support with mod2c, NMODL and NMODL with Unified Memory and compares results with NEURON
/gpfs/bbp.cscs.ch/home/magkanar/proj16/netpyne_cns_benchmark/run_sim_gpu_36.sh # generates model with NEURON, runs CoreNEURON built with NMODL separately with MPS enabled (36 datasets)
/gpfs/bbp.cscs.ch/home/magkanar/proj16/netpyne_cns_benchmark/run_sim_gpu_36_unified.sh # same as above but with Unified Memory support
/gpfs/bbp.cscs.ch/home/magkanar/proj16/netpyne_cns_benchmark/run_sim_gpu_36_mod2c.sh # same as above but CoreNEURON build with mod2c
Notes:
- With different number of datasets (ranks) simulation on GPU generates different spikes
- Inside the run scripts I set the size of the simulation based on
cfg.scaleDensity
of thenetpyne/examples/coreneuron/m1/cfg.py
file. The largest circuit I got running on NEURON on 1 node was0.3
instead of0.005
which is the default value and was with 5422 cells
cc: @pramodk