Research Output
FixM: Code generation of fixed point mathematical functions
  Approximate computing has seen significant interest as a design philosophy oriented to performance and energy efficiency [1]. Precision tuning is an approximate computing technique that trades off the accuracy of operations for performance and energy by employing less precise data types, such as fixed point instead of floating point. However, the current state-of-the-art does not consider the possibility of optimizing mathematical functions whose computation is usually off-loaded to a library.

In this work we extend a precision-tuning framework to perform tuning of trigonometric functions as well. We developed a new mathematical function library, which is parameterizable at compile-time depending on the data type and works natively in the fixed point numeric representation. Through modification of a compiler pass, the parameterized implementations of these trigonometric functions are inserted into the program seamlessly during the precision tuning process.

Our approach, which we test on two microcontrollers with different architectures, achieves a speedup of up to 180%, and energy savings up to 60%, with a negligible cost in terms of error in the results.

  • Type:

    Article

  • Date:

    05 November 2020

  • Publication Status:

    Published

  • Publisher

    Elsevier BV

  • DOI:

    10.1016/j.suscom.2020.100478

  • Cross Ref:

    10.1016/j.suscom.2020.100478

  • ISSN:

    2210-5379

  • Funders:

    Historic Funder (pre-Worktribe)

Citation

Cattaneo, D., Chiari, M., Magnani, G., Fossati, N., Cherubin, S., & Agosta, G. (2021). FixM: Code generation of fixed point mathematical functions. Sustainable Computing, 29, part B, https://doi.org/10.1016/j.suscom.2020.100478

Authors

Keywords

Fixed point, Math functions, Precision tuning, Approximate computing

Monthly Views:

Available Documents