Limits...
PyNEST: A Convenient Interface to the NEST Simulator.

Eppler JM, Helias M, Muller E, Diesmann M, Gewaltig MO - Front Neuroinform (2009)

Bottom Line: Compared to NEST's native simulation language SLI, PyNEST makes it easier to set up simulations, generate stimuli, and analyze simulation results.We describe how PyNEST connects NEST and Python and how it is implemented.With a number of examples, we illustrate how it is used.

View Article: PubMed Central - PubMed

Affiliation: Honda Research Institute Europe GmbH, Offenbach Germany.

ABSTRACT
The neural simulation tool NEST (http://www.nest-initiative.org) is a simulator for heterogeneous networks of point neurons or neurons with a small number of compartments. It aims at simulations of large neural systems with more than 10(4) neurons and 10(7) to 10(9) synapses. NEST is implemented in C++ and can be used on a large range of architectures from single-core laptops over multi-core desktop computers to super-computers with thousands of processor cores. Python (http://www.python.org) is a modern programming language that has recently received considerable attention in Computational Neuroscience. Python is easy to learn and has many extension modules for scientific computing (e.g. http://www.scipy.org). In this contribution we describe PyNEST, the new user interface to NEST. PyNEST combines NEST's efficient simulation kernel with the simplicity and flexibility of Python. Compared to NEST's native simulation language SLI, PyNEST makes it easier to set up simulations, generate stimuli, and analyze simulation results. We describe how PyNEST connects NEST and Python and how it is implemented. With a number of examples, we illustrate how it is used.

No MeSH data available.


Related in: MedlinePlus

Class diagram for the acyclic visitor pattern used to convert SLI types to Python types. The left rectangle contains classes belonging to NEST, the right rectangle contains classes that are part of PyNEST. All SLI data types are derived from the base class Datum and inherit its function use_converter(). The class DatumConverter is the base class of DatumToPythonConverter. The actual data conversion is carried out in one of DatumToPythonConverter's convert_me() functions. Virtual functions are typeset in italics.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
getmorefigures.php?uid=PMC2636900&req=5

Figure 3: Class diagram for the acyclic visitor pattern used to convert SLI types to Python types. The left rectangle contains classes belonging to NEST, the right rectangle contains classes that are part of PyNEST. All SLI data types are derived from the base class Datum and inherit its function use_converter(). The class DatumConverter is the base class of DatumToPythonConverter. The actual data conversion is carried out in one of DatumToPythonConverter's convert_me() functions. Virtual functions are typeset in italics.

Mentions: However, this solution would make SLI's type hierarchy (and thus NEST) depend on Python. To keep NEST independent of Python, we split the implementation in two parts: The first is Python-unspecific and resides in the NEST source code (Figure 3, left rectangle), the second is Python-specific and defined in the PyNEST source code (Figure 3, right rectangle).


PyNEST: A Convenient Interface to the NEST Simulator.

Eppler JM, Helias M, Muller E, Diesmann M, Gewaltig MO - Front Neuroinform (2009)

Class diagram for the acyclic visitor pattern used to convert SLI types to Python types. The left rectangle contains classes belonging to NEST, the right rectangle contains classes that are part of PyNEST. All SLI data types are derived from the base class Datum and inherit its function use_converter(). The class DatumConverter is the base class of DatumToPythonConverter. The actual data conversion is carried out in one of DatumToPythonConverter's convert_me() functions. Virtual functions are typeset in italics.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
Show All Figures
getmorefigures.php?uid=PMC2636900&req=5

Figure 3: Class diagram for the acyclic visitor pattern used to convert SLI types to Python types. The left rectangle contains classes belonging to NEST, the right rectangle contains classes that are part of PyNEST. All SLI data types are derived from the base class Datum and inherit its function use_converter(). The class DatumConverter is the base class of DatumToPythonConverter. The actual data conversion is carried out in one of DatumToPythonConverter's convert_me() functions. Virtual functions are typeset in italics.
Mentions: However, this solution would make SLI's type hierarchy (and thus NEST) depend on Python. To keep NEST independent of Python, we split the implementation in two parts: The first is Python-unspecific and resides in the NEST source code (Figure 3, left rectangle), the second is Python-specific and defined in the PyNEST source code (Figure 3, right rectangle).

Bottom Line: Compared to NEST's native simulation language SLI, PyNEST makes it easier to set up simulations, generate stimuli, and analyze simulation results.We describe how PyNEST connects NEST and Python and how it is implemented.With a number of examples, we illustrate how it is used.

View Article: PubMed Central - PubMed

Affiliation: Honda Research Institute Europe GmbH, Offenbach Germany.

ABSTRACT
The neural simulation tool NEST (http://www.nest-initiative.org) is a simulator for heterogeneous networks of point neurons or neurons with a small number of compartments. It aims at simulations of large neural systems with more than 10(4) neurons and 10(7) to 10(9) synapses. NEST is implemented in C++ and can be used on a large range of architectures from single-core laptops over multi-core desktop computers to super-computers with thousands of processor cores. Python (http://www.python.org) is a modern programming language that has recently received considerable attention in Computational Neuroscience. Python is easy to learn and has many extension modules for scientific computing (e.g. http://www.scipy.org). In this contribution we describe PyNEST, the new user interface to NEST. PyNEST combines NEST's efficient simulation kernel with the simplicity and flexibility of Python. Compared to NEST's native simulation language SLI, PyNEST makes it easier to set up simulations, generate stimuli, and analyze simulation results. We describe how PyNEST connects NEST and Python and how it is implemented. With a number of examples, we illustrate how it is used.

No MeSH data available.


Related in: MedlinePlus