Hello,
I have a serious bottleneck in terms of runtime in my simulations.
I have a modular cortical network and i need to 'manually' change weights in some specific connections before i start the simulation.
The modularity means that this happens inside a for loop for all populations pairs.
so, before simulation starts i have a function that goes over all population pairs and does this:
AMPA_conns = nest.GetConnections(source=pre_pop,target=post_pop, synapse_model='AMPA_synapse_longrange') # RETRIEVE ALL AMPA CONNECTIONS BETWEEN SOURCE AND TARGET POPULATION
nest.SetStatus(AMPA_conns, {'weight': pattern_weight}) # CHANGE CONNECTION WEIGHT
NMDA_conns = nest.GetConnections(source=pre_pop,target=post_pop, synapse_model='NMDA_synapse_longrange') # RETRIEVE ALL NMDA CONNECTIONS BETWEEN SOURCE AND TARGET POPULATION
nest.SetStatus(NMDA_conns, {'weight': pattern_weight * nmda2ampa_ratio}) # CHANGE CONNECTION WEIGHT
commenting out these 4 lines reduces my runtime by 8 hours.
for reference, the model consists of ~27000neurons, is created in 20 minutes (nodes generated and connections drawn) and the actual simulation runs for about 15 minutes.
so my question is: is there a way to obtain the connection ids as i draw the connections (right after the nest.Connect() function) so that i can store them in a data structure and avoid this expensive operation of searching? or perhaps it is the setstatus that makes it expensive?
*I havent yet migrated to nest v3, this concerns version 2.20.
thank you for your time!
angeliki
Hello,
I am using an example synapse model which utilizes both post and pre spikes
(nestml/models/synapses/stdp_nn_symm.nestml at master · nest/nestml
(github.com)
<https://github.com/nest/nestml/blob/master/models/synapses/stdp_nn_symm.nes…>
).
I get an error:
...
File
"/dss/dsshome1/00/ge72puf2/.conda/envs/nest/lib/python3.8/site-packages/pynestml/codegeneration/nest_code_generator.py",
line 469, in _get_synapse_model_namespace
assert len(namespace["pre_ports"]) <= 1, "Synapses only support one
spiking input port"
AssertionError: Synapses only support one spiking input port
It is confusing: can I or can I not use a model with 2 synaptic inputs
(post and pre)? Is that a version thing?
Best regards,
--
Stefan
Dear NEST Community,
I hope this email finds you well. I am encountering some challenges
while attempting to compile the NEST simulator on an openSUSE machine. I
am using the provided CMake command, which has worked successfully on my
Ubuntu machine with the required libraries and environment loaded.
However, on the openSUSE machine, the compilation process fails with an
error related to the <mach-o/dyld.h> header, which seems specific to macOS.
The CMake command I am using is as follows:
```
conda activate python_for_nest
module load gsl/2.6 openmpi/cxx-4.1.1
cmake -Dwith-python=ON \
-Dwith-gsl=ON \
-Dwith-openmp=ON \
-DMPI_CXX_COMPILER=$(which mpic++) \
-DMPI_C_COMPILER=$(which mpicc) \
-Dwith-mpi=ON \
-DCMAKE_INSTALL_PREFIX:PATH=${PREFIX} ${SRC}
```
The error messages I encounter during the compilation are as follows,
all mach-related:
```
Building C object CMakeFiles/cmTC_4dc4e.dir/HAVE_MACH_O_DYLD_H.c.o
/usr/bin/cc -o CMakeFiles/cmTC_4dc4e.dir/HAVE_MACH_O_DYLD_H.c.o -c
/home/espinoza/opt/nest/master/nest-simulator-build/CMakeFiles/CheckIncludeFiles/HAVE_MACH_O_DYLD_H.c
/home/espinoza/opt/nest/master/nest-simulator-build/CMakeFiles/CheckIncludeFiles/HAVE_MACH_O_DYLD_H.c:2:10:
fatal error: mach-o/dyld.h: No such file or directory
2 | #include <mach-o/dyld.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_4dc4e.dir/build.make:85:
CMakeFiles/cmTC_4dc4e.dir/HAVE_MACH_O_DYLD_H.c.o] Fehler 1
gmake[1]: Verzeichnis
„/home/espinoza/opt/nest/master/nest-simulator-build/CMakeFiles/CMakeTmp“
wird verlassen
gmake: *** [Makefile:140: cmTC_4dc4e/fast] Fehler 2
```
From my understanding, `<mach-o/dyld.h>` is primarily used for macOS,
and its absence on openSUSE is causing the compilation error.
I kindly request any hint or advice for resolving this issue. Is there
any way I can modify the CMake command or the environment to ensure
successful compilation on the openSUSE machine? Additionally, if there
are any specific libraries or configurations that need to be adjusted
for openSUSE, I would greatly appreciate your guidance.
To further investigate the issue, I will attach the `CMakeError.log` and
`CMakeOutput.log` files to this email.
Thank you very much for your time and support. Any insights or
suggestions you can provide will be invaluable in resolving this problem.
Best regards,
Jesús Espinoza
--
Jesús Espinoza
Bergische Universität Wuppertal
Fakultät für Mathematik und Naturwissenschaften Wissenschaftliches
Rechnen und Hochleistungsrechnen Gaußstraße 20
42119 Wuppertal
Germany
E-Mail: espinozavalverd{at}uni-wuppertal.de
Hello everyone,
I am writing to the NEST mailing list as I have encountered an issue in
my simulation script, and I would greatly appreciate your insights.
The problem I am facing is that the membrane potential time course for a
simulation with a fixed indegree seems to be dependent on the number of
virtual processes (`total_num_virtual_procs`). Interestingly, this
behavior does not occur for simulations with all-to-all connectivity.
The simulation involves a network with the following architecture: 5
`spike_generator` nodes connected to 5 `parrot_neuron` nodes with
(all-to-all), which are further connected to 5 `iaf_psc_delta` neurons
(all-to-all). The connections between the `iaf_psc_delta` neurons have
an `fixed_indegree` of 2. A voltmeter is used to monitor the membrane
potentials of these 5 neurons, and the simulation runs for 100 ms.
The issue arises when I vary the number of virtual processes
(`total_num_virtual_procs`). I have tested the values 1, 2, and 4, and I
have noticed that the plot of the membrane potentials at the end of the
simulation differs for each `total_num_virtual_procs` value.
Additionally, when I print the table of connections, I observe that the
weights between the `iaf_psc_delta` neurons are also influenced by the
number of virtual processes.
I have attached the simulation script and three images showing the plot
for each `total_num_virtual_procs` value. The experiments were conducted
on my personal Ubuntu machine.
The version of NEST that I am using is the latest at the time of writing
this message, with commit `b9514cce789fb0b2c0dfbd9d0894d3986f743021`,
authored by Abigail Morrison <morrison(a)fz-juelich.de> on Tue Jul 18
23:46:22 2023 +0200.
I would be grateful for any suggestions or explanations regarding this
issue, as it hinders the reproducibility of my results.
Thank you in advance for your valuable help and support.
Best regards,
Jesus Espinoza.
--
Jesús Espinoza
Bergische Universität Wuppertal
Fakultät für Mathematik und Naturwissenschaften Wissenschaftliches
Rechnen und Hochleistungsrechnen Gaußstraße 20
42119 Wuppertal
Germany
E-Mail: espinozavalverd{at}uni-wuppertal.de
Hello,
when running code generator(NESTCodeGeneratorUtils.generate_code_for), I
encounter an error:
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:95 (project):
The CMAKE_CXX_COMPILER:
/home/conda/feedstock_root/build_artifacts/nest-simulator_1633676998878/_build_env/bin/x86_64-conda-linux-gnu-c++
is not a full path to an existing compiler tool.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
I have tried to set CXX variable to one of the compilers I have on the
system, but it did not work. I don't know how to set
CMAKE_CXX_COMPILER in this context. Maybe someone could give me an
advice on that?
Best regards,
--
Stefan
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer Video Conference, today
Monday July 17, 11.30-12.30 CEST (UTC+2).
Also 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.
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/2023-07-17-Open-NEST-Developer-…
Looking forward to seeing you!
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
Hello everyone,
just a small question about NESML.
I would like to cast a variable from float to integer in the onReceive
block of a custom synapse model. Is there an easy way to do that? Can't
find anything in documentation about that.
Thank you!
Chiara
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer Video Conference, today
Monday July 3, 11.30-12.30 CEST (UTC+2).
Also 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.
Special topic today will be a discussion on dependency management.
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/2023-07-03-Open-NEST-Developer-…
Looking forward to seeing you!
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
Hello Anno and Willem,
thank you for your replies. Anno's description of the problem is exactly
what I was trying to express. It's too bad that generating connectivity
like this can not be achieved as easily as I had hoped. Either way, that
answers my question.
The reference to the blue brain project is very interesting. Their work
seems to be relevant to several of my problems. Thank you both :)
Kind regards,
Jona