Table of Contents
Fetching ...

SWAPPER: Dynamic Operand Swapping in Non-commutative Approximate Circuits for Online Error Reduction

Marcello Traiola, Nazar Misyats, Silviu-Ioan Filip, Remi Garcia, Angeliki Kritikakou

TL;DR

This paper addresses error accumulation in non-commutative approximate circuits caused by operand order. It introduces SWAPPER, a lightweight approach that uses a single bit to dynamically swap operands and reduce error, guided by a tuning framework with component- and application-level exploration. The evaluation on EvoApproxLib multipliers and AxBench benchmarks reports substantial accuracy improvements, including up to $50 ext{ extpercent}$ reduction in $MAE$ at the component level and over $90 ext{ extpercent}$ at the application level. The results show that the method is especially effective for non-commutative operators and can be implemented in software or hardware with modest overhead. Future work includes finer-grained decisions and heterogeneous combos of approximate multipliers.

Abstract

Error-tolerant applications, such as multimedia processing, machine learning, signal processing, and scientific computing, can produce satisfactory outputs even when approximate computations are performed. Approximate computing (AxC) is nowadays a well-established design and computing paradigm that produces more efficient computation systems by judiciously reducing their computation quality. AxC has been applied to arithmetic circuits, modifying their logic behavior. Depending on the approximation process, arithmetic properties, such as commutativity, are not consistently maintained. When such properties are absent, error accumulation and application outputs depend on the order in which data is processed. In this work, we show that controlling the operand order in non-commutative approximate circuits can greatly reduce computational errors. We propose SWAPPER, a lightweight approach that drastically reduces the approximation error by dynamically changing the order of the input operands using only a single bit for the decision. To explore and identify the most suitable bit for the swapping choice, we propose a framework that can be applied at different granularities, leading to large error reductions and significant accuracy improvements. Experimental results at both component and application levels show error reductions of up to 50% for Mean Absolute Error at the component level and more than 90% at the application level on the AxBench application suite.

SWAPPER: Dynamic Operand Swapping in Non-commutative Approximate Circuits for Online Error Reduction

TL;DR

This paper addresses error accumulation in non-commutative approximate circuits caused by operand order. It introduces SWAPPER, a lightweight approach that uses a single bit to dynamically swap operands and reduce error, guided by a tuning framework with component- and application-level exploration. The evaluation on EvoApproxLib multipliers and AxBench benchmarks reports substantial accuracy improvements, including up to reduction in at the component level and over at the application level. The results show that the method is especially effective for non-commutative operators and can be implemented in software or hardware with modest overhead. Future work includes finer-grained decisions and heterogeneous combos of approximate multipliers.

Abstract

Error-tolerant applications, such as multimedia processing, machine learning, signal processing, and scientific computing, can produce satisfactory outputs even when approximate computations are performed. Approximate computing (AxC) is nowadays a well-established design and computing paradigm that produces more efficient computation systems by judiciously reducing their computation quality. AxC has been applied to arithmetic circuits, modifying their logic behavior. Depending on the approximation process, arithmetic properties, such as commutativity, are not consistently maintained. When such properties are absent, error accumulation and application outputs depend on the order in which data is processed. In this work, we show that controlling the operand order in non-commutative approximate circuits can greatly reduce computational errors. We propose SWAPPER, a lightweight approach that drastically reduces the approximation error by dynamically changing the order of the input operands using only a single bit for the decision. To explore and identify the most suitable bit for the swapping choice, we propose a framework that can be applied at different granularities, leading to large error reductions and significant accuracy improvements. Experimental results at both component and application levels show error reductions of up to 50% for Mean Absolute Error at the component level and more than 90% at the application level on the AxBench application suite.

Paper Structure

This paper contains 11 sections, 7 equations, 4 figures, 4 tables.

Figures (4)

  • Figure 1: Error profile of two $8$-bit unsigned multipliers from EvoapproxLib evoapprox: (a) mul8u_17MJ (commutative, $A\cdot B=B \cdot A$) and mul8u_17MN (non-commutative, $A\cdot B\neq B\cdot A$) (b) without swap and (d) with SWAPPER. (c) shows the theoretical scenario.
  • Figure 2: Jpeg and Kmeans output comparison: (\ref{['fig:JPEGgold']}),(\ref{['fig:kmeansgold']}) Original version; (\ref{['fig:JPEGNoswap']}), (\ref{['fig:kmeansNoswap']}) Approximate NoSwap version; Approximate SWAPPER version with decision at (\ref{['fig:JPEGuniform']}),(\ref{['fig:kmeansuniform']}) component level and (\ref{['fig:JPEGapptuned']}),(\ref{['fig:kmeansapptuned']}) application level.
  • Figure 3: Power, Aread and Delay violin plots for 8-, 12- and 16-bit signed and unsigned NC, C and SWAPPER multipliers
  • Figure 4: Trade-off between Power per multiplication and SSIM for the Kmeans benchmark (16-bit signed approximate multipliers).