, Volume 11, Issue 3, pp 267–290 | Cite as

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

  • Andreas K. Fidjeland
  • David Gamez
  • Murray P. Shanahan
  • Edgars Lazdins
Original Article


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.


Simulation 3D visualization Spike encoding Robotics Spiking neural networks iCub GPU 



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.


  1. Aleksander, I. (2005). The world in my mind, my mind in the world. Exeter: Imprint Academic.Google Scholar
  2. 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.CrossRefGoogle Scholar
  3. 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).Google Scholar
  4. 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.CrossRefGoogle Scholar
  5. 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.PubMedCrossRefGoogle Scholar
  6. Bernhard, F., & Keriven, R. (2006). Spiking neurons on GPUs. In Proc. 6th int. conf. computational science (pp. 236–243).Google Scholar
  7. Bhowmik, D., & Shanahan, M. (2012). How well do oscillator models capture the behaviour of biological neurons? In Proc. int. joint conf. neural networks.Google Scholar
  8. 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.PubMedCrossRefGoogle Scholar
  9. 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.CrossRefGoogle Scholar
  10. 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).Google Scholar
  11. 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
  12. 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.PubMedCrossRefGoogle Scholar
  13. Buchmann, T. (2011). Stock market trading with spiking neural networks. MSc thesis, Imperial College London.Google Scholar
  14. 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).Google Scholar
  15. Carnevale, N.T., & Hines, M.L. (2006). The NEURON book. Cambridge: Cambridge University Press.CrossRefGoogle Scholar
  16. 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).Google Scholar
  17. Clark, A. (2008). Supersizing the mind: Embodiment, action, and cognitive extension. New York: Oxford University Press.Google Scholar
  18. 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.PubMedGoogle Scholar
  19. 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.PubMedCrossRefGoogle Scholar
  20. 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.Google Scholar
  21. 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.CrossRefGoogle Scholar
  22. 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.PubMedGoogle Scholar
  23. Enroth-Cugell, C., & Robson, J. (1966). The contrast sensitivity of retinal ganglion cells of the cat. Journal of Physiology, 187(3), 517–552.PubMedGoogle Scholar
  24. 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.PubMedGoogle Scholar
  25. Fidjeland, A.K. (2011). NeMo manual.
  26. Fitzpatrick, P., Metta, G., Natale, L. (2008). Towards long-lived robot genes. Robotics and Autonomous Systems, 56(1), 29–45.CrossRefGoogle Scholar
  27. 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).Google Scholar
  28. 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
  29. Fontaine, B., Goodman, D., Benichoux, V., Brette, R. (2011). Brian hears: online auditory processing using vectorization over channels. Frontiers in Neuroinformatics, 5, 9.PubMedCrossRefGoogle Scholar
  30. 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).Google Scholar
  31. 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
  32. Gamez, D. (2010). Information integration based predictions about the conscious states of a spiking neural network. Consciousness and Cognition, 19(1), 294–310.PubMedCrossRefGoogle Scholar
  33. Gamez, D. (2011a). iSpike manual.
  34. Gamez, D. (2011b). SpikeStream manual.
  35. 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.PubMedCrossRefGoogle Scholar
  36. Gamez, D., Fidjeland, A., Lazdins, E. (2012). iSpike: a spiking neural interface for the icub robot. Bioinspiration and Biomimetics, 7, 025008.PubMedCrossRefGoogle Scholar
  37. 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).Google Scholar
  38. Georgopoulos, A.P., Schwartz, A.B., Kettner, R.E. (1986). Neuronal population coding of movement direction. Science, 233(4771), 1416–1419.PubMedCrossRefGoogle Scholar
  39. Gewaltig, M.O., & Diesmann, M. (2007). NEST. Scholarpedia, 2(4), 1430.CrossRefGoogle Scholar
  40. Goodman, D.F. (2010). Code generation: a strategy for neural network simulators. Neuroinformatics, 8(3), 183–196.PubMedCrossRefGoogle Scholar
  41. Goodman, D.F., & Brette, R. (2009). The Brian simulator. Frontiers in Neuroscience, 3(2), 192–197.PubMedCrossRefGoogle Scholar
  42. Grill-Spector, K., & Malach, R. (2004). The human visual cortex. Annual Review of Neuroscience, 27, 649–677.PubMedCrossRefGoogle Scholar
  43. 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.CrossRefGoogle Scholar
  44. 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.PubMedCrossRefGoogle Scholar
  45. Hammarlund, P., & Ekeberg, O. (1998). Large neural network simulations on multiple hardware platforms. Journal of Computational Neuroscience, 5(4), 443–459.PubMedCrossRefGoogle Scholar
  46. 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
  47. 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.PubMedCrossRefGoogle Scholar
  48. 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).Google Scholar
  49. 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.PubMedCrossRefGoogle Scholar
  50. 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
  51. Izhikevich, E.M. (2003). Simple model of spiking neurons. IEEE Transactions on Neural Networks, 14, 1569–1572.PubMedCrossRefGoogle Scholar
  52. 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.CrossRefGoogle Scholar
  53. 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. 1507CrossRefGoogle Scholar
  54. 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.PubMedCrossRefGoogle Scholar
  55. 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.CrossRefGoogle Scholar
  56. Kuramoto, Y. (1984). Chemical oscillations, waves, and turbulence. Berlin: Springer.CrossRefGoogle Scholar
  57. 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).Google Scholar
  58. Liu, J.D., & Hu, H. (2006). Biologically inspired behaviour design for autonomous robotic fish. Internation Journal of Automation and Computing, 3, 336–347.CrossRefGoogle Scholar
  59. 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
  60. 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.PubMedGoogle Scholar
  61. 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.CrossRefGoogle Scholar
  62. Markram, H. (2006). The blue brain project. Nature Reviews Neuroscience, 7(2), 153–160.PubMedCrossRefGoogle Scholar
  63. 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).Google Scholar
  64. Masquelier, T., & Thorpe, S. (2007). Unsupervised learning of visual features through spike timing dependent plasticity. PLoS Computational Biology, 3(2), e31.PubMedCrossRefGoogle Scholar
  65. 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.Google Scholar
  66. 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.CrossRefGoogle Scholar
  67. Morrison, A., Diesmann, M., Gerstner, W. (2008). Phenomenological models of synaptic plasticity based on spike timing. Biological Cybernetics, 98(6), 459–478.PubMedCrossRefGoogle Scholar
  68. 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.PubMedCrossRefGoogle Scholar
  69. Noë, A., & Thompson, E. (2004). Are there neural correlates of consciousness? Journal of Consciousness Studies, 11(1), 3–28.Google Scholar
  70. Nowotny, T. (2011). Flexible neuronal network simulation framework using code generation for NVidia CUDA. BMC Neuroscience, 12(1), 239.CrossRefGoogle Scholar
  71. 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.PubMedCrossRefGoogle Scholar
  72. 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
  73. 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.PubMedCrossRefGoogle Scholar
  74. Robinson, D.A. (1964). The mechanics of human saccadic eye movement. Journal of Physiology, 174, 245–264.PubMedGoogle Scholar
  75. 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.CrossRefGoogle Scholar
  76. 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.CrossRefGoogle Scholar
  77. 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).Google Scholar
  78. 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.PubMedCrossRefGoogle Scholar
  79. Song, S., Miller, K.D., Abbott, L.F. (2000). Competitive hebbian learning through spike-timing-dependent synaptic plasticity. Nature Neuroscience, 3(9), 919–926.PubMedCrossRefGoogle Scholar
  80. Sporns, O. (2007). Brain connectivity. Scholarpedia, 2(10), 4695.CrossRefGoogle Scholar
  81. Thomas, D.B., & Luk, W. (2009). FPGA accelerated simulation of biologically plausible spiking neural networks. In Proc. IEEE symp. field-programmable custom computing machines.Google Scholar
  82. 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). 1602Google Scholar
  83. Tononi, G. (2008). Consciousness as integrated information: a provisional manifesto. Biological Bulletin, 215(3), 216–242.PubMedCrossRefGoogle Scholar
  84. 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.PubMedCrossRefGoogle Scholar
  85. 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.Google Scholar

Copyright information

© Springer Science+Business Media New York 2012

Authors and Affiliations

  • Andreas K. Fidjeland
    • 1
  • David Gamez
    • 1
  • Murray P. Shanahan
    • 1
  • Edgars Lazdins
    • 1
  1. 1.Imperial College LondonLondonUK

Personalised recommendations