Convolutional neural networks (CNN) have become a ubiquitous algorithm with growing applications in mobile and edge settings. We describe a compute-in-memory (CIM) technique called FPIRM using Racetrack Memory (RM) to accelerate CNNs for edge systems. Using transverse read, a technique that can determine the number of '1's multiple adjacent domains, FPIRM can efficiently implement multi-operand bulk-bitwise and addition computations, and two-operand multiplication. We discuss how FPIRM can implement both variable precision integer and floating point arithmetic. This allows both CNN inference and on-device training without expensive data movement to the cloud. Based on these functions we demonstrate implementation of several CNNs with back propagation using RM CIM and compare these to state-of-the-art implementations of CIM inference and training in Field-Programmable Gate Arrays. During training FPIRM improves by 2× the efficiency, by reducing the energy consumption by at least 27% and increasing the throughput by at least 18% against FPGA.
@article{arxiv.2204.13788,
title = {FPIRM: Floating-point Processing in Racetrack Memories},
author = {Sébastien Ollivier and Xinyi Zhang and Yue Tang and Chayanika Choudhuri and Jingtong Hu and Alex K. Jones},
journal= {arXiv preprint arXiv:2204.13788},
year = {2022}
}
Comments
This paper is accepted to the IEEE Micro Magazine with the title "POD-RACING: Bulk-Bitwise to Floating-point Compute In Racetrack Memory for Machine Learning at the Edge"