A Multi-Threading Kernel for Enabling Neuromorphic Edge Applications
This work addresses the need for low SWaP edge applications by improving processing efficiency for neuromorphic systems, though it is incremental as it builds on existing multi-threading and SNN concepts.
The authors tackled the problem of enabling neuromorphic edge applications by introducing a multi-threading kernel, achieving speed-up gains of up to 4x on moderately sized SNNs and 1.7x on a Synfire network, along with 70% higher energy efficiency compared to static core assignment.
Spiking Neural Networks (SNNs) have sparse, event driven processing that can leverage neuromorphic applications. In this work, we introduce a multi-threading kernel that enables neuromorphic applications running at the edge, meaning they process sensory input directly and without any up-link to or dependency on a cloud service. The kernel shows speed-up gains over single thread processing by a factor of four on moderately sized SNNs and 1.7X on a Synfire network. Furthermore, it load-balances all cores available on multi-core processors, such as ARM, which run today's mobile devices and is up to 70% more energy efficient compared to statical core assignment. The present work can enable the development of edge applications that have low Size, Weight, and Power (SWaP), and can prototype the integration of neuromorphic chips.