Packages

quantcard

pip install quantcard

Quantization report cards for PyTorch models headed to the edge.

One command benchmarks a model across torchao quantization configs (int8/int4 weight-only, dynamic-activation combos, the ExecuTorch 8da4w recipe, QAT prepare) and reports accuracy delta, weight size, and latency as a single table.

PyTorch torchao ExecuTorch Quantization

evlab

pip install evlab

Inspect, clean, convert, and benchmark event-camera data from the command line.

Normalizes the event-vision preprocessing mess: loads AEDAT4, Prophesee .dat, ROS bags, NPZ/CSV into one canonical form; BAF/refractory denoising; voxel grids, time surfaces, frames; synthetic labeled streams with precision/recall scoring of denoising filters.

Python Event Cameras Neuromorphic NumPy

Contributions

Binaryen (WebAssembly optimizer)

Three merged PRs in the MemoryPacking pass and interpreter, plus a six-year-old issue closed with a measurement study.

  • Taught MemoryPacking to optimize overlapping (trampled) data segments instead of giving up, then extended it to imported memories with a provable no-trap bounds analysis.
  • Found and fixed a pre-existing memory64 miscompile (32-bit truncation silently deleted instantiation traps) and a fuzzer-reported interpreter bug where a maximal memory64's byte size wrapped to zero.
  • Resolved issue #3029 by measuring six real binaries across three toolchains and showing the proposed optimization had no remaining value; the maintainer closed it citing the data.

SpikingJelly (spiking neural network framework)

Three merged PRs fixing autograd-graph memory leaks in the STDP learning rules.

  • STDP/MSTDP learners retained the network's autograd graph across batches (issue #576): ~70 MB and hundreds of tensors leaked per run in hyperparameter searches. Detaching at record time made memory flat, with regression tests proving the update numerics are unchanged.
  • Closed the remaining leak path where a graph-connected reward tensor re-entered the weight update in reward-modulated STDP.

snnTorch (spiking neural network framework)

Two merged PRs fixing numerical correctness in the neuron modules and surrogate gradients.

  • All surrogate gradients hard-cast spikes to float32, so float64 networks crashed on the second step of any recurrent neuron (issues #421, #422). Emitting spikes in the input dtype and fixing float32 hidden-state re-initialization in SLSTM/SConv2dLSTM made the full neuron zoo dtype-faithful, backed by 38 new tests parametrized over dtype × module and dtype × surrogate.
  • The sigmoid surrogate's backward pass computed exp(-slope·x)/(exp(-slope·x)+1)², which overflows to inf/inf = NaN once the membrane potential sits ~3.5 below threshold at the default slope — silently poisoning the whole backward pass (issue #427). Rewrote it in the numerically stable sigmoid form.

In review

Open PRs across the edge-AI compiler and runtime stack.

  • PyTorch ExecuTorch: insert buffer write-back copies at the earliest safe point in the exir memory-planning pipeline, with alias-aware placement (#20744).
  • Norse: fix ONNX export of neuron models with integer parameter tensors, which aborted the torch 2.13 dynamo exporter — applied uniformly across the neuron zoo with parametrized export tests (#448).