Multiplier-free In-Memory Vector-Matrix Multiplication Using Distributed Arithmetic

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Zeller, Felix, Reuben, John, Fey, Dietmar
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912623346319360
author Zeller, Felix
Reuben, John
Fey, Dietmar
author_facet Zeller, Felix
Reuben, John
Fey, Dietmar
contents Vector-Matrix Multiplication (VMM) is the fundamental and frequently required computation in inference of Neural Networks (NN). Due to the large data movement required during inference, VMM can benefit greatly from in-memory computing. However, ADC/DACs required for in-memory VMM consume significant power and area. `Distributed Arithmetic (DA)', a technique in computer architecture prevalent in 1980s was used to achieve inner product or dot product of two vectors without using a hard-wired multiplier when one of the vectors is a constant. In this work, we extend the DA technique to multiply an input vector with a constant matrix. By storing the sum of the weights in memory, DA achieves VMM using shift-and-add circuits in the periphery of ReRAM memory. We verify functional and also estimate non-functional properties (latency, energy, area) by performing transistor-level simulations. Using energy-efficient sensing and fine grained pipelining, our approach achieves 4.5 x less latency and 12 x less energy than VMM performed in memory conventionally by bit slicing. Furthermore, DA completely eliminated the need for power-hungry ADCs which are the main source of area and energy consumption in the current VMM implementations in memory.
format Preprint
id arxiv_https___arxiv_org_abs_2510_02099
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Multiplier-free In-Memory Vector-Matrix Multiplication Using Distributed Arithmetic
Zeller, Felix
Reuben, John
Fey, Dietmar
Hardware Architecture
Neural and Evolutionary Computing
B.3; B.7; I.4
Vector-Matrix Multiplication (VMM) is the fundamental and frequently required computation in inference of Neural Networks (NN). Due to the large data movement required during inference, VMM can benefit greatly from in-memory computing. However, ADC/DACs required for in-memory VMM consume significant power and area. `Distributed Arithmetic (DA)', a technique in computer architecture prevalent in 1980s was used to achieve inner product or dot product of two vectors without using a hard-wired multiplier when one of the vectors is a constant. In this work, we extend the DA technique to multiply an input vector with a constant matrix. By storing the sum of the weights in memory, DA achieves VMM using shift-and-add circuits in the periphery of ReRAM memory. We verify functional and also estimate non-functional properties (latency, energy, area) by performing transistor-level simulations. Using energy-efficient sensing and fine grained pipelining, our approach achieves 4.5 x less latency and 12 x less energy than VMM performed in memory conventionally by bit slicing. Furthermore, DA completely eliminated the need for power-hungry ADCs which are the main source of area and energy consumption in the current VMM implementations in memory.
title Multiplier-free In-Memory Vector-Matrix Multiplication Using Distributed Arithmetic
topic Hardware Architecture
Neural and Evolutionary Computing
B.3; B.7; I.4
url https://arxiv.org/abs/2510.02099