🤖 AI Summary
Noncommutative approximate circuits suffer from significant error accumulation due to the failure of arithmetic commutativity, where output reliability degrades markedly with operand ordering. To mitigate error propagation, this work proposes a dynamic operand-swapping mechanism that optimizes computation order online. Our key contributions are: (1) the first single-bit-granularity dynamic operand-swapping strategy; (2) a multi-granularity, scalable bit-selection framework that systematically introduces operand sequencing into approximate circuit error optimization; and (3) a lightweight hardware control logic guided by error sensitivity, integrated with a component-application co-evaluation methodology. Experimental results demonstrate a 50% reduction in average absolute error at the component level and over 90% end-to-end accuracy improvement on the AxBench benchmark suite.
📝 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.