Sparse Binary Matrix-Vector Multiplication on Neuromorphic Computers

Neuromorphic computers offer the opportunity for low-power, efficient computation. Though they have been primarily applied to neural network tasks, there is also the opportunity to leverage the inherent characteristics of neuromorphic computers (low power, massive parallelism, collocated processing and memory) to perform non-neural network tasks. Here, we demonstrate how an approach for performing sparse binary matrix-vector multiplication on neuromorphic computers. We describe the approach, which relies on the connection between binary matrix-vector multiplication and breadth first search, and we introduce the algorithm for performing this calculation in a neuromorphic way. We validate the approach in simulation. Finally, we provide a discussion of the runtime of this algorithm and discuss where neuromorphic computers in the future may have a computational advantage when performing this computation.

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

[2]  Kathleen E. Hamilton,et al.  Shortest Path and Neighborhood Subgraph Extraction on a Spiking Memristive Neuromorphic Implementation , 2019, NICE '19.

[3]  Xing Liu,et al.  Efficient sparse matrix-vector multiplication on x86-based many-core processors , 2013, ICS '13.

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

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

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

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

[8]  Richard W. Vuduc,et al.  Model-driven autotuning of sparse matrix-vector multiply on GPUs , 2010, PPoPP '10.

[9]  Kathleen E. Hamilton,et al.  Non-Neural Network Applications for Spiking Neuromorphic Hardware , 2013 .

[10]  James B. Aimone,et al.  Solving a steady-state PDE using spiking networks and neuromorphic hardware , 2020, ICONS.

[11]  Katherine Yelick,et al.  OSKI: A library of automatically tuned sparse matrix kernels , 2005 .

[12]  Franz Franchetti,et al.  Mathematical foundations of the GraphBLAS , 2016, 2016 IEEE High Performance Extreme Computing Conference (HPEC).

[13]  Catherine D. Schuman,et al.  A Survey of Neuromorphic Computing and Neural Networks in Hardware , 2017, ArXiv.

[14]  Kathleen E. Hamilton,et al.  Spike-based graph centrality measures , 2020, ICONS.

[15]  Peter Blouw,et al.  Event-Driven Signal Processing with Neuromorphic Computing Systems , 2020, ICASSP 2020 - 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

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

[17]  Samuel Williams,et al.  Optimization of sparse matrix-vector multiplication on emerging multicore platforms , 2007, Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC '07).

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