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.
