Right In-Place (RiP) Convolution: A Simple, General, and Near-Optimal Strategy for Memory-Efficient CNN Inference
Not on the map. Why?
Abstract (arXiv)
Activation memory, not compute, limits CNN inference on constrained hardware such as microcontrollers. Direct in-place convolution removes the dual-buffer cost, but the memory-optimal formulation of Gural and Murmann assumes valid padding, unit stride, unit dilation, and odd square kernels, and needs a non-sequential traversal costing 2× inference time in transposes. We identify two regimes in which their published closed form does not hold: (1) an under-allocation of exactly (k-1)Cin bmod (Cout-Cin) scalars, active on every convolutional layer of their own deployed network and manifesting as a silent corruption of still-live input; (2) an unbounded overestimate, up to 2,432×, once the critical leg leaves the output grid. We correct both and generalize to arbitrary stride, dilation, padding, and rectangular kernels. We then propose Right In-Place (RiP) convolution, a bit-identical operation in which every layer reads its input right-aligned in a shared workspace and writes its output left-aligned from index zero. The debt is piecewise affine in the output pixel index, so evaluating its breakpoints in O(1) yields the minimum safe gap without enumerating the output grid, with row-major access preserved. Across 10,000 random layers RiP produced no corruption, and across 84 convolutional layers from 25 architectures it matches the herringbone workspace exactly on 58 and within 5% on 81, using 24.8% less memory than dual buffering on average. Written into TinyEngine's kernels and deployed to a Raspberry Pi Pico 1 and Pico 2, it cuts peak activation memory across eleven MCUNet models by 12.5 to 33.3% at unchanged cycle counts and bit-identical outputs, raising the number of models that fit the Pico 1's 256 KB SRAM from six to nine.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 22 of its 29 references that are in the map. First posted on arXiv 30 Sep 2026.
Builds on
22 of 29 references.
References · 22
- 2015Deep Residual Learning for Image Recognitioncited by 52,096
- 2019EfficientNet: Rethinking Model Scaling for Convolutional Neural Networkscited by 6,442
- 2015Rethinking the Inception Architecture for Computer Visioncited by 5,475
- 2017MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applicationscited by 3,845
- 2018Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentationcited by 3,223
- 2015Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Codingcited by 2,329
- 2015Learning both Weights and Connections for Efficient Neural Networkscited by 2,031
- 2019Once-for-All: Train One Network and Specialize it for Efficient Deploymentcited by 787
- 2017Channel Pruning for Accelerating Very Deep Neural Networkscited by 702
- 2018ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardwarecited by 673
- 2020Up or Down? Adaptive Rounding for Post-Training Quantizationcited by 621
- 2017ThiNet: A Filter Level Pruning Method for Deep Neural Network Compressioncited by 442
10 more
- 2020Improving Post Training Neural Quantization: Layer-wise Calibration and Integer Programmingcited by 92
- 2021MCUNetV2: Memory-Efficient Patch-based Inference for Tiny Deep Learningcited by 89
- 2024Tiny Machine Learning: Progress and Futurescited by 40
- 2018High Performance Zero-Memory Overhead Direct Convolutionscited by 14
- 2023RAMAN: A Re-configurable and Sparse tinyML Accelerator for Inference on Edgecited by 11
- 2023TinyAD: Memory-efficient anomaly detection for time series data in Industrial IoTcited by 5
- 2022AoCStream: All-on-Chip CNN Accelerator With Stream-Based Line-Buffer Architecturecited by 2
- 2023Fused Depthwise Tiling for Memory Optimization in TinyML Deep Neural Network Inferencecited by 2
- 2023Memory-aware Scheduling for Complex Wired Networks with Iterative Graph Optimizationcited by 2
- 2026Deep Microcompression: Structured Pruning and Bit-packed Quantization for Microcontrollerscited by 1
Built on by
Not cited yet.