Dear all,
I'm encountering the following error
python:
/home/zbarni/software/packages/nest/znest/nestkernel/model_manager.h:296:
nest::Model* nest::ModelManager::get_node_model(nest::index) const:
Assertion `m < node_models_.size()' failed.
when using the following code:
nest.SetKernelStatus({'total_num_virtual_procs':16, 'local_num_threads':16})
nest.Install('my_neuron_module')
for iin range(16):
nest.CopyModel('MyNeuron', f'MyNeuron_{i}')
neurons = nest.Create('MyNeuron_0', 2)
nest.Connect(neurons, neurons)
The script uses a neuron model that I wrote in C++ and is loaded without
errors. The error is thrown upon nest.Connect(), and goes away if I
create the neurons using `MyNeuron` and not `MyNeuron_x` (copied) or if
the #vp and #threads is 1. I've used the model with NEST 2.20.0 without
problems, but I'd like to port the code to the latest version. Maybe I'm
just missing something new functionality/API related to CopyModel and
multiprocessing - have there been any critical changes in the model
requirements?
Any help would be greatly appreciated.
Barni
Hi there!
I am using the structural plasticity module to simulate large-scale
networks on HPC. The way I run these simulations with MPI creates a
large number of small data files (.npy) which I organize into a HDF5
file in a post hoc manner. This has hitherto not been a problem,
however, I recently increased the size of my simulations and the number
of files that I create exceeds my HPCinode quota. So, I have to come up
with a way of handling all these files or the way I export them.
Ideally, I would like to concurrently write to a file (like zarr) with
multiple processes. However, parallel zarr writes are only optimal when
the chunk size are uniform. For me, they are not uniform---so, I
abandoned the idea of using zarr.
Currently, I am trying to use mpi4py to gather the data I want and save
it through a mother MPI process. I ran some test simulations and all was
fine (see attached script). However, when I use structural plasticity
with mpi4py I get an error that:
"nest.lib.hl_api_exceptions.DimensionMismatch: ('DimensionMismatch in
SetStatus_id: Expected dimension size: 1\nProvided dimension size: 20',
'DimensionMismatch', <SLILiteral: SetStatus_id>, ': Expected dimension
size: 1\nProvided dimension size: 20".
I believe that mpi4py somehow interferes with nest's internal mpi
mechanism. Perhaps it signals nest kernel to use 1 process rather than
the mentioned 20. If I remove the mpi4py import call, all works fine.
So, I cannot run the simulation using this mpi4py hack.
Do you notice something wrong with my approach? I'm just beginning to
use mpi4py, so I may be missing something here.
Alternatively, could you recommend a way to reduce the number of
exported files. For example, through zarr or other file formats which
support parallel writes.
I'd appreciate any suggestions. Thanks!
pyNEST version: 2.20.2
python version: Python 3.7.10
mpiexec/mpirun version: MPI Library for Linux* OS, Version 2021.3
Best,
Ady
Hi,
I've been trying to compile the latest version on github (c1cebdc) without success.
The system is a HPC running RHEL7. Pre-installed software includes gsl-2.7, cmake 3.17.5 and openMPI-1.10.3-gnu, although I have tried variations with similar results.
I've created a fresh conda environment with packages necessary for nest and nestml:
conda create --name pythonfornestml -c conda-forge boost readline ipython pyqt wxpython cython
pip install mpi4py
cmake -DCMAKE_INSTALL_PREFIX:PATH=/headnode1/dnao/nest-installs/nest3-23.07.2022 \
-Dwith-mpi=ON \
/headnode1/dnao/gitnest/nest-simulator
make
make fails at 47%. I have uploaded the make output here:
https://drive.google.com/file/d/1FXVsidFLXYvnHk4Tob2zDi4wQJJNW-yw/view?usp=…
As well as the output of cmake to show the build configuration:
https://drive.google.com/file/d/1HWH_KqILEyQYujzd4B1ma4ZrzUXbG231/view?usp=…
Thank you in advance for any assistance.
Hi,
I am trying to build NEST on debian 11 with cmake 3.16.9 and conda
python=3.9. I have attached my installation script asswell as the full logs
for make and install steps. ( I run the script with using source to conda
activate will play nice)
During "make install" I get the following message error
-- Set runtime path of
"/home/mikael/git/bgmodel/nest/dist/install/nest-simulator-3.3/lib/python3.9/site-packages/nest/pynestkernel.so"
to
"$ORIGIN/../lib/nest:$ORIGIN/../../lib/nest:$ORIGIN/../../../nest:/home/mikael/opt/anaconda3/envs/nest-3.3/lib"
running install_egg_info
/home/mikael/opt/anaconda3/envs/nest-3.3/lib/python3.9/site-packages/setuptools/command/install.py:34:
SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and
pip and other standards-based tools.
warnings.warn(
running egg_info
creating nest_simulator.egg-info
writing nest_simulator.egg-info/PKG-INFO
writing dependency_links to nest_simulator.egg-info/dependency_links.txt
writing requirements to nest_simulator.egg-info/requires.txt
writing top-level names to nest_simulator.egg-info/top_level.txt
writing manifest file 'nest_simulator.egg-info/SOURCES.txt'
reading manifest file 'nest_simulator.egg-info/SOURCES.txt'
writing manifest file 'nest_simulator.egg-info/SOURCES.txt'
Copying nest_simulator.egg-info to
/home/mikael/git/bgmodel/nest/dist/install/nest-simulator-3.3/lib/python3.9/site-packages/nest_simulator-3.3-py3.9.egg-info
Traceback (most recent call last):
File "<string>", line 1, in <module>
File
"/home/mikael/opt/anaconda3/envs/nest-3.3/lib/python3.9/site-packages/pkg_resources/__init__.py",
line 477, in get_distribution
dist = get_provider(dist)
File
"/home/mikael/opt/anaconda3/envs/nest-3.3/lib/python3.9/site-packages/pkg_resources/__init__.py",
line 353, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File
"/home/mikael/opt/anaconda3/envs/nest-3.3/lib/python3.9/site-packages/pkg_resources/__init__.py",
line 897, in require
needed = self.resolve(parse_requirements(requirements))
File
"/home/mikael/opt/anaconda3/envs/nest-3.3/lib/python3.9/site-packages/pkg_resources/__init__.py",
line 783, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'nest-simulator' distribution was
not found and is required by the application
And for make installcheck i get this error
Scanning dependencies of target installcheck
Executing NEST's testsuite...
make[3]: *** [CMakeFiles/installcheck.dir/build.make:61:
CMakeFiles/installcheck] Error 1
make[2]: *** [CMakeFiles/Makefile2:524: CMakeFiles/installcheck.dir/all]
Error 2
make[1]: *** [CMakeFiles/Makefile2:531: CMakeFiles/installcheck.dir/rule]
Error 2
make: *** [Makefile:178: installcheck] Error 2
It took 160 seconds
Anyone who knows how to solve this?
/Mikael
--
Mikael Lindahl Phd
Phone: +46735119429
Email: m <lindahlm(a)csc.kth.se>ickelindahl(a)gmail.com
Hello,
We are trying to plot an exponential synaptic trace in a custom made synapse model made with NESTML, and to do that we are trying to use the print function within the model. But when we try to print something or to change the value of a variable (initialized in the state block) inside the update block, nothing happens.
We started with a simple string "Hello", and nothing was printed. We then tried to add 1 to a variable initialized to 0 and its value didn't change. If the print command is written in the onReceive block, it works without problems; as for the variable, its value can be changed in the onReceive block, but if we print its value in the onReceive block and change the value in the update block, we see that the value is not updated from 0.
Since we would like to get the value of the synaptic trace to plot its change during simulation, we would need to get the value of the trace not just when a spike is received (there would be no point) but more often.
Do you know what we could do? (And why the update block is not working properly?)
Best regards,
Léa D.
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer Video Conference, today
Monday July 18, 11.30-12.30 CEST (UTC+2).
Feel free to join the meeting also if it's just to bring your own questions for direct discussion in the in-depth section.
As usual, in the Project team round, a contact person of each team will give a short statement summarizing ongoing work in the team and cross-cutting points that need discussion among the teams. The remainder
of the meeting we would go into a more in-depth discussion of topics that came up on the mailing list or that are suggested by the teams.
Agenda
* Welcome
* Review of NEST User Mailing List
* Project team round
* In-depth discussion
The agenda for this meeting is also available online, see
https://github.com/nest/nest-simulator/wiki/2022-07-18-Open-NEST-Developer-…
Looking forward to seeing you again soon!
Cheers,
Dennis Terhorst
------------------
Log-in information
------------------
We use a virtual conference room provided by DFN (Deutsches Forschungsnetz).
You can use the web client to connect. We however encourage everyone to
use a headset for better audio quality or even a proper video
conferencing system (see below) or software when available.
Web client
* Visit https://conf.dfn.de/webapp/conference/97938800
* Enter your name and allow your browser to use camera and microphone
* The conference does not need a PIN to join, just click join and you're in.
In case you see a dfnconf logo and the phrase "Auf den
Meetingveranstalter warten", just be patient, the meeting host needs to
join first (a voice will tell you).
VC system/software
How to log in with a video conferencing system, depends on you VC system
or software.
- Using the H.323 protocol (eg Polycom): vc.dfn.net##97938800 or
194.95.240.2##97938800
- Using the SIP protocol:97938800@vc.dfn.de
- By telephone: +49-30-200-97938800
For those who do not have a video conference system or suitable
software, Polycom provides a pretty good free app for iOS and Android,
so you can join from your tablet (Polycom RealPresence Mobile, available
from AppStore/PlayStore). Note that firewalls may interfere with
videoconferencing in various and sometimes confusing ways.
For more technical information on logging in from various VC systems,
please see http://vcc.zih.tu-dresden.de/index.php?linkid=1.1.3.4
Dear all,
I was wondering if it is possible to access the events collected by a weight_recorder during a simulation: I am able to collect and plot the recorded data once the simulation is over, but I found no information about accessing the device in real-time.
Specifically, I would like to know if there is a way to pass the data as input to a custom NESTML synapse model dynamically during a simulation.
Best regards,
Francesco Sheiban
Hi,
I recently upgraded from nest v2.2.2 to v2.20.1 and experienced a
decrease in simulation speed.
I tested it using the /brunel_alpha_nest.py/ example script that is
available in both versions.
For better comparison I set the option /to_file/ in the new version to
/False/.
Simulating the network for 10s using v2.2.2 I get:
100 %: network time: 9999.0 ms, realtime factor: 0.0672
Simulation finished.
Brunel network simulation (Python)
Number of neurons : 12500
Number of synapses: 15637600
Exitatory : 12512500
Inhibitory : 3125000
Excitatory rate : 28.84 Hz
Inhibitory rate : 28.78 Hz
Building time : 5.56 s
Simulation time : 149.01 s
Using v2.20.1:
100 %: network time: 9999.0 ms, realtime factor: 0.0601
Simulation finished.
Brunel network simulation (Python)
Number of neurons : 12500
Number of synapses: 15637600
Exitatory : 12512500
Inhibitory : 3125000
Excitatory rate : 28.84 Hz
Inhibitory rate : 28.78 Hz
Building time : 2.39 s
Simulation time : 168.58 s
Adding /'total_num_virtual_procs': 48/and running it for 100s on a 48
core node using v2.2.2 I get:
Simulation time : 98.49 s
Using v2.20.1:
Simulation time : 120.08 s
Both versions are build with OpenMp support and without mpi.
Is this expected or do you have any idea where this behavior comes from?
Thank you in advance!
Best,
Hartmut
Dear all,
I used 10 PyNQ nodes to run SNN using mpirun, which is faster than a single node.
but I want to know how long each node takes to start MPI and wait for MPI_all_gether to end.
Where do I need to print the time in the source code?Or what tools can I use to test MPI communication times?(my nest version is 2.14)
Best regards
Cong