Development log

2026-07-30
Pre-training bottleneck: Android scheduler vs. sustained clock

Long-running SNN computations are slowed by Android scheduler down-clocking even without thermal throttling. Moving pre-training to GCP C4A Axion instances for consistent 3.0 GHz ARM execution. Same ISA, predictable clock.

2026-07-15
Single-thread optimization pass

Rewrote spike propagation loop to reduce branches and improve pipeline utilization on Cortex-A77. Training cycle reduced from ~15 minutes to ~7 minutes on Snapdragon 870. Further gains are frequency-bound — not much left to extract from the code.

2026-06-20
Verified: GPU offers no speedup for this workload

Tested SNN training on GPU via PyTorch. Sparse spike patterns resulted in ~2% GPU utilization. CPU outperformed by 3x due to the sequential nature of the membrane potential update chain.

2026-05-28
Switched to ARM-native toolchain

Moved from x86 development machine to Snapdragon 870 for direct-on-target testing. Cross-compilation eliminated — builds and trains on the same hardware that will run in production.

2026-05-10
Initial SNN implementation

First working version of the event-driven SNN runtime. Leaky integrate-and-fire neuron model with STDP-based weight updates. Basic MNIST classification working as validation.