17–18 Jun 2025
Virtual
Europe/Berlin timezone

PyNEST NG: A new modern interface to the NEST kernel

T-4
18 Jun 2025, 11:30
20m
Zoom

Zoom

Talk Talks

Speaker

Hans Ekkehard Plesser (Norwegian University of Life Sciences)

Description

SLI, the Simulation Language Interpreter, has been a defining feature of NEST since its beginning and its primary user interface [1]. Since the introduction of PyNEST with the first public beta of NEST 2.0 in 2008 [2], users have increasingly switched from SLI to PyNEST, to a point where today only few users and developers are fluent in SLI or familiar with the interpreters C++-implementation. We thus decided several years ago to remove the SLI interpreter from the NEST simulator and connect PyNEST directly with a NEST C++ API.

A key challenge to removing the SLI interpreter from NEST was the DictionaryDatum data structure provided by SLI. It is central to data exchange between user and simulator and thus pervades much of NEST kernel and model code. As early as 2018, Jochen Eppler and Håkon Mørk began work on a "SLI-free" NEST, including a replacement for the SLI dictionary data structure. Nicolai Haug and Hans Ekkehard Plesser contributed at later stages. One of the last stumbling blocks to be resolved was an efficient approach to dictionary access checks, which is crucial to detect misspelled parameter names.

The other major challenge in removing the SLI interpreter was to port the hundreds of tests for NEST written in SLI to PyTest. This was undertaken as a broad community effort during several hackathons and is not yet entirely completed. This work is done in the NEST master branch to immediately make the ported tests available.

At present, PyNEST NG is essentially complete, with benchmark tests on various complex models indicating good, for some models notably reduced, model construction times. Once the remaining test will have been ported from SLI to PyTest, PyNEST NG will be ready for integration into NEST. This will only minimally affect the user interface.
In my talk, I will give an overview over the implementation of NESTs new Python interface, benefits for users and developers, and discuss challenges ahead.

Acknowledgements

We are grateful to our many colleagues in the NEST developer community who contributed to the work towards PyNEST NG, in particular by porting tests, and to Renan Shimoura for benchmarking PyNEST NG against the clustered MAM model and to Markus Diesmann for co-piloting a major merge of the master branch into PyNEST NG after 15 months of inactivity. Research reported here was supported by the European Union’s Horizon 2020 Framework Programme for Research and Innovation under Specific Grant Agreements No. 785907 (Human Brain Project SGA2) and No. 945539 (Human Brain Project SGA3).

References

[1] Diesmann, M., Gewaltig, M.-O., & Aertsen, A. (1995). SYNOD: An Environment for Neural Systems Simulation—Language Interface and Tutorial (Technical Report GC-AA-/95-3; p. 72). Weizman Institute of Science.
[2] Eppler, J. M., Helias, M., Muller, E., Diesmann, M., & Gewaltig, M.-O. (2008). PyNEST: A convenient interface to the NEST simulator. Front Neuroinformatics, 2, 12. https://doi.org/10.3389/neuro.11.012.2008

Acknowledgements

We are grateful to our many colleagues in the NEST developer community who contributed to the work towards PyNEST NG, in particular by porting tests, and to Renan Shimoura for benchmarking PyNEST NG against the clustered MAM model and to Markus Diesmann for co-piloting a major merge of the master branch into PyNEST NG after 15 months of inactivity. Research reported here was supported by the European Union’s Horizon 2020 Framework Programme for Research and Innovation under Specific Grant Agreements No. 785907 (Human Brain Project SGA2) and No. 945539 (Human Brain Project SGA3).

References

[1] Diesmann, M., Gewaltig, M.-O., & Aertsen, A. (1995). SYNOD: An Environment for Neural Systems Simulation—Language Interface and Tutorial (Technical Report GC-AA-/95-3; p. 72). Weizman Institute of Science.
[2] Eppler, J. M., Helias, M., Muller, E., Diesmann, M., & Gewaltig, M.-O. (2008). PyNEST: A convenient interface to the NEST simulator. Front Neuroinformatics, 2, 12. https://doi.org/10.3389/neuro.11.012.2008

Preferred form of presentation Talk (& optional poster)
Topic area Simulator technology and performance
Speaker time zone UTC+2
I agree to the copyright and license terms Yes
I agree to the declaration of honor Yes

Primary author

Hans Ekkehard Plesser (Norwegian University of Life Sciences)

Co-authors

Håkon Mørk Nicolai Haug Jochen Martin Eppler

Presentation materials

There are no materials yet.