Cognitive computing programming paradigm: A Corelet Language for composing networks of neurosynaptic cores

Marching along the DARPA SyNAPSE roadmap, IBM unveils a trilogy of innovations towards the TrueNorth cognitive computing system inspired by the brain's function and efficiency. The sequential programming paradigm of the von Neumann architecture is wholly unsuited for TrueNorth. Therefore, as our main contribution, we develop a new programming paradigm that permits construction of complex cognitive algorithms and applications while being efficient for TrueNorth and effective for programmer productivity. The programming paradigm consists of (a) an abstraction for a TrueNorth program, named Corelet, for representing a network of neurosynaptic cores that encapsulates all details except external inputs and outputs; (b) an object-oriented Corelet Language for creating, composing, and decomposing corelets; (c) a Corelet Library that acts as an ever-growing repository of reusable corelets from which programmers compose new corelets; and (d) an end-to-end Corelet Laboratory that is a programming environment which integrates with the TrueNorth architectural simulator, Compass, to support all aspects of the programming cycle from design, through development, debugging, and up to deployment. The new paradigm seamlessly scales from a handful of synapses and neurons to networks of neurosynaptic cores of progressively increasing size and complexity. The utility of the new programming paradigm is underscored by the fact that we have designed and implemented more than 100 algorithms as corelets for TrueNorth in a very short time span.

[1]  Marc-Oliver Gewaltig,et al.  NEST: An Environment for Neural Systems Simulations , 2003 .

[2]  Andrew S. Cassidy,et al.  Building block of a programmable neuromorphic substrate: A digital neurosynaptic core , 2012, The 2012 International Joint Conference on Neural Networks (IJCNN).

[3]  Mikael Djurfeldt The Connection-set Algebra—A Novel Formalism for the Representation of Connectivity Structure in Neuronal Network Models , 2012, Neuroinformatics.

[4]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[5]  Giuseppe De Giacomo History of Programming Languages , 2006 .

[6]  Bhanu Prasad,et al.  Speech, Audio, Image and Biomedical Signal Processing using Neural Networks , 2008, Studies in Computational Intelligence.

[7]  Andrew S. Cassidy,et al.  Cognitive computing building block: A versatile and efficient digital neuron model for neurosynaptic cores , 2013, The 2013 International Joint Conference on Neural Networks (IJCNN).

[8]  Alfred Strey,et al.  EpsiloNN - A Specification Language for the Efficient Parallel Simulation of Neural Networks , 1997, IWANN.

[9]  Colin Norman 2011 International Science & Engineering Visualization Challenge. , 2012, Science.

[10]  Marco Wiering,et al.  Speech, Audio, Image and Biomedical Signal Processing using Neural Networks , 2008 .

[11]  Markus Werning,et al.  The Oxford Handbook of Compositionality , 2012 .

[12]  Colin Norman,et al.  2012 Visualization Challenge , 2013 .

[13]  Andrew S. Cassidy,et al.  Cognitive computing systems: Algorithms and applications for networks of neurosynaptic cores , 2013, The 2013 International Joint Conference on Neural Networks (IJCNN).

[14]  Jean E. Sammet,et al.  Programming languages: history and future , 1972, CACM.

[15]  M. M. Astrahan Papers presented at the February 26-28, 1957, western joint computer conference: Techniques for reliability , 1957 .

[16]  Yong Liu,et al.  A 45nm CMOS neuromorphic chip with a scalable architecture for learning in networks of spiking neurons , 2011, 2011 IEEE Custom Integrated Circuits Conference (CICC).

[17]  Dharmendra S. Modha,et al.  A digital neurosynaptic core using embedded crossbar memory with 45pJ per spike in 45nm , 2011, 2011 IEEE Custom Integrated Circuits Conference (CICC).

[18]  Donald A. Norman,et al.  Things That Make Us Smart: Defending Human Attributes In The Age Of The Machine , 1993 .

[19]  Michael L. Hines,et al.  NeuroML: A Language for Describing Data Driven Models of Neurons and Networks with a High Degree of Biological Detail , 2010, PLoS Comput. Biol..

[20]  J. W. Backus,et al.  The FORTRAN automatic coding system , 1899, IRE-AIEE-ACM '57 (Western).

[21]  Kunle Olukotun,et al.  OptiML: An Implicitly Parallel Domain-Specific Language for Machine Learning , 2011, ICML.

[22]  D. Modha,et al.  Network architecture of the long-distance pathways in the macaque brain , 2010, Proceedings of the National Academy of Sciences.

[23]  Joan Cabestany,et al.  Biological and Artificial Computation: From Neuroscience to Technology , 1997, Lecture Notes in Computer Science.

[24]  Kunle Olukotun,et al.  Building-Blocks for Performance Oriented DSLs , 2011, DSL.

[25]  M. J. Norton Simulation neural networks using C* , 1988, Proceedings., 2nd Symposium on the Frontiers of Massively Parallel Computation.

[26]  Marco Wiering,et al.  Democratic Liquid State Machines for Music Recognition , 2008, Speech, Audio, Image and Biomedical Signal Processing using Neural Networks.

[27]  Samuel Kounev,et al.  QPME - Queueing Petri Net Modeling Environment , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[28]  Peter J. Ashenden,et al.  The Designer's Guide to VHDL , 1995 .

[29]  W. Daniel Hillis,et al.  The connection machine , 1985 .

[30]  Myron Flickner,et al.  Compass: A scalable simulator for an architecture for cognitive computing , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[31]  Pierre Yger,et al.  PyNN: A Common Interface for Neuronal Network Simulators , 2008, Front. Neuroinform..