Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer Video Conference today
*Monday March 25, at 11:30 CET (UTC+0100).*
As usual, in the Project team round, a contact person of each team will give a short statement summarizing ongoing and planned work in the team and highlight 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.
Special topic today is the status of the /upcoming NEST 3.7 release/.
Feel free to join the meeting also if it’s just to bring your own quick questions for direct discussion in the in-depth section.
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/2024-03-25-Open-NEST-Developer-… <https://github.com/nest/nest-simulator/wiki/2024-03-25-Open-NEST-Developer-…>
Looking forward to seeing you soon!
Cheers,
Dennis Terhorst
Log-in information
We use a virtual conference room provided by DFN <https://www.dfn.de/en/> (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 <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 <mailto: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 <http://vcc.zih.tu-dresden.de/index.php?linkid=1.1.3.4>
--
Dipl.-Phys. Dennis Terhorst
Coordinator Software Development
Institute for Advanced Simulation (IAS-6), Computational and Systems Neuroscience &
JARA-Institute Brain Structure-Function Relationships (INM-10)
Institute of Neuroscience and Medicine
Jülich Research Center, Member of the Helmholz Association
52425 Jülich, Germany
http://www.csn.fz-juelich.de/
Phone +49 2461 61-85062
----------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Stefan Müller
Geschaeftsfuehrung: Prof. Dr. Astrid Lambrecht (Vorsitzende),
Karsten Beneke (stellv. Vorsitzender), Dr. Ir. Pieter Jansens
----------------------------------------------------------------------
Dear NESTML community,
I have a problem with random number generator in the new version of nestml.
Specifically, I am using
nest 3.6.0
nestml 7.0
This is what I would like to do:
whenever creating a neuron with a set of parameters defined by the user,
each parameter should be affected by a "gaussian error" with defined
variability.
I tried to use the internal random_normal() function but with the current
version I am getting some issues there. Specifically, whenever trying to
call such function from the "internals", "parameters", "state" blocks the
model is correctly generated (no errors returned) but exits with en error
whenever trying to "install".
The error is the following
Assertion failed: (tid < static_cast< size_t >( vp_specific_rngs_.size()
)), function get_vp_specific_rng, file
my/path/to/miniforge3/conda-bld/nest-simulator_1707218961774/work/nestkernel/random_manager.h,
line 173.
[1] 32875 abort python test.py
Such problem does not exist for random_normal() called within the update
and equations blocks.
Attached some minimal code to reproduce the error.
Best,
Chiara
Hi!
I am using DumpLayerConnections() with two layers with around 100x100 nodes each layer. Every layer node is connected to around 100 nodes on the other layer. Calling the DumpLayerConnections() takes around 10-15 minutes to save connections to file. I know it is a too general request, but it would be nice if this function is faster.
In my particular case, I obtain these connections in a previous step using GetConnections(). I guess (hence I am probably wrong) that DumpLayerConnections() calls GetConnections(). If I am right, I believe it could be an interesting enhancement to implement a DumpLayerConnections() function with input parameters that are a set of connections, that is, something like:
myconn = nest.GetConnections(layer1, layer2, ...)
nest.DumpLayerConnections(myconn)
Thanks a lot in advance!
Xavier
I am working with a 2D spatially-structured neural network and aim to employ STDP synapses to establish connections between neurons. However, I encountered an error stating 'ValueError: 'Wmax' is not allowed in syn_spec when connecting with mask or kernel,' along with similar issues for parameters such as tau_plus, alpha, lambda, and others. Could you give me some guidance on how to properly configure these parameters?
Thank you very much.
Hello,
Looking at the documentation, I understand that the output of SelectNodesByMask() is a NodeCollection, and the 'layer' input parameters of DumpLayerConnections() is also a NodeCollection. Hence, I understand that I can combine these two parameters, but when I do it (see code below) I receive the error: nest.lib.hl_api_exceptions.LayerExpected: LayerExpected in SLI function DumpLayerConnections_os_g_g_l
Am I missing something?
Thanks a lot in advance!
Xavier
--------
import nest
# Layers creation
pos = nest.spatial.grid(shape = [100,100] )
input_l = nest.Create('iaf_psc_alpha', positions=pos)
layer_0 = nest.Create('iaf_psc_alpha', positions=pos)
conn_neur = {'rule':'pairwise_bernoulli', 'mask': {'grid':{'shape':[10,10]}} }
syn_0 = {'synapse_model': 'static_synapse'}
nest.Connect(input_l, layer_0, conn_neur, syn_0)
# GetNodesByMask
mask_specs = {'lower_left':[-0.25,-0.25], 'upper_right':[0.25,0.25]}
mask_obj = nest.CreateMask(masktype='rectangular', specs=mask_specs, anchor=[0.0,0.0])
center_neur = nest.SelectNodesByMask(layer_0,[0.0,0.0],mask_obj)
nest.DumpLayerConnections(input_l,center_neur, 'static_synapse', 'conn.txt')
Dear Python experts among the NEST Users!
I just notice a strange interaction between NEST and Ipython. In a freshly started Ipython, I execute the following three statements
import nest
n = nest.Create('parrot_neuron', positions=nest.spatial.free([(x, 0) for x in range(10000)]))
n
The last one takes extraordinarily long, over 10 seconds, I think. But if I instead do
print(n)
it executes instantaneously.
Also, if I do the same thing in python directly, just entering
n
shows the NodeCollection immediately.
Can anyone reproduce this and does anyone have an idea what might be going on?
I am on macOS 14.3.1 with Python 3.12.2, Ipython 8.22.2, and have checked with NEST 3.6 and a branch of recent master.
Best,
Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser
Department of Data Science
Faculty of Science and Technology
Norwegian University of Life Sciences
PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560
Email hans.ekkehard.plesser(a)nmbu.no<mailto:hans.ekkehard.plesser@nmbu.no>
Home http://arken.nmbu.no/~plesser
Dear Petia,
Please excuse my late reply to your questions about restoring NEST simulations. For some reason, your mail had disappeared from my computer.
The behaviour you observe is as expected. When storing and then re-loading and continuing the simulation, a number of things will be different in the second part of the simulation:
* Any spikes that were in transit from pre- to postsynaptic neuron are lost.
* Random number generators re-start from a different point then where they stopped.
* Internal properties of neuron models, such as the state of GSL-based ODE integrators for nonlinear neuron models.
There is currently no way to avoid this loss of information.
Best regards,
Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser
Department of Data Science
Faculty of Science and Technology
Norwegian University of Life Sciences
PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560
Email hans.ekkehard.plesser(a)nmbu.no<mailto:hans.ekkehard.plesser@nmbu.no>
Home http://arken.nmbu.no/~plesser
Hi!
Is there a way to disable the following fatal error? Perhaps an environment
variable to tell NEST not to try to initialize MPI:
[FATAL] [2024.3.1 12:15:12
/home/robin/git/nest-simulator/nestkernel/mpi_manager.cpp:203 @
MPIManager::initialize()] : You seem to be using NEST via an MPI launcher
like mpirun, mpiexec or srun although NEST was not compiled with MPI
support. Please see the NEST documentation about parallel and distributed
computing. Exiting.
I know I could rebuild with MPI support, and set the communicator to a
communicator containing just that rank, on each rank, but this is during
unit testing where nest is just imported, so a quick opt-out would be less
work.
--
Robin De Schepper, PhD (they/them)
Department of Brain and Behavioral Sciences
Unit of Neurophysiology
University of Pavia, Italy
Via Forlanini 6, 27100 Pavia - Italy
Tel: (+39) 038298-7607
http://www-5.unipv.it/dangelo/
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer Video Conference today
*Monday March 11, at 11:30 CET (UTC+0100).*
As usual, in the Project team round, a contact person of each team will give a short statement summarizing ongoing and planned work in the team and highlight 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.
Feel free to join the meeting also if it’s just to bring your own quick questions for direct discussion in the in-depth section.
Agenda
* Welcome
* Review of NEST User Mailing List
* Project team round
* In-depth discussion
o Todo's for the 3.7 release
The agenda for this meeting is also available online, see https://github.com/nest/nest-simulator/wiki/2024-03-11-Open-NEST-Developer-… <https://github.com/nest/nest-simulator/wiki/2024-03-11-Open-NEST-Developer-…>
Looking forward to seeing you soon!
Cheers,
Dennis Terhorst
Log-in information
We use a virtual conference room provided by DFN <https://www.dfn.de/en/> (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 <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 <mailto: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 <http://vcc.zih.tu-dresden.de/index.php?linkid=1.1.3.4>
--
Dipl.-Phys. Dennis Terhorst
Coordinator Software Development
Institute for Advanced Simulation (IAS-6), Computational and Systems Neuroscience &
JARA-Institute Brain Structure-Function Relationships (INM-10)
Institute of Neuroscience and Medicine
Jülich Research Center, Member of the Helmholz Association
52425 Jülich, Germany
http://www.csn.fz-juelich.de/
Phone +49 2461 61-85062
----------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Stefan Müller
Geschaeftsfuehrung: Prof. Dr. Astrid Lambrecht (Vorsitzende),
Karsten Beneke (stellv. Vorsitzender), Dr. Ir. Pieter Jansens
----------------------------------------------------------------------
Hi!
In order to perform connections weight normalization, I am using the GetConnections() function to obtain the input connections for every neuron. That is, I use a code like
for i in range(number_of neurons)
conn[i] = GetConnections(my_source, my_target[i], ...)
Later in the code, I use conn[i].weight to perform my normalization.
It implies that for big networks (number_of_neurons=10k) I have to call GetConnections() around 10k times. Hence, the execution time is huge.
Could it be possible that you enhance GetConnections() (or define a new function) in order to return the connections for all the neurons in the target in array with the same longitude as the number of neurons in target instead of the number of connections? That is, indexed by neurons instead of indexed by connections.
I understand that present implementation of GetConnections() visits all the connections and return only the input connections to target. I do not want to tell developers how to do it :-) but I believe it could be implemented by visiting all the connections (related to target) just ONCE and copy each one to the corresponding output array indexed by neuron. This way, it would be a single call to GetConnections() (plus the time needed to internally manage the assignment to the output array), instead of 10k times.
It would be very much appreciated.
Thanks a lot in advance!
Xavier