Skip to content

[Software]: SNN-MLIR #454

Description

@alexggenerintera

Software Name

snn-mlir

Short Description

Open-source MLIR dialect for Spiking Neural Networks. Compile NIR models to dependency-free binaries for any CPU or MCU. All contributors welcome.

Source Code URL (GitHub/GitLab)

https://github.com/INTERA-GROUP/snn-mlir

Documentation/Website URL

https://snn-mlir.readthedocs.io/en/latest/

PyPI Package Name (if applicable)

No response

Programming Language

Python, C++

License

Apache License 2.0 WITH LLVM-exception

Key Dependencies

nir

Field of Application

Compilers, Embedded systems,

Capabilities

  • Supports Neuromorphic Hardware
  • Supports NIR (Neuromorphic Intermediate Representation)

Maintainer(s)

Alejandro G. Gener - Intera-group

Detailed Overview

Training an SNN today is well-supported. Deploying it on real hardware is not. snn-mlir bridges that gap: it takes any trained SNN exported to the NIR standard and compiles it into a self-contained, dependency-free binary that runs on any C-capable target.

The compiler is built as an out-of-tree MLIR dialect. A single type-polymorphic IR covers both float and quantized (i8/i32) deployments, and the reference CPU lowering produces plain C with no runtime dependencies. Quantization is automatic and optional and the pipeline handles scale alignment across layers. Any NIR-compatible framework feeds directly into it: snnTorch, LAVA-DL, Norse, Nengo, Sinabs, and more.

It serves two audiences. Neuromorphic researchers who want to move a trained model to hardware without carrying a Python simulation stack. And compiler or hardware engineers building custom accelerators who need a standard IR to target instead of defining their own. The SNN dialect gives them that, and writing a new backend is a matter of one MLIR lowering pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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