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

Sequence diagram showing the interaction between Python and SLI. A call to the PyNEST high-level function Create() first transmits the model name to SLI using sli_run(). It is converted to the SLI type literal by the interpreter (). Next, it pushes the number of nodes (10) to SLI using sli_push(). The PyNEST low-level API converts the argument to a SLI datum () and pushes it onto SLI's operand stack. Next, it executes appropriate SLI code to create the nodes of type iaf_neuron in the simulation kernel. Finally it retrieves the results of the NEST operations using sli_pop(), which converts the data back to a Python object (). The result of the operation in SLI (the id of the last node created) is used to create a list with the ids of all new nodes, which is returned to Python.
© Copyright Policy - open-access
Related In: Results  -  Collection

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

Figure 2: Sequence diagram showing the interaction between Python and SLI. A call to the PyNEST high-level function Create() first transmits the model name to SLI using sli_run(). It is converted to the SLI type literal by the interpreter (). Next, it pushes the number of nodes (10) to SLI using sli_push(). The PyNEST low-level API converts the argument to a SLI datum () and pushes it onto SLI's operand stack. Next, it executes appropriate SLI code to create the nodes of type iaf_neuron in the simulation kernel. Finally it retrieves the results of the NEST operations using sli_pop(), which converts the data back to a Python object (). The result of the operation in SLI (the id of the last node created) is used to create a list with the ids of all new nodes, which is returned to Python.

Mentions: A sequence diagram of the interaction between the different software layers of PyNEST is shown in Figure 2 for a call to the Create() function.


PyNEST: A Convenient Interface to the NEST Simulator.

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

Sequence diagram showing the interaction between Python and SLI. A call to the PyNEST high-level function Create() first transmits the model name to SLI using sli_run(). It is converted to the SLI type literal by the interpreter (). Next, it pushes the number of nodes (10) to SLI using sli_push(). The PyNEST low-level API converts the argument to a SLI datum () and pushes it onto SLI's operand stack. Next, it executes appropriate SLI code to create the nodes of type iaf_neuron in the simulation kernel. Finally it retrieves the results of the NEST operations using sli_pop(), which converts the data back to a Python object (). The result of the operation in SLI (the id of the last node created) is used to create a list with the ids of all new nodes, which is returned to Python.
© Copyright Policy - open-access
Related In: Results  -  Collection

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

Figure 2: Sequence diagram showing the interaction between Python and SLI. A call to the PyNEST high-level function Create() first transmits the model name to SLI using sli_run(). It is converted to the SLI type literal by the interpreter (). Next, it pushes the number of nodes (10) to SLI using sli_push(). The PyNEST low-level API converts the argument to a SLI datum () and pushes it onto SLI's operand stack. Next, it executes appropriate SLI code to create the nodes of type iaf_neuron in the simulation kernel. Finally it retrieves the results of the NEST operations using sli_pop(), which converts the data back to a Python object (). The result of the operation in SLI (the id of the last node created) is used to create a list with the ids of all new nodes, which is returned to Python.
Mentions: A sequence diagram of the interaction between the different software layers of PyNEST is shown in Figure 2 for a call to the Create() function.

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