The SpiNNaker Project
The SpiNNaker Project
PAPER
ABSTRACT | The spiking neural network architecture ‘‘Wet’’ neuroscience has told us a great deal about the
(SpiNNaker) project aims to deliver a massively parallel million- basic componentVthe neuronVfrom which the brain is
core computer whose interconnect architecture is inspired by the constructed. Brain imaging tells us yet more about how
connectivity characteristics of the mammalian brain, and which is activity moves around the brain as we perform certain
suited to the modeling of large-scale spiking neural networks in mental functions. The former is concerned with individual
biological real time. Specifically, the interconnect allows the neurons up to groups of tens or perhaps hundreds; the
transmission of a very large number of very small data packets, latter looks at the collective activity of many millions of
each conveying explicitly the source, and implicitly the time, of a neurons. But between these scales there are a few orders of
single neural action potential or ‘‘spike.’’ In this paper, we review magnitude of scale for which there exists no scientific
the current state of the project, which has already delivered instrument except the computer model, and it is at these
systems with up to 2500 processors, and present the real-time intermediate scales, we suggest, that all the interesting
event-driven programming model that supports flexible access to information processing takes place.
the resources of the machine and has enabled its use by a wide Our conclusion is that, if we wish to fully understand
range of collaborators around the world. how the brain represents and processes information, we
need to build computer models to test hypotheses of how
KEYWORDS | Brain modeling; multicast algorithms; multipro- the brain works.
cessor interconnection networks; neural network hardware;
parallel programming A. Neurons and Spikes
What sort of computer is required for such brain
modeling to work?
I. INTRODUCTION The human brain is generally viewed as comprising
THE spiking neural network architecture (SpiNNaker) somewhat under 100 billion neurons, where each neuron
project is motivated by the grand challenge of understand- is a multiple-input–single-output device.
ing how information is represented and processed in the There is some debate about the role of the more
brain [1]. Most of the frontiers of science are concerned numerous glial cells that form the structure upon which
with the very small, such as subatomic particles, or the the neurons build the brain, and, in particular, the role of
very large, such as exploring the outer regions of the astrocyte cells in synaptic plasticity [2], so any general-
universe. Yet there remains a great unsolved scientific purpose system should aim to accommodate these issues in
mystery at a very human scale: how does the brain, an case they prove to be important.
organ that we could readily hold in our hands and observe Neurons communicate principally through action
with the naked eye, perform its role that is so central to all potentials, or ‘‘spikes.’’ These are simply asynchronous
of our lives? impulses where, as a result of the electrochemical
regeneration process used to ensure the reliable propaga-
Manuscript received October 2, 2013; revised January 4, 2014; accepted February 2, tion of these signals along long biological ‘‘wires,’’
2014. Date of publication February 27, 2014; date of current version April 28, 2014. This
work was supported by the Engineering and Physical Sciences Research Council information is conveyed only in the identity of the neuron
(EPSRC) under GrantEP/G015740/01. that spiked and the time at which it spiked. The height and
The authors are with the School of Computer Science, University of Manchester,
Manchester M13 9PL, U.K. (e-mail: [email protected]; the width of the impulse are largely invariant at the
[email protected]; [email protected]; [email protected]). receiving synapse. This has led to the widespread adoption
Digital Object Identifier: 10.1109/JPROC.2014.2304638 of the address event representation (AER) encoding of
0018-9219 2014 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/
redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
652 Proceedings of the IEEE | Vol. 102, No. 5, May 2014
Furber et al: The SpiNNaker Project
neural activity [3], [4], where the information flow in a identifying the packet type, and such like. (The choice of a
network is represented as a time series of neural identifiers. 32-b AER identifier is not a fundamental limitation of the
There are some notable exceptions to the completeness architecture, and could be increased in a future implemen-
of the AER view of information flow. Some neurons tation to accommodate larger neural models.) The time of
transport and emit neuromodulators, such as dopamine, the AER spike is implicit; the communications infrastructure
that have a global effect on neurons within a neighborhood can deliver a packet in much less than a millisecond, which is
region; other neurons make direct contact through ‘‘gap’’ the requirement for real-time neural modeling.
junctions that make an electrical connection from one Although SpiNNaker’s design is centered on packet-
neuron to its neighbor. However, in much of the brain, the switched support for AER ‘‘spikes,’’ it can also support non-
primary real-time information flow is in the spikes that, in AER information flows through the same communication
a model, are represented by AER. A general-purpose mechanism delivering discrete (typically 1 ms) updates to
computer-modeling platform should offer mechanisms to continuously variable parameters.
support these other information flows while giving first- In order to achieve efficient massively parallel opera-
class support to AER ‘‘spikes.’’ tion, SpiNNaker’s design accepts certain compromises,
one of which is the requirement for deterministic
B. Computer Models operation. The asynchronous nature of the communica-
What computer power and architecture are required to tions system leads to nondeterministic ordering of packet
support a real-time model of the human brain? reception, and occasionally packets may be dropped to
The simplest estimate of an answer to this question avoid communication deadlock. It is possible to reimpose
suggests that there are around 1015 synapses in the brain, deterministic operation and lockstep operation to match a
with inputs firing at an average rate of 101 Hz, and each conventional sequential model under certain conditions,
synaptic event requires perhaps 102 instructions to update but this is not the natural or most efficient way to operate
the state of the postsynaptic neuron and implement any the machine.
synaptic plasticity algorithm. These figures lead to an
estimate of 1018 operations per second, the performance of D. Paper Organization
an exascale machine. Exascale high-performance compu- This paper is a review of the SpiNNaker project and a
ters do not yet exist, though recently the Chinese Tianhe 2 tutorial on the use of the machine. The contributions and
machine has achieved 3 1016 floating-point operations structure of the paper are as follows.
per second [5], so exascale computing is not too far away. • We present an overview of the architecture
However, raw computer performance is not the only (Section II) and of the hardware implementation
issue here. The communication patterns in the brain are (Section III).
based on sending very small ‘‘packets’’ of information • We present the system software (Section IV), des-
through complex paths to many targets. High-performance cribe the event-driven software model (Section V),
computers, on the other hand, are generally optimized for the API that supports this (Section VI), and a
point-to-point communication of large data packets. This simple example program that runs on top of the
mismatch leads to significant inefficiency in the mapping API (Section VII).
of brain-scale spiking neural networks onto conventional • We present the partitioning and configuration
cluster machines and high-performance computers. manager (PACMAN, Section VIII) that conceals
the physical structure of the machine.
C. SpiNNaker • Finally, we describe some typical applications that
The SpiNNaker machine is a computer designed run on the machine (Section IX), our future plans
specifically to support the sorts of communication found for larger scale machines (Section X), discuss
in the brain. Recognizing the huge computational require- related work (Section XI), and draw our conclu-
ments of the task, SpiNNaker is based on massively parallel sions (Section XII) from our experience with the
computation, and the architecture will accommodate up to machine at this stage in its development.
a million microprocessor cores, the limit being defined by
budget and architectural convenience rather than anything
fundamental. II. A RCHI TECTURE O VERVI EW
The key innovation in the SpiNNaker architecture is the A detailed description of the architecture of the machine
communications infrastructure, which is optimized to carry has been presented earlier [6], so here we present the key
very large numbers of very small packets, in contrast to the features of the architecture that are germane to what
conventional cluster and high-performance computer com- follows (see Fig. 1).
munications system which, as noted above, are optimized for A SpiNNaker machine is a homogeneous 2-D multiple
large data packets. Each packet carries a single neural ‘‘spike’’ instruction, multiple data array of processing nodes where
event in a 40-b packet, 32 b of which are the AER identifier of each node incorporates 18 ARM968 processor cores each
the neuron that spiked and 8 b are management bits with 96 kB of local memory, 128 MB of shared memory, a
B. Boards
The packages are then assembled onto printed circuit
boards (PCBs; see Fig. 2). The chip-to-chip connections on
the PCB are direct wired connections using a self-timed
2-of-7 non-return-to-zero protocol to transmit 4-b symbols
with two wire transitions, plus one wire transition for the
acknowledge response.
In principle, these direct connections could be used to Fig. 3. Inside a SpiNNaker package. The SpiNNaker chip is mounted on
the substrate, then a 128-MB mobile DDR SDRAM is stacked on top of it,
build a SpiNNaker machine of arbitrary size, but for and the connections are made inside the package with gold wire
practical reasons the machine is constructed from 48-node bonding. The packaging was carried out by Unisem Europe Ltd.
PCBs, and the PCB-to-PCB connections use high-speed
serial links where eight chip-to-chip links are multiplexed
through each serial link using Xilinx Spartan6 field- room cabinets and will require up to 75 kW of electrical
programmable gate arrays (FPGAs). power (peak).
C. Systems
SpiNNaker systems of varying sizes can then be
assembled from one or more of the 48-node PCBs. There IV. SPINNAKE R S YSTEM S OFTWARE
is also a smaller four-node board that is very convenient for SpiNNaker software can be categorized into that which
training, development, and mobile robotics. The largest runs on the SpiNNaker system itself and that which runs
machine, incorporating over a million ARM processor on other systems, some of which may interact with
cores, will comprise 1200 48-node boards in ten machine SpiNNaker. The majority of software that runs on the
SpiNNaker chips is written in C. This software can be
subdivided into control software (a primitive operating
system) and application software which performs the
user’s computations.
The primary interface between SpiNNaker systems and
the outside world is Ethernet and IP-based protocols. Every
SpiNNaker chip has an Ethernet interface and typically one
chip per PCB uses this interface. This is used to download
code and data to SpiNNaker and to gather results from
applications. For some applications, this (100 Mb/s) inter-
face is a bottleneck on getting data to and from SpiNNaker,
and we are investigating the use of gigabit links provided by
FPGAs on SpiNNaker PCBs to improve this.
A. SpiNNaker Software
The control software that runs on SpiNNaker systems
is known as the SpiNNaker Control and Monitor Program
(SC&MP). The SpiNNaker chips contain primary boot-
strap code which allows the loading of code via the
Ethernet interface or the interchip links, and this is used to
load SC&MP, initially via an Ethernet interface to a single
chip. SC&MP is then propagated to the entire system over
the interchip links; it runs continuously on the core that
Fig. 2. A 48-node SpiNNaker PCB. This circuit board incorporates
48 SpiNNaker packages (center) with a total of 864 ARM968 processor
has been selected as the monitor processor and provides a
cores, three FPGAs (top) for high-speed inter-PCB communications range of services to the outside world to allow applications
through serial advanced technology attachment connectors (top left to be loaded on the remaining 16 or 17 application cores on
and right), with onboard power regulation (bottom). each chip.
Fig. 5. The various software components running on the host machine, the root node, and other SpiNNaker nodes.
V. EVENT-DRIVEN SOFT WARE MODEL to be executed when specific events, such as the arrival of a
packet, the completion of a DMA transfer, or the lapse of a
The programming model employed on SpiNNaker is that of a
periodic time interval, occur. The callback mechanism is also
real-time event-driven system. The application processors
used to hide the details of the interrupt subsystem, which is
have a base state, which is halted and waiting for an interrupt,
handled directly and efficiently by the API.
contributing to the overall energy efficiency of the system. In
Fig. 6 shows the basic architecture of the event-driven
the standard neural modeling application, there are three
framework. Application developers write callback routines
principal events that cause the processor to wake up.
that are associated with events of interest and register
1) An incoming spike packet. This will usually cause them with the API at a priority level, which defines them
the processor to initiate a direct memory access as queueable or non-queueable. When the corresponding
(DMA) transfer from SDRAM of the synaptic data event occurs, the scheduler either executes the callback
structures associated with the source of this spike. immediately and atomically (in the case of a non-
2) DMA complete. Once the synaptic data have been queueable callback) or places it into a scheduling queue
transferred, the processor must process the data. at a position according to its priority (in the case of a
3) One-millisecond timer tick. Each processor has a queueable callback). When control is returned to the
local timer that marks the passage of time, and dispatcher (following the completion of a callback) the
each millisecond (typically, the interval is pro- highest priority queueable callback is executed. Queueable
grammable) the processor will compute a further callbacks do not necessarily execute atomically: they may
integration step in the neuron dynamics. be preempted by non-queueable callbacks if a
Of course, these events are asynchronous and unpredict- corresponding event occurs during their execution.
able, so the software running on the processor must be The dispatcher goes to sleep (in the low-power
capable of prioritizing the events and handling multiple consumption ‘‘wait for interrupt’’ state, where the processor
overlapping requests. This is achieved through the use of a core clock is turned off) when the callback queues are empty
real-time kernel that underpins the event-driven operation and will be awakened by any event. Application developers
of each application processor, and presents a straightfor- can designate one non-queueable callback as the preeminent
ward API to the user, who can build applications on top of callback, which has the highest priority and can preempt
the API entirely in C. other non-queueable callbacks as well as all queueable ones.
The API provides support for callbacks to control entry and
exit from critical sections to prevent higher priority callbacks
VI. SPINNAKER APPLICATION interrupting them at a bad time, e.g., during access to a
PROGRAMMING INTERFACE shared resource.
The SpiNNaker application programming interface (spin1 This real-time kernel is scalable to very large numbers
API) [11] provides an execution environment that supports a of processors, but is best suited to relatively simple models
lightweight, event-driven programming model. A central goal running on each processor. Clearly, the system will come
of the model is to save energy by keeping the cores in a low- to a halt if no events are generated, and real-time
power state, only responding to events of interest. To this performance will be lost if a processor is overwhelmed
effect, application programs do not control execution flow; by incoming events. In practice, careful mapping of a
they can only indicate the functions, referred to as callbacks, model onto the system can avoid both eventualities.
to all the neurons in the postsynaptic population with a pro- I X. TYPICAL APPLICATIONS
bability p, weight w, and delay d. In this section, we review some scenarios highlighting the
con ¼ FixedProbabilityConnector ðp connect ¼ flexibility of the SpiNNaker platform, and present an
p; w; d) experiment running on a robot equipped with AER sensors
e e ¼ Projection ðex; ex; con; target ¼ and a 48-node SpiNNaker board.
‘excitatory’) With the hardware and software infrastructure pre-
e i ¼ Projection ðex; in; con; target ¼ sented in the previous sections we have simulated networks
‘excitatory’) with up to 250 000 neurons and 80 million synapses in real
i i ¼ Projection ðin; in; con; target ¼ time on a 48-node SpiNNaker board (as shown in Fig. 2)
‘inhibitory’) within a power budget of 1 W per SpiNNaker package
i e ¼ Projection ðin; ex; con; target ¼ (containing a SpiNNaker chip and a 128-MB SDRAM; see
‘inhibitory’) Fig. 3). In terms of spike delivery (the dominant cost in
neural simulations [18]) and power consumption, these
All the projections coming from the excitatory population
experiments show 1.8 billion connections per second, using
target excitatory synapses; conversely, all the projections
a few nanojoules per event and per neuron [19], and
coming from the inhibitory population target inhibitory
represent the maximum sustainable throughput of the
synapses.
system with the current software infrastructure.
PACMAN automatically partitions and maps the
Good power efficiency has also been demonstrated in a
network as illustrated in Fig. 8 (right), which shows an
biologically plausible model of cortical microcircuitry
example where the total number of neurons n is 6000, and
inspired by previous work [15], [20], comprising 10 000
each core maps 100 neurons. As a result, the model needs
Izhikevich neurons, replicating spiking dynamics found in
to be partitioned into 48 excitatory and 12 inhibitory
the cortex, and 40 million synapses in real time [21], while
subgroups, each to be allocated to a single core of a
the flexibility of the platform can be used to explore novel
physical machine, with the system library providing the
algorithms for learning [22].
geometry (in this case, a four-chip board) and the
functional status of the platform. The model library
provides the translation methods for the IF_curr_exp A. Interface With Nengo
neuron type (a leaky integrate and fire with exponential While with PyNN it is possible to define arbitrary
decaying synapses), its parameters, and its synapses. Fig. 9 network structures, using the neural engineering frame-
shows results of 1 s of simulation in the form of a raster work (NEF) [23], it is possible to encode functions and
plot, where each dot represents a spike from a neuron dynamical systems in networks of spiking neurons. Using
(ordinate) in time (abscissa). Red (blue) dots represent the NEF, it is possible to build complex cognitive
spikes from excitatory (inhibitory) neurons; the inter- architectures such as SPAUN [24], a spike-based functional
connectivity parameters are set to give rise to the model of the brain that makes comparisons with human
oscillatory activity shown in the figure. neural and behavioral data possible. SpiNNaker has,
therefore, been interfaced with Nengo [25], the software
that implements the NEF, enabling users to create neural
networks by specifying the functions to be computed [13].
Nengo translates the functions into neural circuitry by
calculating neuronal and connectivity parameters, while
PACMAN distributes and configures the model on the
board. Through the use of the NEF, SpiNNaker becomes a
‘‘neural computational box’’: input values and vectors are
encoded in spiking activity using the NEF principles
directly on the SpiNNaker board. The desired computation
is performed in real time by spiking neurons, and output
values and vectors are decoded from spiking activity.
Interfacing with Nengo shows how different front–ends
can be interfaced with PACMAN and how flexibly the
platform can be programmed with specialized neural
kernels, such as the ones performing the NEF encoding
and decoding processes.
Fig. 10. Example robotic closed perception–action loop. A ‘‘þ’’ is shown to the robot, which extracts and combines the vertical and horizontal
lines, moving forward. Gray kernels and dashed lines represent the fact that the pathways for the ‘‘’’ detection are not activated,
as a ‘‘þ’’ is presented.
number of other designs that take a different approach to problem domain and developing the architecture, silicon,
achieve similar end goals [40]. These various approaches and software infrastructure. While the software develop-
can be classified according to whether they use digital or ment will be ongoing, the architecture and silicon are now
analog technology to model the neurons and synapses, the working reliably and delivering very much as originally
communications topology employed, and the support for anticipated [1].
synaptic plasticity. The process of delivering the potential of the SpiNNaker
Digital models may be implemented on conventional platform is now underway, and early indications are largely
general-purpose computers, including cluster machines positive. The platform is proving flexible, relatively easy to
and high-performance computers, or on special-purpose use (though there is always room for improvement in this
hardware such as FPGAs [41], [42], graphics professor dimension), and capable of delivering useful results across a
units [43], or custom silicon [44]. Analog models [45] may wide range of application areas.
be subthreshold [46], whereupon biological real-time As the platform is scaled up toward the ultimate
performance is achievable, or above threshold [47], where million-core machine, new challenges will emerge, partic-
the circuits are likely to be much faster than biological real ularly in the area of management, application mapping and
time. Notable large-scale projects include the following. loading performance, the observability of activity within
the machine, and most notably with debugging large-scale
• The Stanford Neurogrid [46] employs subthresh- models running on the machine. All of these are ongoing
old analog circuits with digital spanning tree AER areas of research and development, but with help and
communications [48] for real-time neural model- feedback from a growing (and so far very forgiving)
ing. Neurogrid can model a million neurons in real community of users, and secure funding within the HBP
time while consuming only 3 W. It combines alongside a number of other funded projects that will
unicast and multicast digital routing with analog support extensive use of the platform at the University of
signaling across a local ‘‘diffusion network.’’ Manchester [including a European Research Council
• The IBM neurosynaptic core [49] employs custom Advanced Grant and several Engineering and Physical
digital circuits to achieve a one-to-one correspon- Sciences Research Council (EPSRC)-funded collaborations],
dence between the hardware and software simulation we are committed to continued improvement of the
models. It is intended to form a generic cognitive capabilities of the platform.
subsystem [44]. It uses AER communication. The time is right to scale up our ambition to under-
• The Heidelberg HICANN system [47] employs stand the information processing principles at work in the
wafer-scale above threshold analog circuits that brain, and the SpiNNaker platform has been designed to
operate at 104 x biological real time using a two- deliver a broad capability to support this ambition. The
layer AER protocol, one layer for intrawafer next five years will be crucial in determining the extent to
communication and a second layer for interwafer which we can succeed in delivering a platform with the
communication. capabilities required to support the global brain research
• The Cambridge BlueHive system [41] employs digital program. h
circuits on FPGAs to deliver real-time performance.
The communication is not pure AER; multicast is
implemented using a set of ‘‘fan-out’’ messages that
carry the destination, weight, and delay. Acknowledgment
The SpiNNaker project has benefited from contr-
These examples illustrate the diversity of approaches ibutions from many people in the team at the University
taken to address the problem of modeling large-scale of Manchester, collaborators at the universities of
systems of spiking neurons in real time or faster. There Southampton, Cambridge, and Sheffield, industry partners,
are arguments on both sides of the analog/digital divide and many external collaborators, only some of whom has
(for example, energy-efficiency favors analog, whereas there been space to mention in the text, but the authors
flexibility and repeatability favors digital), and on most would like to note here the contribution of J. Conradt of
other design decisions, so the area is still wide open to new the Technische Universität München (Munich, Germany)
ideas, and rather lacking in robust benchmarks that can who developed the robot platform shown in Fig. 10. They
be used to make quantitative comparisons between alter- particularly wish also to acknowledge the benefits accrued
native approaches. from participation in the Capo Caccia and Telluride
neuromorphic workshops, and they are grateful to the
organizers for the opportunities for collaborations that have
XII. CONCLUSION emerged from these workshops. The authors would also
The SpiNNaker project has been 15 years since conception like to acknowledge the helpful comments and feedback
and eight years in (funded) execution. Much time and from the anonymous reviewers of the first draft of this
effort has gone into understanding the brain-modeling paper.
REFERENCES [17] D. Goodman, ‘‘Brian: A simulator for spiking for high-speed visual object recognition and
neural networks in Python,’’ Front. Neuroinf., tracking,’’ IEEE Trans. Neural Netw., vol. 20,
[1] S. Furber and S. Temple, ‘‘Neural systems vol. 2, 2008, DOI: 10.3389/neuro.11.005. no. 9, pp. 1417–1438, Sep. 2009.
engineering,’’ J. Roy. Soc. Interface, vol. 4, 2008.
no. 13, pp. 193–206, 2007. [33] F. Galluppi, K. Brohan, S. Davidson,
[18] H. Plesser, J. Eppler, A. Morrison, T. Serrano-Gotarredona, J. Carrasco,
[2] J. J. Wade, L. J. McDaid, J. Harkin, V. Crunelli, M. Diesmann, and M. O. Gewaltig, ‘‘Efficient B. Linares-Barranco, and S. B. Furber, ‘‘A
and J. A. S. Kelso, ‘‘Bidirectional coupling parallel simulation of large-scale neuronal real-time, event-driven neuromorphic system
between astrocytes and neurons mediates networks on clusters of multiprocessor for goal-directed attentional selection,’’ in
learning and dynamic coordination in computers,’’ Euro-Par 2007 Parallel Processing, Neural Information Processing, vol. 7664,
the brain: A multiple modeling approach,’’ vol. 4641, Berlin, Germany: Springer-Verlag, Berlin, Germany: Springer-Verlag, 2012,
PLoS ONE, vol. 6, no. 12, 2011, DOI: 10.1371/ 2007, pp. 672–681. pp. 226–233.
journal.pone.0029445.
[19] E. Stromatias, F. Galluppi, C. Patterson, and [34] A. van Schaik and S. Liu, ‘‘AER EAR: A
[3] M. Mahowald, An Analog VLSI System for S. Furber, ‘‘Power analysis of large-scale, matched silicon cochlea pair with address
Stereoscopic Vision. Boston, MA, USA: real-time neural networks on SpiNNaker,’’ in event representation interface,’’ in Proc. IEEE
Kluwer, 1994. Proc. Int. Joint Conf. Neural Netw., 2013, Int. Symp. Circuits Syst., 2005, pp. 4213–4216.
[4] K. Boahen, ‘‘Point-to-point connectivity pp. 1570–1577. [35] S. Kameda and T. Yagi, ‘‘An analog VLSI chip
between neuromorphic chips using address [20] E. Izhikevich and G. Edelman, ‘‘Large-scale emulating sustained and transient response
events,’’ IEEE Trans. Circuits Syst., vol. 47, model of mammalian thalamocortical channels of the vertebrate retina,’’ IEEE Trans.
no. 5, pp. 416–434, May 2000. systems,’’ Proc. Nat. Acad. Sci. USA, vol. 105, Neural Netw., vol. 14, no. 5, pp. 1405–1412,
[5] Top 500 Supercomputers, Jun. 2013. no. 9, pp. 3593–3598, Mar. 2008. Sep. 2003.
[Online]. http://top500.org/lists/2013/06/ . [21] T. Sharp, F. Galluppi, A. D. Rast, and [36] C. Posch, D. Matolin, and R. Wohlgenannt,
[6] S. B. Furber, D. R. Lester, L. A. Plana, S. B. Furber, ‘‘Real-time simulation of ‘‘A QVGA 143 dB dynamic range
J. D. Garside, E. Painkras, S. Temple, and detailed cortical microcircuits on asynchronous address-event PWM dynamic
A. D. Brown, ‘‘Overview of the SpiNNaker SpiNNaker,’’ J. Neurosci. Methods, vol. 210, image sensor with lossless pixel-level video
system architecture,’’ IEEE Trans. Comput., no. 1, pp. 110–118, 2012. compression,’’ in Proc. Int. Solid-State Circuits
vol. 62, no. 12, pp. 2454–2467, [22] S. Davies, F. Galluppi, A. D. Rast, and Conf., 2010, pp. 400–401.
Dec. 2013. S. B. Furber, ‘‘A forecast-based STDP rule [37] C. Denk, F. Llobet-Blandino, F. Galluppi,
[7] D. Vainbrand and R. Ginosar, ‘‘Scalable suitable for neuromorphic implementation,’’ L. Plana, S. Furber, and J. Conradt, ‘‘Real-time
network-on-chip architecture for configurable J. Neural Netw., vol. 32, pp. 3–14, 2012. interface board for closed-loop robotic tasks
neural networks,’’ Microprocessors Microsyst., [23] C. Eliasmith and C. H. Anderson, Neural on the SpiNNaker neural computing system,’’
vol. 35, no. 2, pp. 152–166, 2011. Engineering: Computation, Representation, and Artificial Neural Networks and Machine
[8] E. Painkras, L. A. Plana, J. D. Garside, Dynamics in Neurobiological Systems. LearningVICANN 2013, vol. 8131,
S. Temple, F. Galluppi, C. Patterson, Cambridge, MA, USA: MIT Press, 2003. Berlin, Germany: Springer-Verlag, 2013,
D. R. Lester, A. D. Brown, and S. B. Furber, pp. 467–474.
[24] C. Eliasmith, T. Stewart, X. Choo, T. Bekolay,
‘‘SpiNNaker: A 1 W 18-core system-on-Chip T. DeWolf, Y. Tang, and D. Rasmussen, ‘‘A [38] D. H. Hubel and T. N. Wiesel, ‘‘Receptive
for massively-parallel neural network large-scale model of the functioning brain,’’ fields, binocular interaction and functional
simulation,’’ IEEE J. Solid-State Circuits, Science, vol. 338, no. 6111, pp. 1202–1205, architecture of the cat’s cortex,’’ J. Physiol.,
vol. 48, no. 8, pp. 1943–1953, Aug. 2013. 2012. vol. 160, pp. 106–154, 1962.
[9] C. Patterson, F. Galluppi, A. D. Rast, and [25] F. Galluppi, S. Davies, S. Furber, T. Stewart, [39] T. Serre, L. Wolf, S. Bileschi, M. Riesenhuber,
S. B. Furber, ‘‘Visualising large-scale neural and C. Eliasmith, ‘‘Real time on-chip and T. Poggio, ‘‘Robust object recognition
network models in real-time,’’ in Proc. Int. implementation of dynamical systems with with cortex-like mechanisms,’’ IEEE Trans.
Joint Conf. Neural Netw., Brisbane, Australia, spiking neurons,’’ in Proc. Int. Joint Conf. Pattern Anal. Mach. Intell., vol. 29, no. 3,
Jun. 10–15, 2012, DOI: 10.1109/IJCNN.2012. Neural Netw., 2012, DOI: 10.1109/IJCNN. pp. 411–426, Mar. 2007.
6252490. 2012.6252706. [40] R. Cattell and A. Parker, ‘‘Challenges for brain
[10] F. Galluppi, S. Davies, A. D. Rast, T. Sharp, [26] C. A. Mead, Analog VLSI and Neural emulation: Why is it so difficult?’’ Natural
L. A. Plana, and S. B. Furber, ‘‘A hierarchical Systems. Reading, MA, USA: Intell., vol. 1, no. 3, pp. 17–31, 2012.
configuration system for a massively parallel Addison-Wesley, 1989. [41] P. J. Fox, S. W. Moore, S. J. T. Marsh,
neural hardware platform,’’ in Proc. 9th Conf. A. T. Markettos, and A. Mujumdar,
Comput. Front., 2012, pp. 183–192. [27] S. Thorpe, D. Fize, and C. Marlot, ‘‘Speed of
processing in the human visual system,’’ ‘‘BluehiveVA field-programmable custom
[11] T. Sharp, L. A. Plana, F. Galluppi, and Nature, vol. 381, pp. 520–522, 1996. computing machine for extreme-scale
S. B. Furber, ‘‘Event-driven simulation real-time neural network simulation,’’ in Proc.
of arbitrary spiking neural networks on [28] R. Van Rullen and S. Thorpe, ‘‘Rate coding
IEEE 20th Int. Symp. Field-Programmable
SpiNNaker,’’ Neural Information Processing, versus temporal order coding: What the
Custom Comput. Mach., 2012, pp. 133–140.
Lecture Notes in Computer Science, Berlin, retinal ganglion cells tell the visual cortex,’’
Neural Comput., vol. 13, no. 6, pp. 1255–1283, [42] A. S. Cassidy, J. Georgiou, and A. G. Andreou,
Germany: Springer-Verlag, 2011, vol. 7064, ‘‘Design of silicon brains in the nano-CMOS
pp. 424–430. 2001.
era: Spiking neurons, learning synapses and
[12] A. Davison, D. Brüderle, J. Eppler, [29] C. Mead and M. Mahowald, ‘‘A silicon model
neural architecture optimization,’’ Neural
J. Kremkow, E. Muller, D. Pecevski, of early visual processing,’’ Neural Netw.,
Netw., vol. 45, pp. 4–26, Jun. 2013.
L. Perrinet, and P. Yger, ‘‘PyNN: A common vol. 1, no. 1, pp. 91–97, 1988.
[43] A. K. Fidjeland and M. P. Shanahan,
interface for neuronal network simulators,’’ [30] P. Lichtsteiner, C. Posch, and T. Delbruck, ‘‘A
‘‘Accelerated simulation of spiking neural
Front. Neuroinf., vol. 2, 2008, DOI: 10.3389/ 128 128 120 dB 15 s latency asynchronous
networks using GPUs,’’ in Proc. Int. Joint Conf.
neuro.11.011.2008. temporal contrast vision sensor,’’ IEEE J. Solid
Neural Netw., Jul. 2010, DOI: 10.1109/IJCNN.
[13] T. C. Stewart, B. Tripp, and C. Eliasmith, State Circuits, vol. 43, no. 2, pp. 566–576,
2010.5596678.
‘‘Python scripting in the Nengo simulator,’’ Feb. 2008.
[44] J. V. Arthur, P. A. Merolla, F. Akopyan,
Front. Neuroinf., vol. 3, 2009, DOI: 10.3389/ [31] J. Lenero-Bardallo, T. Serrano-Gotarredona,
R. Alvarez-Icaza, A. Cassidy, S. Chandra,
neuro.11.007.2009. and B. Linares-Barranco, ‘‘A 3.6s latency
S. K. Esser, N. Imam, W. Risk, D. Rubin,
[14] P. Hagmann, L. Cammoun, X. Gigandet, asynchronous frame-free event-driven
R. Manohar, and D. S. Modha, ‘‘Building
R. Meuli, C. J. Honey, V. J. Wedeen, and dynamic-vision-sensor,’’ IEEE J. Solid State
block of a programmable neuromorphic
O. Sporns, ‘‘Mapping the structural core of Circuits, vol. 46, no. 6, pp. 1443–1455,
substrate: A digital neurosynaptic core,’’ in
human cerebral cortex,’’ PLoS Biol., vol. 6, Jun. 2011.
Proc. Int. Joint Conf. Neural Netw., Jun. 2012,
no. 7, Jul. 2008, DOI: 10.1371/journal.pbio. [32] R. Serrano-Gotarredona, M. Oster, DOI: 10.1109/IJCNN.2012.6252637.
0060159. P. Lichtsteiner, A. Linares-Barranco,
[45] G. Indiveri, B. Linares-Barranco, T. Hamilton,
[15] T. Binzegger, R. Douglas, and K. Martin, ‘‘A R. Paz-Vicente, F. Gomez-Rodriguez,
A. Van Schaik, R. Etienne-Cummings,
quantitative map of the circuit of cat primary L. Camunas-Mesa, R. Berner,
T. Delbruck, S. C. Liu, P. Dudek, P. Hafliger,
visual cortex,’’ J. Neurosci., vol. 24, no. 39, M. Rivas-Perez, T. Delbruck, S. Liu,
S. Renaud, J. Schemmel, G. Cauwenberghs,
pp. 8441–8453, Sep. 2004. R. Douglas, P. Hafliger, G. Jimenez-Moreno,
J. Arthur, K. Hynna, F. Folowosele, S. Saighi,
A. Civit Ballcels, T. Serrano-Gotarredona,
[16] O. Gewaltig, M. Diesmann, and T. Serrano-Gotarredona, J. Wijekoon,
A. Acosta-Jimenez, and B. Linares-Barranco,
M.-O. Gewaltig, ‘‘NEST (NEural Simulation Y. Wang, and K. Boahen, ‘‘Neuromorphic
‘‘CAVIAR: A 45 k neuron, 5 M synapse,
Tool),’’ Scholarpedia, vol. 2, no. 4, 2007, DOI: silicon neuron circuits,’’ Front. Neurosci.,
12 G connects/s AER hardware
10.4249/scholarpedia.1430. sensory-processing- learning-actuating system
vol. 5, no. 23, May 2011, DOI: 10.3389/fnins. neuromorphic hardware system for [49] P. Merolla, J. Arthur, F. Akopyan, N. Imam,
2011.00073. large-scale neural modeling,’’ in Proc. Int. R. Manohar, and D. S. Modha, ‘‘A digital
[46] R. Silver, K. Boahen, S. Grillner, N. Kopell, Symp. Circuits Syst., 2010, pp. 1947–1950. neurosynaptic core using embedded crossbar
and K. Olsen, ‘‘Neurotech for neuroscience: [48] P. Merolla, J. Arthur, R. Alvarez, J.-M. Bussat, memory with 45 pj per spike in 45 nm,’’ in
Unifying concepts, organizing principles, and K. Boahen, ‘‘A multicast tree router for Proc. Custom Integr. Circuits Conf., Sep. 2011,
and emerging tools,’’ J. Neurosci., multichip neuromorphic systems,’’ IEEE DOI: 10.1109/CICC.2011.6055294.
pp. 11807–11819, Oct. 2007. Trans. Circuits Syst., 2013, DOI: 10.1109/TCSI.
[47] J. Schemmel, D. Bruderle, A. Grubl, M. Hock, 2013.2284184.
K. Meier, and S. Millner, ‘‘A wafer-scale