Dear NEST developer,
I would like to initialize a network with neurons and connections and then
run many simulations with it. It would be great if I could build the
network one time and then deepcopy (or something similar) for each
simulation. Is something like this possible?
Thanks,
Andrew Lehr
Hi all,
I'm trying to understand some inner workings of Nest. Rigth now I'm running
simulations with close half millons elements, using mpirun in a cluster
with 25 nodes. The problem I am having is that the "setup" (layer creation
and connections) phase takes close to 8min and the simulation only takes
1min.
So I tried to use python's multiprocessing package to speed it up, with the
following code:
nest.ResetKernel()
nest.SetKernelStatus({"local_num_threads": 1})
#...
connections = [
(layer1, layer1, conn_ee_dict, 1),
(layer1, layer2, conn_ee_dict, 2),
(layer2, layer2, conn_ee_dict, 3),
(layer2, layer1, conn_ee_dict, 4)
]
# Process the connections.
def parallel_topology_connect(parameters):
[pre, post, projection, number] = parameters
print(f"Connection number: {number}")
topology.ConnectLayers(pre, post, projection)
pool = multiprocessing.Pool(processes=4)
pool.map(parallel_topology_connect, connections)
The above example takes around 0.9s, but if the last two to lines are
changed for a sequential call, it takes 2.1s:
for [pre, post, projection, number] in connections:
print(f"Connection number: {number}")
topology.ConnectLayers(pre, post, projection)
So far the multiprocessing works great, the problem comes when the
"local_num_threads" parameters is changed from 1 to 2 or more, in the
cluster it could be 32. The code gets stuck in the topology.Connect without
any error, after a while I just stopped it.
Also I realised that the tolopoly.ConnectLayers just spawn one thread to
connects layers despite the local_num_threads is setted more than one.
Any idea what is going on?
Thanks in advance
Juan Manuel
PD: The full example code is attached (60 lines of code). The
local_num_threads and multiprocessing_flag variables change the behaviors
of the code.
Dear all,
The NEST Initiative is excited to invite everyone interested in Neural
Simulation Technology and the NEST Simulator to the NEST Conference 2020.
The NEST Conference provides an opportunity for the NEST Community to
meet, exchange success stories, swap advice, learn about current
developments in and around NEST spiking network simulation and
its application.
This year's conference will take place as a *virtual conference* on
*Monday/Tuesday 29/30 June 2020*.
We are now inviting contributions to the conference, including plenary
talks, "posters" and breakout sessions on specific topics.
*Important dates*
*01 June 2020* — Deadline for submission of contributions
*08 June 2020* — Notification of acceptance
*10 June 2020* — Deadline for NEST Initiative Membership applications
(registration is free for members in 2020)
*22 June 2020* — Registration deadline
*29 June 2020* — NEST Conference 2020 starts
For more information on how to submit your contribution, register and
participate, please visit the conference website
*https://nest-simulator.org/conference*
We are looking forward to seeing you all in June!
Hans Ekkehard Plesser, Susanne Kunkel, Dennis Terhorst, Anne Elfgen &
many more
Hello everyone,
I used the source code to install nest simulator 2.20 from here
<https://nest-simulator.readthedocs.io/en/stable/installation/linux_install.…>
and did the following steps
(I used to do the same steps for version 2.18 without error.)
cmake -Dwith-python=3 -DCMAKE_INSTALL_PREFIX:PATH=</install/path>
</path/to/NEST/src>
make
make install
make installcheck
I got this error from "make installcheck":
Phase 1: Testing if SLI can execute scripts and report errors
-------------------------------------------------------------
Running test 'selftests/test_pass.sli'... Running Apr 21 19:46:31
SLIStartup [Error]: NEST_DATA_DIR is not usable: Apr 21 19:46:31 SLIStartup
[Error]: Directory '/usr/share/nest' does not exist. Apr 21 19:46:31
SLIStartup [Error]: I'm using the default:
/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/share/nest Apr
21 19:46:31 SLIStartup [Error]: NEST_DOC_DIR is not usable: Apr 21 19:46:31
SLIStartup [Error]: Directory '/usr/share/doc/nest' does not exist. Apr 21
19:46:31 SLIStartup [Error]: I'm using the default:
/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/share/doc/nest
/usr/bin//bin/nest /usr/share/doc/nest/selftests/test_pass.sli
/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/bin/nest_serial:
20:
/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/bin/nest_serial:
Apr: not found
Failed: unexpected exit code 127
Running Apr 21 19:46:31 SLIStartup [Error]: NEST_DATA_DIR is not usable:
Apr 21 19:46:31 SLIStartup [Error]: Directory '/usr/share/nest' does not
exist. Apr 21 19:46:31 SLIStartup [Error]: I'm using the default:
/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/share/nest Apr
21 19:46:31 SLIStartup [Error]: NEST_DOC_DIR is not usable: Apr 21 19:46:31
SLIStartup [Error]: Directory '/usr/share/doc/nest' does not exist. Apr 21
19:46:31 SLIStartup [Error]: I'm using the default:
/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/share/doc/nest
/usr/bin//bin/nest /usr/share/doc/nest/selftests/test_pass.sli
/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/bin/nest_serial:
20:
/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/bin/nest_serial:
Apr: not found
***
*** An unexpected exit code usually hints at a bug in the test suite!
***
*** Please report the problem at
*** https://github.com/nest/nest-simulator/issues
***
*** To help us diagnose the problem, please attach the archived content
*** of these directories to the issue:
*** -
'/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/reports'
*** -
'/home/abolfazl/prog/install-dir/nest-simulator-2.20.0_build/reports/nest.CgbAi'
***
CMakeFiles/installcheck.dir/build.make:57: recipe for target
'CMakeFiles/installcheck' failed
make[3]: *** [CMakeFiles/installcheck] Error 2
CMakeFiles/Makefile2:99: recipe for target
'CMakeFiles/installcheck.dir/all' failed
make[2]: *** [CMakeFiles/installcheck.dir/all] Error 2
CMakeFiles/Makefile2:106: recipe for target
'CMakeFiles/installcheck.dir/rule' failed
make[1]: *** [CMakeFiles/installcheck.dir/rule] Error 2
Makefile:188: recipe for target 'installcheck' failed
make: *** [installcheck] Error 2
--
regards,
Abolfazl Ziaeemehr
Department of Physics,
PhD student in Computational Physics
Institute for Advanced Studies in Basic Sciences (IASBS)
Tel: 0919 607 4296
Page: iasbs.ac.ir/~a.ziaeemehr
Dear Nest community,
I have a network of LIF neurons ('iaf_cond_alpha') and I would like to
implement STDP synapses, rather than the
standard 'static_synapse'. I would like to be able to set a subset of
the network to STDP synapses (e.g. all excitatory ones)
and leave the rest static. This is how have implemented that currently
(see code). I am using a for loop because I want to
see how STDP changes the activity over time (over many iterations),
which leaves me with the following two questions:
*1. Is this a correct way to implement STDP in nest? *
*2. Is there a way to reset the network such that the connections are
not lost? *ResetNetwork() and ResetKernel() both seem to
destroy all the network connections. While I would like to keep them,
so that the network becomes less and less randomly
connected per simulation.
Thank you!
Best,
Daphne
*CODE*
# define network connectivity
conn_dict = {'rule': 'pairwise_bernoulli', 'p': 0.1}
# define dicts for static synapses
static_ex_params = {'model':'static_synapse','weight': 6.0,
'delay': 1.5}
static_in_params = {'model':'static_synapse','weight': -96.0,
'delay': 1.5}
if self.STDP == 'ALL':
# all synapses should be stdp ones, make connections
between the two populations:
# from exc neurons to all neurons
nest.Connect(neurons_all[:self.NE], neurons_all,
conn_dict, self.syn_params_ex)
# from interneurons to all neurons
nest.Connect(neurons_all[self.NE:], neurons_all,
conn_dict, self.syn_params_in)
elif self.STDP == 'EXC':
# keep the inhibitory synapses static
# connections from exc neurons to all neurons
nest.Connect(neurons_all[:self.NE], neurons_all,
conn_dict, self.syn_params_ex)
# connections from interneurons to all neurons
nest.Connect(neurons_all[self.NE:], neurons_all,
conn_dict, static_in_params)
where
synapse_params_in = {
'model':'stdp_synapse',
'lambda': 0.01,
'alpha': 1.0,
'delay': 1.5,
'weight':-95.0
}
Dear NEST Users & Developers!
Additionally to the Open NEST Developers VC on Monday, we would like to
announce a user contributed presentation of
*A declarative front-end for network and simulation specifications*
by /Tom Bugnon/ (Paris) and /Will Mayner/ (Wisconsin).
on Monday 27 April, 16.00-17.00 CEST (UTC+2) / 9.00am CDT (UTC-5).
This frontend to NEST allows to define the structure of more-or-less
arbitrary simulations in a set of parameter files. Those let the
user define network parameters (layers, neuron/synapse models,
connections and nest.Topo "connection models", "input" layers etc.)
and simulation parameters (set-up recorders, set-up "sessions", or
units of simulations, for which the user can define specific inputs,
changes in the state of some units, etc).
This approach makes it easier to version-control the network and
simulation specifications, share parameter files, perform parameter
exploration, or run the same network in different conditions.
We will meet in the same VC room, but due to the timezone difference of
the presenters this had to be detached from the meeting in the morning.
Connection details are given below.
Looking forward to seeing you soon!
Best,
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
--
Dipl.-Phys. Dennis Terhorst
Coordinator Software Development
Institute of Neuroscience and Medicine (INM-6)
Computational and Systems Neuroscience &
Theoretical Neuroscience,
Institute for Advanced Simulation (IAS-6)
Jülich Research Centre, Member of the Helmholz Association and JARA
52425 Jülich, Germany
Building 15.22 Room 4004
Phone +49 2461 61-85062
Fax +49 2461 61- 9460
d.terhorst(a)fz-juelich.de
-------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt
-------------------------------------------------------------------------------------
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer
Video Conference on
Monday 27 April, 11.30-12.30 CEST (UTC+2).
This VC will be in the updated format and we may do some more
explanation than I'd expect in future meetings. 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 suggested from the teams.
Agenda
Welcome
Review of NEST User Mailing List
Short introduction to Github project usage
Project team round
In-depth discussion
The agenda for this meeting is also available online, see
https://github.com/nest/nest-simulator/wiki/2020-04-27-Open-NEST-Developer-…
Looking forward to seeing you soon!
best,
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 am actually working on the I/O for Nest with MPI.
I am not aware of the solution of Nest for managing the communication
between process and thread. I would like to learn more about it for
adapting the interface with the actual solution. If someone can answer
some of my questions :
1) By looking at the initialization of the MPI, I saw Nest use the
/MPI_THREAD_FUNNELED /for the level of thread support.
What is the reason for it?
2) This level of thread support surprise me because I suppose that it
will overload one thread with all the MPI calls.
Why do you do not choose the level /MPI_THREAD_SERIALIZED/?
3) I would like to have different levels for thread support. Do you
think it's possible ?
Thank you in advance for your answer,
Kusch Lionel
PS: The reference to the different MPI thread support :
http://mpi.deino.net/mpi_functions/MPI_Init_thread.html
Dear NEST users and developers,
some of you may already have noticed, that we recently updated a lot of
issues and pull-requests in our repository. The changes are completely
organizational and aim to provide a better overview and service to our
community.
In particular, we removed the "C:" category labels (Model, Kernel,
PyNEST, Documentation, ...) and instead now make use of corresponding
GitHub projects. There, issues and pull-requests are represented as
"cards" on a Kanban-like board, which gives a comprehensive view on the
current topics and enables dedicated discussions to focus more easily.
For each project we assigned a contact person that will take care of
organizing work for that subset of cards. You notice that also the "P:"
progress labels have mostly been removed (except "blocked" and "won't
fix"), as this is automatically tracked in the columns of the projects
and is much easier to manage there.
The change to GitHub projects enables us to discuss topics in a more
focused fashion than detailed issue-by-issue, which will also be
reflected in the Open NEST Developer Video Conference. Projects will
give a general status update and can raise overarching questions into
the discussion. The detailed issue-by-issue work on the other hand, is
organized by the project groups separately and each group may decide to
do separate meetings to discuss details.
Besides the long-running projects corresponding to the category labels,
larger short/mid-term activities are organized in "Feature-Projects".
These projects aim to help developers to work on special or
cross-cutting topics and are expected to be "finished" at some point.
The open VC will cover them similar to the long-term projects if required.
We hope these changes improve the overview over the work ongoing in all
the many areas for users and developers, facilitate detailed discussions
between relevant and interested people and make the work on the
simulator more transparent.
Best,
Dennis