Neuromorphic Graph Algorithms: Cycle Detection, Odd Cycle Detection, and Max Flow

Neuromorphic computing is poised to become a promising computing paradigm in the post Moore’s law era due to its extremely low power usage and inherent parallelism. Spiking neural networks are the traditional use case for neuromorphic systems, and have proven to be highly effective at machine learning tasks such as control problems. More recently, neuromorphic systems have been applied outside of the arena of machine learning, primarily in the field of graph algorithms. Neuromorphic systems have been shown to perform graph algorithms faster and with lower power consumption than their traditional (GPU/CPU) counterparts, and are hence an attractive option for a co-processing unit in future high performance computing systems, where graph algorithms play a critical role. In this paper, we present a neuromorphic implementation of cycle detection, odd cycle detection, and the Ford-Fulkerson max-flow algorithm. We further evaluate the performance of these implementations using the NEST neuromorphic simulator by using spike counts and simulation time as proxies for energy consumption and run time. In addition to gains inherent in neuromorphic systems, we show that within the neuromorphic implementations early stopping criteria can be implemented to further improve performance.

[1]  Kathleen E. Hamilton,et al.  Spike-based primitives for graph algorithms , 2019, ArXiv.

[2]  Catherine D. Schuman,et al.  Evolutionary Optimization for Neuromorphic Systems , 2020, NICE.

[3]  Steve B. Furber,et al.  The SpiNNaker Project , 2014, Proceedings of the IEEE.

[4]  James A. Hendler,et al.  Efficient Classification of Supercomputer Failures Using Neuromorphic Computing , 2018, 2018 IEEE Symposium Series on Computational Intelligence (SSCI).

[5]  Andrew S. Cassidy,et al.  A million spiking-neuron integrated circuit with a scalable communication network and interface , 2014, Science.

[6]  Hong Wang,et al.  Loihi: A Neuromorphic Manycore Processor with On-Chip Learning , 2018, IEEE Micro.

[7]  Aric Hagberg,et al.  Exploring Network Structure, Dynamics, and Function using NetworkX , 2008, Proceedings of the Python in Science Conference.

[8]  Marc-Oliver Gewaltig,et al.  NEST (NEural Simulation Tool) , 2007, Scholarpedia.

[9]  Catherine D. Schuman,et al.  Neuromorphic Graph Algorithms: Extracting Longest Shortest Paths and Minimum Spanning Trees , 2020, NICE.

[10]  Johannes Schemmel,et al.  A wafer-scale neuromorphic hardware system for large-scale neural modeling , 2010, Proceedings of 2010 IEEE International Symposium on Circuits and Systems.

[11]  Marc-Oliver Gewaltig,et al.  NEST (NEural Simulation Tool) , 2007, Scholarpedia.

[12]  Steve B. Furber,et al.  Performance Comparison of the Digital Neuromorphic Hardware SpiNNaker and the Neural Network Simulation Software NEST for a Full-Scale Cortical Microcircuit Model , 2018, Front. Neurosci..

[13]  Ojas Parekh,et al.  Provable Neuromorphic Advantages for Computing Shortest Paths , 2020, SPAA.

[14]  Prasanna Date,et al.  Modeling epidemic spread with spike-based models , 2020, ICONS.