Prerequisites
I added support for Spiking Neural Networks (SNNs) in a fork of hls4ml and wondering if you'd like to merge these features upstream. SNNs are less common in LHC physics, but they are useful for real-time time-series processing. To my knowledge, there is currently no framework with the same hls4ml-style workflow focused on SNN-to-HLS conversion.
hls4snn fork: https://github.com/bmdillon/hls4snn
Details
New behavior
Added SNN support in hls4ml:
- Convert common SNN layers (IF/LIF neurons from snntorch) from supported frontends.
- Represent temporal neuron state and timestep-based inference in the hls4ml graph.
- Generate synthesizable HLS for SNN inference.
Motivation
This enables hls4ml to target temporal ML workloads with SNNs and opens it up to neuromorphic research.
Parts of hls4ml being affected
The additional SNN components are implemented using the same patterns as other neural network layers.
- Frontend conversion logic for SNN layers.
- Internal layer/model graph (spike dynamics and temporal state).
- Timestep/stateful execution.
- Backend templates for spiking layers.
- Tests, examples, and documentation.
Prerequisites
I added support for Spiking Neural Networks (SNNs) in a fork of hls4ml and wondering if you'd like to merge these features upstream. SNNs are less common in LHC physics, but they are useful for real-time time-series processing. To my knowledge, there is currently no framework with the same hls4ml-style workflow focused on SNN-to-HLS conversion.
hls4snn fork: https://github.com/bmdillon/hls4snn
Details
New behavior
Added SNN support in hls4ml:
Motivation
This enables hls4ml to target temporal ML workloads with SNNs and opens it up to neuromorphic research.
Parts of hls4ml being affected
The additional SNN components are implemented using the same patterns as other neural network layers.