Skip to content

Spiking Neural Network (SNN) support in hls4ml #1469

Description

@bmdillon

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions