Hi!
After using some PyNEST functions and modifying the C++ implementation of DumpLayerConnections(), I was thinking on a possible further improvement of this function (or creating a new function). But since I do not know the design and architecture of C++ nestkernel code, I prefer to ask.
In my code I normalize the presynaptic connections of every neuron. To do this, I originally do something like
for i in range(len(target_layer))
conn[i] = nest.GetConnections(source_layer, target_layer, synapse_model)
normalize(conn)
Since I am using MPI and the loop iterates over all the neurons, I modified the previous code to
local_nodes = nest.GetLocalNodeCollection(target_layer)
local_nodes = nest.NodeCollection(local_nodes)
for i in range(len(local_nodes))
conn[i] = nest.GetConnections(source_layer, local_nodes, synapse_model)
normalize(conn)
This last code is faster that the previous one (I guess that local_nodes variable is local to every MPI process and, as a consequence, GetConnections() is more efficient because it only works with local nodes instead of with all of them).
Using the idea of the GetLocalNodeCollection(), I was thinking it could be used into the C++ implementation of DumpLayerConnections(). Presently, this function obtain all the connections between source and target layers. Could it be possible to call the equivalent C++ implementation of GetLocalCollection()? I understand that the problem is that, since DumpLayerConnections() needs the spatial information of the layers, the node collections obtained with GetLocalNodeCollection() (I guess similarly its C++ implementation) does not have this spatial information.
As a second possibility, I was thinking on adding a new method (GetSpatialInformation()) and enhancing DumpLayerConnections() (or add a new function). The GetSpatialInformation() function could return the spatial information of a collection of nodes (the ones obtained by GetLocalNodeCollection() ). The DumpLayerConnections() (or a new function) could be enhanced by changing the target layer parameter to a pair of parameters that contain the local nodes collection and their spatial information. Something like DumpLaterConnections(source_layer, local_nodes_collection, spatial_information, synapse_model). This way DumpLayerConnections() will only used local nodes and would be much faster.
Sorry for the technical email.
Xavier
Hi,
In nestml/doc/tutorials/stdp_windows notebook, in cell 3, I see an example
of fetching model name, neuron name, and synapse name from
nestml/models/neurons/iaf_psc_delta_neuron.nestml, which appears to have
only model inside of it. It tries to extract the names from a format of
1. model <name>:
2. neuron <name>:
3. synapse <name>:
But the iaf_psc_delta_neuron.nestml file from the latest build doesn't have
any structure as neuron <name>: to my best knowledge. Please let me know if
there is any fix for this problem.
I went ahead and tried to edit the generate_code_for function from
NESTCodeGeneratorUtils class. It can be found here
<https://pastebin.com/Qz8JwinA>. But it gives an error as follows:
> [6,GLOBAL, ERROR]: An error occurred while importing the `nest` module in
> Python. Please check your NEST installation-related environment variables
> and paths, or specify ``nest_version`` manually in the code generator
> options.
> An exception has occurred, use %tb to see the full traceback.
Best,
Ashraf Ul Islam Shihab
Graduate Research Assistant
Department of Electrical and Computer Engineering
Boise State University (BSU)
Boise, Idaho 83725
Email: ashrafshihab(a)u.boisestate.edu
Hello,
I have been trying NEST under the WSL in Windows and I am glad to say that it works! I think that getting NEST working correctly under the WSL may attract more users, to both NEST and the WSL. BTW (this is a side note), I have noticed that some Python codes (unrelated to NEST) run a little faster (15-20%) under the WSL than in Windows itself.
Anyway, nest works perfectly on the WSL using either Spyder as IDE or JupyterLab. However, after a while the installation breaks.
After doing any upgrade via "conda upgrade --all" (once it was NEST itself updated), when I try to import NEST I get the error transcribed below, which ends in "ImportError: libgsl.so.25: cannot open shared object file: No such file or directory".
I have narrowed down the problem to this: when installing NEST, the package "conda-forge::gsl-2.7-he838d99_0" is installed along. Then, if I do any "conda update --all" (or I guess that if I install any other package that uses gsl), the package gets updated "conda-forge::gsl-2.7-he838d99_0 --> pkgs/main::gsl-2.7.1-h6e86dc7_1".
Then here: https://nest-simulator.org/mailinglist/hyperkitty/list/users@nest-simulator… I found out that "If you upgrade your environment, you might have to cmake and compile NEST anew in order for it to pick up the new version.". So I thought that a force-reinstall of nest might do the trick, but it didn't.
Moreover, I did the following:
- start a new, clean environment
- install gsl before nest (I got main::gsl-2.7.1-h6e86dc7_1)
- then install nest-simulator.
But the error appears again.
FINALLY, I did "conda install conda-forge::gsl", it picked gsl-2.7-he838d99_0 and now NEST works again!! So it seems that the problem is specific with gsl-2.7.1 (and/or whatever version is in main?).
I don't want to end up using NEST in a frozen environment where nothing can be added or changed, neither before nor after installing NEST. Although I found the workaround, I guess you may find a way of this not happening at all.
Thank you and best regards
Patricio.
In [1]: import nest
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
Cell In[1], line 1
----> 1 import nest
File ~/miniconda3/lib/python3.12/site-packages/nest/__init__.py:64
61 import sys # noqa
62 import types # noqa
---> 64 from .ll_api_kernel_attributes import KernelAttribute # noqa
66 try:
67 import versionchecker # noqa: F401
File ~/miniconda3/lib/python3.12/site-packages/nest/ll_api_kernel_attributes.py:22
1 # -*- coding: utf-8 -*-
2 #
3 # ll_api_kernel_attributes.py
(...)
19 # You should have received a copy of the GNU General Public License
20 # along with NEST. If not, see <http://www.gnu.org/licenses/>.
---> 22 from .ll_api import spp, sps, sr, stack_checker
25 class KernelAttribute:
26 """
27 Descriptor that dispatches attribute access to the nest kernel.
28 """
File ~/miniconda3/lib/python3.12/site-packages/nest/ll_api.py:53
48 # Make MPI-enabled NEST import properly. The underlying problem is that the
49 # shared object pynestkernel dynamically opens other libraries that open
50 # yet other libraries.
51 sys.setdlopenflags(os.RTLD_NOW | os.RTLD_GLOBAL)
---> 53 from . import pynestkernel as kernel # noqa pylint: disable=no-name-in-module
55 __all__ = [
56 "check_stack",
57 "connect_arrays",
(...)
69 "take_array_index",
70 ]
73 engine = kernel.NESTEngine()
ImportError: libgsl.so.25: cannot open shared object file: No such file or directory
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer Video Conference today
*Monday May 6, at 11:30 CEST (UTC+0200).*
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
The agenda for this meeting is also available online, see https://github.com/nest/nest-simulator/wiki/2024-05-06-Open-NEST-Developer-… <https://github.com/nest/nest-simulator/wiki/2024-05-06-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
----------------------------------------------------------------------
I'm trying to install and use NEST on google Colab, but it's not importing:
!pip install -Uqq nest
!pip install -Uqq nestml
!pip install -Uqq pysilsub
import nest
import nestml
import numpy as np
import matplotlib.pyplot as plt
from pysilsub import observers
from nestml.network import Network
from nestml.models import ConeNakaRushton
Am I able to use NEST on Google Colab?
--
Alvin J. Spivey, Ph.D.
(c) 843.267.8055