RNS MAC Accelerator Architecture for Low-Power CNN Convolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep convolutional neural networks (DCNNs) face challenges in efficiently processing large datasets due to high computational requirements, particularly in real-time applications like mobile and embedded platforms where storage and power consumption are limited, and existing number systems like binary and floating-point systems suffer from carry propagation issues and complex operations.

Innovation Solution

The implementation of a hardware architecture for convolutional neural networks (CNNs) using Residue Number Systems (RNS) at low precision, with Multiply-And-Accumulate (MAC) units performing convolutions in the residue domain and dedicated converters for binary-to-residue and residue-to-binary conversions, leveraging properties like periodicity and delayed modulo reduction to optimize area and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If binary or floating-point systems are used for DCNN computations, then computational accuracy is maintained, but carry propagation issues and complex operations increase area and power consumption

Engineering Contradiction:
Improvecomputational accuracyVSAvoidarea and power consumption
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent transforms the number system parameters from binary or floating-point to Residue Number System (RNS). This parameter change fundamentally alters how computations are performed: RNS represents numbers as tuples of residues modulo different integers, enabling carry-free addition and multiplication. The MAC units operate directly in the residue domain, performing modulo operations instead of standard arithmetic, which eliminates carry propagation chains and reduces hardware complexity while maintaining computational accuracy for DCNN operations

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent substitutes the traditional binary/floating-point arithmetic mechanism with RNS-based modulo arithmetic mechanism. Instead of using complex binary adders and multipliers that require carry propagation logic, the system uses simpler modulo arithmetic units that operate independently on each residue component. This mechanical substitution replaces complex sequential carry propagation with parallel modulo operations, significantly reducing area and power consumption

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Device complexity

If RNS is used for low-precision convolutions, then area and power consumption are reduced, but overflow and rounding errors are introduced

Engineering Contradiction:
Improvearea and power consumptionVSAvoidoverflow and rounding errors
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements delayed modulo reduction as a form of beforehand cushioning. Instead of performing modulo operations at every intermediate step (which would accumulate rounding errors), the system accumulates computations in the residue domain and applies modulo reduction only at critical points or at the end of computation stages. This approach cushions against error accumulation by maintaining higher precision longer in the residue domain, then periodically reducing modulo to keep values within representable ranges

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent employs feedback mechanisms through the converter units that transform between binary and RNS domains. The binary-to-residue converter prepares input data by computing residues modulo the RNS moduli set, and the residue-to-binary converter reconstructs final results from residue tuples. These feedback conversion mechanisms ensure that data maintains accuracy across domain transformations, and the system can detect and correct overflow conditions by monitoring residue values against modulus boundaries

Inventive Principle:
Principle #23Feedback

3Measurement precision

If DCNN processes large quantities of data adaptively, then learning accuracy is improved, but computational requirements and processing time increase

Engineering Contradiction:
Improvelearning accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the DCNN computation into distinct functional blocks: binary-to-residue converter units, multiple parallel MAC hardware accelerator clusters operating in the residue domain, and residue-to-binary converter units. Each cluster processes different feature maps or filter sets independently. This segmentation enables parallel processing of multiple data streams simultaneously, dramatically improving productivity while maintaining the adaptive learning accuracy of the full DCNN through coordinated operation of all segments

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11442700B2Hardware accelerator method, system and device
Publication Date: 2022.09.13 STMICROELECTRONICS INT NV
  • US11442700B2 patent drawing
  • US11442700B2 patent drawing
  • US11442700B2 patent drawing

AI summary

A system includes an addressable memory array, one or more processing cores, and an accelerator framework coupled to the addressable memory. The accelerator framework includes a Multiply ACcumulate (MAC) hardware accelerator cluster. The MAC hardware accelerator cluster has a binary-to-residual converter, which, in operation, converts binary inputs to a residual number system. Converting a binary input to the residual number system includes a reduction modulo 2m and a reduction modulo 2m−1, where m is a positive integer. A plurality of MAC hardware accelerators perform modulo 2m multiply-and-accumulate operations and modulo 2m−1 multiply-and-accumulate operations using the converted binary input. A residual-to-binary converter generates a binary output based on the output of the MAC hardware accelerators.