Fugu

Python library for building platform-agnostic spiking neural networks using composable computational graphs with support for simulators and neuromorphic hardware.

Overview

Fugu is a Python framework for developing spiking circuits as computation graphs, developed by Sandia National Laboratories. Built on leaky-integrate-and-fire neurons and NetworkX graphs, Fugu allows neural circuits to be described using features common across neuromorphic architectures rather than platform-specific implementations.

The framework uses a compositional approach where small computational kernels called Bricks combine into larger computational graphs called Scaffolds. This hierarchical design supports pre and post processing operations and helps identify parameter spaces where neural approaches offer computational advantages for tasks like sorting, optimization, and graph analytics.

Fugu functions as a managed intermediate representation between Python and neuromorphic hardware compilers. Networks compile to multiple backends including a reference simulator for small networks, Intel Loihi for neuromorphic hardware deployment, and an optional STACS backend using Charm++ for large-scale HPC simulations.

The framework targets three user types: developers building applications by combining existing Bricks, extenders creating new spiking algorithms as Bricks, and platform developers implementing new backends. Fugu includes Jupyter notebook examples demonstrating algorithm translations and supports applications in machine learning, graph analytics, and scientific computing.

Fugu

GitHub Stars
Maintainer(s):
Sandia National Laboratories
Language:
Python
License:
BSD-3-Clause
Application:
Machine Learning, Graph Analysis, Scientific Computing
Dependencies:
NumPy, NetworkX, Pandas
Hardware Support

Help Improve this Software Guide

Our software guide is maintained by the community. If you have updates, see an error, or want to suggest a new tool, please let us know by opening an issue on our GitHub repository.