Skip to main content
Log in

Three Tools for the Real-Time Simulation of Embodied Spiking Neural Networks Using GPUs

  • Original Article
  • Published:
Neuroinformatics Aims and scope Submit manuscript

Abstract

This paper presents a toolbox of solutions that enable the user to construct biologically-inspired spiking neural networks with tens of thousands of neurons and millions of connections that can be simulated in real time, visualized in 3D and connected to robots and other devices. NeMo is a high performance simulator that works with a variety of neural and oscillator models and performs parallel simulations on either GPUs or multi-core processors. SpikeStream is a visualization and analysis environment that works with NeMo and can construct networks, store them in a database and visualize their activity in 3D. The iSpike library provides biologically-inspired conversion between real data and spike representations to support work with robots, such as the iCub. Each of the tools described in this paper can be used independently with other software, and they also work well together.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. PyNN (Davison et al. 2008) is a common SNN simulator interface written in Python. By default PyNN is supported by several simulators including NEURON (Carnevale and Hines 2006), NEST (Gewaltig and Diesmann 2007), and Brian (Goodman and Brette 2009). PyNN support for NeMo is currently found in its development branch.

  2. The Matlab and Python interfaces also provide vector versions of the network construction functions.

  3. Both SpikeStream and PyNN provides such connectivity patterns, for example, to create topographic connections.

  4. Another application called SpikeStream was created after the one described in this paper and given this name independently: http://spikestream.bitbucket.org. ‘SpikeStream’ has also been used to name a component of the C2 simulator (Ananthanarayanan et al. 2009).

  5. Instructions for writing SpikeStream plugins are given in the SpikeStream manual (Gamez 2011b).

  6. NRM stands for Neural Representation Modeller, a simulator of weightless neurons that was developed by Barry Dunmall and Igor Aleksander (Aleksander 2005).

  7. Player/Stage: http://playerstage.sf.net; Orocos: http://www.orocos.org; Urbi: http://gostai.com/products/urbi/; Robot Operating System (ROS): http://www.ros.org. While iSpike’s YARP interface should make it relatively straightforward to interface with these other systems, it has only been tested with the iCub robot.

  8. Rods are not included in the current implementation of iSpike because it is designed for daylight conditions, during which the light intensity is too high for rod photoreceptors to operate.

  9. The neuron that receives the most current will be the first to spike and it will also fire at the highest rate. The neuron with the most current will also be likely to fire before the one with the second highest current, and so on, producing a rank order code.

  10. These effects relate to changes to the temporal grid on which the spike events take place. A reduction of the step size used in the numerical integration within each simulation time step would only have a minimal effect on performance.

References

  • Aleksander, I. (2005). The world in my mind, my mind in the world. Exeter: Imprint Academic.

    Google Scholar 

  • Ananthanarayanan, R., Esser, S.K., Simon, H.D., Modha, D.S. (2009). The cat is out of the bag: cortical simulations with 109 neurons, 1013 synapses. In Proc. conf. high performance computing networking, storage and analysis (pp. 1–12). New York: ACM.

    Chapter  Google Scholar 

  • Andreou, A., & Boahen, K. (1994). A 48,000 pixel silicon retina in current-mode subthreshold cmos. In 37th midwest symposium on circuits and systems (pp. 97–102).

  • Bergenheim, M., Ribot-Ciscar, E., Roll, J.P. (2000). Proprioceptive population coding of two-dimensional limb movements in humans: I. Muscle spindle feedback during spatially oriented movements. Experimental Brain Research, 134(3), 301–310.

    Article  CAS  Google Scholar 

  • Bernardet, U., & Verschure, P.F. (2010). iqr: a tool for the construction of multi-level simulations of brain and behaviour. Neuroinformatics, 8(2), 113–134.

    Article  PubMed  Google Scholar 

  • Bernhard, F., & Keriven, R. (2006). Spiking neurons on GPUs. In Proc. 6th int. conf. computational science (pp. 236–243).

  • Bhowmik, D., & Shanahan, M. (2012). How well do oscillator models capture the behaviour of biological neurons? In Proc. int. joint conf. neural networks.

  • Binzegger, T., Douglas, R.J., Martin, K.A. (2004). A quantitative map of the circuit of cat primary visual cortex. Journal of Neuroscience, 24(39), 8441–8453.

    Article  PubMed  CAS  Google Scholar 

  • Bolduc, M., & Levine, M. (1998). A review of biologically motivated space-variant data reduction models for robotic vision. Computer Vision and Image Understanding, 69, 170–184.

    Article  Google Scholar 

  • Bouganis, A., & Shanahan, M. (2010). Training a spiking neural network to control a 4-DoF robotic arm based on spike timing-dependent plasticity. In Proc. int. joint conf. neural networks (pp. 4104–4111).

  • Bower, J.M., Beeman, D., Hucka, M. (2003). The GENESIS simulation system In M. Arbib (Ed.), In The handbook of brain theory and neural networks (2nd ed., 475–478). Cambridge: MIT Press.

    Google Scholar 

  • Brette, R., Rudolph, M., Carnevale, T., Hines, M., Beeman, D., Bower, J.M., Diesmann, M.,Morrison, A., Goodman, P.H., Harris, F.C. Jr., Zirpe, M., Natschlager, T., Pecevski, D., Ermentrout, B., Djurfeldt, M., Lansner, A., Rochel, O., Vieville, T., Muller, E., Davison, A.P., El Boustani, S., Destexhe, A. (2007). Simulation of networks of spiking neurons: a review of tools and strategies. Journal of Computational Neuroscience, 23(3), 349–398.

    Article  PubMed  Google Scholar 

  • Buchmann, T. (2011). Stock market trading with spiking neural networks. MSc thesis, Imperial College London.

  • Cannata, G., Maggiali, M., Metta, G., Sandini, G. (2008). An embedded artificial skin for humanoid robots. In IEEE int. conf. multisensor fusion and integration for intelligent systems (pp. 434–438).

  • Carnevale, N.T., & Hines, M.L. (2006). The NEURON book. Cambridge: Cambridge University Press.

    Book  Google Scholar 

  • Cheung, K., Schultz, S.R., Leong, P.H.W. (2009). A parallel spiking neural network simulator. In Proc. IEEE. int. conf. field-programmable technology (pp. 247–254).

  • Clark, A. (2008). Supersizing the mind: Embodiment, action, and cognitive extension. New York: Oxford University Press.

    Google Scholar 

  • Collins, D.F., & Prochazka, A. (1996). Movement illusions evoked by ensemble cutaneous input from the dorsum of the human hand. Journal of Physiology, 496(Pt 3), 857–71.

    PubMed  CAS  Google Scholar 

  • Collins, D.F., Refshauge, K.M., Todd, G., Gandevia, S.C. (2005). Cutaneous receptors contribute to kinesthesia at the index finger, elbow, and knee. Journal of Neurophysiology, 94(3), 1699–1706.

    Article  PubMed  CAS  Google Scholar 

  • Davison, A.P., Brüderle, D., Eppler, J., Kremkow, J., Muller, E., Pecevski, D., Perrinet, L., Yger, P. (2008). PyNN: a common interface for neuronal network simulators. Frontiers in Neuroinformatics, 2, article 11.

  • Djurfeldt, M., Lundqvist, M., Johansson, C., Rehn, M., Ekeberg, O., Lansner, A. (2008). Brain-scale simulation of the neocortex on the IBM Blue Gene/L supercomputer. IBM Journal of Research and Development, 52(1–2), 31–41.

    Article  Google Scholar 

  • Edin, B.B., & Johansson, N. (1995). Skin strain patterns provide kinaesthetic information to the human central nervous system. Journal of Physiology, 487(Pt 1), 243–251.

    PubMed  CAS  Google Scholar 

  • Enroth-Cugell, C., & Robson, J. (1966). The contrast sensitivity of retinal ganglion cells of the cat. Journal of Physiology, 187(3), 517–552.

    PubMed  CAS  Google Scholar 

  • Ferrell,W.R., Gandevia, S.C., Mccloskey, D.I. (1987). The role of joint receptors in human kinaesthesia when intramuscular receptors cannot contribute. Journal of Physiology, 386, 63–71.

    PubMed  CAS  Google Scholar 

  • Fidjeland, A.K. (2011). NeMo manual. http://nemosim.sf.net/manual.pdf.

  • Fitzpatrick, P., Metta, G., Natale, L. (2008). Towards long-lived robot genes. Robotics and Autonomous Systems, 56(1), 29–45.

    Article  Google Scholar 

  • Fidjeland, A.K., Roesch, E.B., Shanahan, M.P., Luk, W. (2009). NeMo: a platform for neural modelling of spiking neurons using GPUs. In Proc. IEEE int. conf application-specific systems, architectures and processors (pp. 137–144).

  • Fidjeland, A., & Shanahan, M. (2010). Accelerated simulation of spiking neural networks using GPUs. In Proc. int. joint conf. neural networks (pp. 536–543). Piscataway: IEEE.

    Google Scholar 

  • Fontaine, B., Goodman, D., Benichoux, V., Brette, R. (2011). Brian hears: online auditory processing using vectorization over channels. Frontiers in Neuroinformatics, 5, 9.

    Article  PubMed  Google Scholar 

  • Fountas, Z., Gamez, D., Fidjeland, A. (2011). A neuronal global workspace for human-like control of a computer game character. In IEEE conf. computational intelligence and games (pp. 350–357).

  • Gamez, D. (2007). Spikestream: a fast and flexible simulator of spiking neural networks. In Proceedings of the International Conference on Artificial Neural Networks (ICANN). Lecture Notes in Computer Science (Vol. 4668, pp. 360–369).

    Google Scholar 

  • Gamez, D. (2010). Information integration based predictions about the conscious states of a spiking neural network. Consciousness and Cognition, 19(1), 294–310.

    Article  PubMed  Google Scholar 

  • Gamez, D. (2011a). iSpike manual. http://ispike.sf.net/doc/ispike-manual-2.1.pdf.

  • Gamez, D. (2011b). SpikeStream manual. http://spikestream.sf.net/pages/documentation.html.

  • Gamez, D., & Aleksander, I. (2011). Accuracy and performance of the state-based phi and liveliness measures of information integration. Consciousness and Cognition, 20(4), 1403–1424.

    Article  PubMed  Google Scholar 

  • Gamez, D., Fidjeland, A., Lazdins, E. (2012). iSpike: a spiking neural interface for the icub robot. Bioinspiration and Biomimetics, 7, 025008.

    Article  PubMed  CAS  Google Scholar 

  • Gamez, D., Newcombe, R., Holland, O., Knight, R. (2006). Two simulation tools for biologically inspired virtual robotics. In Proc. IEEE 5th chapter conf. on advances in cybernetic systems (pp. 85–90).

  • Georgopoulos, A.P., Schwartz, A.B., Kettner, R.E. (1986). Neuronal population coding of movement direction. Science, 233(4771), 1416–1419.

    Article  PubMed  CAS  Google Scholar 

  • Gewaltig, M.O., & Diesmann, M. (2007). NEST. Scholarpedia, 2(4), 1430.

    Article  Google Scholar 

  • Goodman, D.F. (2010). Code generation: a strategy for neural network simulators. Neuroinformatics, 8(3), 183–196.

    Article  PubMed  Google Scholar 

  • Goodman, D.F., & Brette, R. (2009). The Brian simulator. Frontiers in Neuroscience, 3(2), 192–197.

    Article  PubMed  Google Scholar 

  • Grill-Spector, K., & Malach, R. (2004). The human visual cortex. Annual Review of Neuroscience, 27, 649–677.

    Article  PubMed  CAS  Google Scholar 

  • Grillner, S., Hellgren, J., Menard, A., Saitoh, K., Wikstrom, M.A. (2005). Mechanisms for selection of basic motor programs–roles for the striatum and pallidum. Trends in Neuroscience, 28(7), 364–370.

    Article  CAS  Google Scholar 

  • Hagmann, P., Cammoun, L., Gigandet, X., Meuli, R., Honey, C.J., Wedeen, V.J., Sporns, O. (2008). Mapping the structural core of human cerebral cortex. PLoS Biol, 6(7), e159.

    Article  PubMed  Google Scholar 

  • Hammarlund, P., & Ekeberg, O. (1998). Large neural network simulations on multiple hardware platforms. Journal of Computational Neuroscience, 5(4), 443–459.

    Article  PubMed  CAS  Google Scholar 

  • Han, B., & Taha, T.M. (2010). Neuromorphic models on a GPGPU cluster. In Proc int. joint conf. neural networks (pp. 3050–3057). Piscataway: IEEE.

    Google Scholar 

  • Hellwig, B. (2000). A quantitative analysis of the local connectivity between pyramidal neurons in layers 2/3 of the rat visual cortex. Biological Cybernetics, 82(2), 111–121.

    Article  PubMed  CAS  Google Scholar 

  • Hoshi, T., & Shinoda, H. (2006). Robot skin based on touch-area-sensitive tactile element. In Proc. IEEE int. conf. robotics and automation (pp. 3463–3468).

  • Ijspeert, A.J., Crespi, A., Ryczko, D., Cabelguen, J.M. (2007). From swimming to walking with a salamander robot driven by a spinal cord model. Science, 315(5817), 1416–1420.

    Article  PubMed  CAS  Google Scholar 

  • Indiveri, G., Linares-Barranco, B., Hamilton, T.J., van Schaik, A., Etienne-Cummings, R., Delbruck, T., Liu, S.C., Dudek, P., Hafliger, P., Renaud, S., Schemmel, J., Cauwenberghs, G., Arthur, J., Hynna, K., Folowosele, F., Saighi, S., Serrano-Gotarredona, T., Wijekoon, J., Wang, Y., Boahen, K. (2011). Neuromorphic silicon neuron circuits. Frontiers Neuroscience, 5, 73.

    Google Scholar 

  • Izhikevich, E.M. (2003). Simple model of spiking neurons. IEEE Transactions on Neural Networks, 14, 1569–1572.

    Article  PubMed  CAS  Google Scholar 

  • Izhikevich, E., & Edelman, G. (2008). Large-scale model of mammalian thalamocortical systems. Proceedings of the National Academy of Science of the United States of America, 105(9), 3593–3598. doi:10.1073/pnas.0712231105.

    Article  CAS  Google Scholar 

  • Jiirgens, R., Becker, W., Kornhuber, H. (1981). Natural and drug-induced variations of velocity and duration of human saccadic eye movements: evidence for a control of the neural pulse generator by local feedback. Biological Cybernetics, 39, 87–96. 1507

    Article  Google Scholar 

  • Jones, K.E., Wessberg, J., Vallbo, A.B. (2001). Directional tuning of human forearm muscle afferents during voluntary wrist movements. Journal of Physiology, 536(2), 635–647.

    Article  PubMed  CAS  Google Scholar 

  • Krichmar, J.L., Nitz, D.A., Gally, J.A., Edelman, G.M. (2005). Characterizing functional hippocampal pathways in a brain-based device as it solves a spatial memory task. Proceedings of the National Academy of Science of the United States of America, 102(6), 2111–2116.

    Article  CAS  Google Scholar 

  • Kuramoto, Y. (1984). Chemical oscillations, waves, and turbulence. Berlin: Springer.

    Book  Google Scholar 

  • Linares-Barranco, A., Gomez-Rodriguez, F., Jimenez-Fernandez, A., Delbruck, T., Lichtensteiner, P. (2007). Using FPGA for visuomotor control with a silicon retina and a humanoid robot. In IEEE int. symp. circuits and systems (pp. 1192–1195).

  • Liu, J.D., & Hu, H. (2006). Biologically inspired behaviour design for autonomous robotic fish. Internation Journal of Automation and Computing, 3, 336–347.

    Article  Google Scholar 

  • Lyon, R. (1982). A computational model of filtering, detection, and compression in the cochlea. IEEE International Conference on Acoustics, Speech, and Signal Processing, 7, 1282–1285.

    Google Scholar 

  • Macefield, G., Gandevia, S.C., Burke, D. (1990). Perceptual responses to microstimulation of single afferents innervating joints, muscles and skin of the human hand. Journal of Physiology, 429, 113–129.

    PubMed  CAS  Google Scholar 

  • Maguire, L.P., McGinnity, T.M., Glackin, B., Ghani, A., Belatreche, A., Harkin, J. (2007). Challenges for large-scale implementations of spiking neural networks on FPGAs. Neurocomputing, 71(1–3), 13–29.

    Article  Google Scholar 

  • Markram, H. (2006). The blue brain project. Nature Reviews Neuroscience, 7(2), 153–160.

    Article  PubMed  CAS  Google Scholar 

  • Marques, H., Jäntsch, M., Wittmeier, S., Alessandro, C., Holland, O., Diamond, A., Lungarella, M., Knight, R. (2010). ECCE1: the first of a series of anthropomimetic musculoskelal upper torsos. In Proc. IEEE int. conf. humanoid robotics (pp. 391–396).

  • Masquelier, T., & Thorpe, S. (2007). Unsupervised learning of visual features through spike timing dependent plasticity. PLoS Computational Biology, 3(2), e31.

    Article  PubMed  Google Scholar 

  • Metta, G., Sandini, G., Vernon, D., Natale, L., Nori, F. (2008). The iCub humanoid robot: an open platform for research in embodied cognition. In Proc. workshop on performance metrics for intelligent systems.

  • Meuth, R.J., & Wunsch, D.C. (2007). A survey of neural computation on graphics processing hardware. In 2007 IEEE 22nd international symposium on intelligent control (pp. 524–527). Piscataway: IEEE.

    Chapter  Google Scholar 

  • Morrison, A., Diesmann, M., Gerstner, W. (2008). Phenomenological models of synaptic plasticity based on spike timing. Biological Cybernetics, 98(6), 459–478.

    Article  PubMed  Google Scholar 

  • Nageswaran, J.M., Dutt, N., Krichmar, J.L., Nicolau, A., Veidenbaum, A.V. (2009). A configurable simulation environment for the efficient simulation of large-scale spiking neural networks on graphics processors. Neural Networks, 22, 791–800.

    Article  PubMed  Google Scholar 

  • Noë, A., & Thompson, E. (2004). Are there neural correlates of consciousness? Journal of Consciousness Studies, 11(1), 3–28.

    Google Scholar 

  • Nowotny, T. (2011). Flexible neuronal network simulation framework using code generation for NVidia CUDA. BMC Neuroscience, 12(1), 239.

    Article  Google Scholar 

  • Rast, A., Galluppi, F., Davies, S., Plana, L., Patterson, C., Sharp, T., Lester, D., Furber, S. (2011). Concurrent heterogeneous neural model simulation on real-time neuromimetic hardware. Neural Networks, 24(9), 961–978.

    Article  PubMed  Google Scholar 

  • Ribot-Ciscar, E., Bergenheim, M., Albert, F., Roll, J.P. (2003). Proprioceptive population coding of limb position in humans. Experimental Brain Research, 149(4), 512–519.

    Google Scholar 

  • Richert, M., Nageswaran, J.M., Dutt, N., Krichmar, J.L. (2011). An efficient simulation environment for modeling large-scale cortical processing. Frontiers in Neuroinformatics, 5, 19.

    Article  PubMed  Google Scholar 

  • Robinson, D.A. (1964). The mechanics of human saccadic eye movement. Journal of Physiology, 174, 245–264.

    PubMed  CAS  Google Scholar 

  • Roll, J.P., Albert, F., Ribot-Ciscar, E., Bergenheim, M. (2004). “Proprioceptive signature” of cursive writing in humans: a multi-population coding. Experimental Brain Research, 157(3), 359–368.

    Article  Google Scholar 

  • Roll, J.P., Bergenheim, M., Ribot-Ciscar, E. (2000). Proprioceptive population coding of two-dimensional limb movements in humans: II. Muscle-spindle feedback during “drawing-like” movements. Experimental Brain Research, 134(3), 311–321.

    Article  CAS  Google Scholar 

  • Schemmel, J., Brüderle, D., Grübl, A., Hock, M., Meier, K., Millner, S. (2010). A wafer-scale neuromorphic hardware system for large-scale neural modeling. In Proc. IEEE int. conf. circuits and systems (pp. 1947–1950).

  • Schwartz, E.L. (1980). Computational anatomy and functional architecture of striate cortex—a spatial-mapping approach to perceptual coding. Vision Research, 20(8), 645–669.

    Article  PubMed  CAS  Google Scholar 

  • Song, S., Miller, K.D., Abbott, L.F. (2000). Competitive hebbian learning through spike-timing-dependent synaptic plasticity. Nature Neuroscience, 3(9), 919–926.

    Article  PubMed  CAS  Google Scholar 

  • Sporns, O. (2007). Brain connectivity. Scholarpedia, 2(10), 4695.

    Article  Google Scholar 

  • Thomas, D.B., & Luk, W. (2009). FPGA accelerated simulation of biologically plausible spiking neural networks. In Proc. IEEE symp. field-programmable custom computing machines.

  • Tiesel, J.P., & Maida, A.S. (2009). Using parallel GPU architecture for simulation of planar I/F networks. In Proc int. joint conf. neural networks (pp. 754–759). 1602

  • Tononi, G. (2008). Consciousness as integrated information: a provisional manifesto. Biological Bulletin, 215(3), 216–242.

    Article  PubMed  Google Scholar 

  • Vogels, T.P., & Abbott, L.F. (2005). Signal propagation and logic gating in networks of integrate-and-fire neurons. Journal of Neuroscience, 25(46), 10786–10795.

    Article  PubMed  CAS  Google Scholar 

  • Yudanov, D., Shaaban, M., Melton, R., Reznik, L. (2010). GPU-based simulation of spiking neural networks with real-time performance and high accuracy. In Proc. int. joint conf. neural networks.

Download references

Acknowledgements

This work was supported by EPSRC grant EP/F033516/1. Some of the GPUs used were funded through the NVIDIA University Program. We would also like to thank the reviewers of this paper for their helpful comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andreas K. Fidjeland.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fidjeland, A.K., Gamez, D., Shanahan, M.P. et al. Three Tools for the Real-Time Simulation of Embodied Spiking Neural Networks Using GPUs. Neuroinform 11, 267–290 (2013). https://doi.org/10.1007/s12021-012-9174-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12021-012-9174-x

Keywords

Navigation