Skip to main content

Approximate Computing at the Algorithmic Level

  • Chapter
  • First Online:
Approximate Computing Techniques
  • 757 Accesses

Abstract

The complexity of data-oriented applications continually grows. The concept of approximate computing at the algorithm level aims at reducing the processing complexity to reduce the implementation cost. The implementation cost is reduced by decreasing the number of processing operations and memory exchanges. But, by modifying the original algorithm, the application output is modified and the resulting quality is degraded. Different approximate computing techniques acting at the algorithm level have been proposed to reduce the processing complexity of data-oriented applications. These techniques transform the algorithm to enable effective approximation. In the first part of this chapter, the different approaches proposed for approximate computing techniques acting at the algorithm level are presented. Two directions can be considered to reduce the complexity. The first direction is to skip part of the computation by removing some processing. The second direction is based on approximation to replace a part of the computation by a less complex processing. In the second part of this chapter, the High Efficiency Video Coding (HEVC) video codec is considered as a use-case to illustrate the use of the approximate computing techniques at the algorithmic level presented before.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 129.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Alvarez, C., Corbal, J., & Valero, M. (2005). Fuzzy memoization for floating-point multimedia applications. IEEE Transactions on Computers, 54(7), 922–927.

    Article  Google Scholar 

  2. Amant, R. S., Yazdanbakhsh, A., Park, J., Thwaites, B., Esmaeilzadeh, H., Hassibi, A., Ceze, L., & Burger, D. (2014). General-purpose code acceleration with limited-precision analog computation. In 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA) (pp. 505–516).

    Google Scholar 

  3. Ansel, J., Chan, C., Wong, Y. L. Olszewski, M., Zhao, Q., Edelman, A., & Amarasinghe, S. (2009). Petabricks: A language and compiler for algorithmic choice. ACM Sigplan Notices, 44(6), 38–49.

    Article  Google Scholar 

  4. Ansel, J. J. A. (2014). Autotuning Programs with Algorithmic Choice. PhD thesis, Massachusetts Institute of Technology.

    Google Scholar 

  5. Bajard, J.-C., Kla, S., & Muller, J.-M. (1994). BKM: A new hardware algorithm for complex elementary functions. IEEE Transactions on Computers, 43(8), 955–963.

    Article  MathSciNet  Google Scholar 

  6. BBC HEVC bistreams.

    Google Scholar 

  7. Bienia, C., Kumar, S., Singh, J. P., & Li, K. (2008). The parsec benchmark suite: Characterization and architectural implications. In Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques (pp. 72–81). ACM.

    Google Scholar 

  8. Bonnot, J., Nogues, E., & Menard, D. (2016). New non-uniform segmentation technique for software function evaluation. In 2016 IEEE 27th International Conference on Application-specific Systems, Architectures and Processors (ASAP) (pp. 131–138). IEEE.

    Google Scholar 

  9. Bossen, F. (2012, February). Common Conditions and Software Reference Configurations. Document JCTVC-H1100, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, San Jose, CA.

    Google Scholar 

  10. Chakradhar, S. T., & Raghunathan, A. (2010). Best-effort computing: Re-thinking parallel software and hardware. In Design Automation Conference (pp. 865–870).

    Google Scholar 

  11. Chevillard, S., Joldeş, M., & Lauter, C. (2010). Sollya: An environment for the development of numerical codes. In International congress on mathematical software (pp. 28–31). Springer.

    Google Scholar 

  12. De Dinechin, F., & Tisserand, A. (2005). Multipartite table methods. IEEE Transactions on Computers, 54(3), 319–330.

    Article  Google Scholar 

  13. Eldridge, S., Raudies, F., Zou, D., & Joshi, A. (2014). Neural network-based accelerators for transcendental function approximation. In Proceedings of the 24th Edition of the Great Lakes Symposium on VLSI, GLSVLSI ’14 (pp. 169–174). New York, NY: Association for Computing Machinery.

    Chapter  Google Scholar 

  14. Esmaeilzadeh, H., Sampson, A., Ceze, L., & Burger, D. (2012). Neural acceleration for general-purpose approximate programs. In 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture (pp. 449–460). IEEE.

    Google Scholar 

  15. Fu, C.-M., Alshina, E., Alshin, A., Huang, Y.-W., Chen, C.-Y., Tsai, C.-Y., Hsu, C.-W., Lei, S.-M., Park, J.-H., & Han, W.-J. (2012, December). Sample adaptive offset in the HEVC standard. IEEE Transactions on Circuits and Systems for Video Technology, 22, 1755–1764.

    Article  Google Scholar 

  16. Goiri, I., Bianchini, R., Nagarakatte, S., & Nguyen, T. D. (2015). Approxhadoop: Bringing approximations to MapReduce frameworks. In Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 383–397).

    Google Scholar 

  17. Hamidouche, W., Olivier, C., Pousset, Y., & Perrine, C. (2013, April). Optimal resource allocation for Medium Grain Scalable video transmission over MIMO channels. Journal of Visual Communication and Image Representation, 24, 373–387.

    Article  Google Scholar 

  18. Hore, A., & Ziou, D. (2010). Image quality metrics: PSNR vs. SSIM. In 2010 20th International Conference on Pattern Recognition (ICPR) (pp. 2366–2369). IEEE.

    Google Scholar 

  19. Janot, A., Vandanjon, P., & Gautier, M. (2014). A generic instrumental variable approach for industrial robot identification. IEEE Transactions on Control Systems Technology, 22(1), 132–145.

    Article  Google Scholar 

  20. JCT-VC. (2016). HEVC reference software.

    Google Scholar 

  21. Kemal, U., Alshin, A., Alshina, E., Bossen, F., Han, W., Park, J., & Lainema, J. (2013). Motion compensated prediction and interpolation filter design in H.265/HEVC. In IEEE TCSVT.

    Google Scholar 

  22. Khan, M. U. K., Shafique, M., & Henkel, J. (2013). An adaptive complexity reduction scheme with fast prediction unit decision for HEVC intra encoding. In 2013 20th IEEE International Conference on Image Processing (ICIP) (pp. 1578–1582). IEEE.

    Google Scholar 

  23. Lee, D.-U., Cheung, R. C., Luk, W., & Villasenor, J. D. (2009). Hierarchical segmentation for hardware function evaluation. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 17(1), 103–116.

    Article  Google Scholar 

  24. Li, R.-C., Markstein, P., Okada, J. P., & Thomas, J. W. (2001). The libm library and floating-point arithmetic for HP-UX on itanium. Technical report, Hewlett-Packard Company.

    Google Scholar 

  25. Li, S., Park, S., & Mahlke, S. (2018). Sculptor: Flexible approximation with selective dynamic loop perforation. In Proceedings of the 2018 International Conference on Supercomputing (pp. 341–351). ACM.

    Google Scholar 

  26. Linaro, D., & Storace, M. (2008, May). A method based on a genetic algorithm to find PWL approximations of multivariate nonlinear functions. In 2008 IEEE International Symposium on Circuits and Systems (pp. 336–339).

    Google Scholar 

  27. Ludwig, J. T., Nawab, S. H., & Chandrakasan, A. P. (1996). Low-power digital filtering using approximate processing. IEEE Journal of Solid-State Circuits, 31(3), 395–400.

    Article  Google Scholar 

  28. McAfee, L., & Olukotun, K. (2015). Emeuro: A framework for generating multi-purpose accelerators via deep learning. In 2015 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) (pp. 125–135).

    Google Scholar 

  29. Meher, P. K., Valls, J., Juang, T.-B., Sridharan, K., & Maharatna, K. (2009). 50 years of cordic: Algorithms, architectures, and applications. IEEE Transactions on Circuits and Systems I: Regular Papers, 56(9), 1893–1907.

    Article  MathSciNet  Google Scholar 

  30. Meirhaeghe, A., Boutellier, J., & Collin, J. (2019). The direction cosine matrix algorithm in fixed-point: Implementation and analysis. In ICASSP 2019 - 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 1542–1546).

    Google Scholar 

  31. Mercat, A., Arrestier, F., Hamidouche, W., Pelcat, M., & Menard, D. (2017). Constrain the Docile CTUs: An in-frame complexity allocator for HEVC intra encoders. In 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE.

    Google Scholar 

  32. Mercat, A., Arrestier, F., Hamidouche, W., Pelcat, M., & Menard, D. (2017). Energy reduction opportunities in an HEVC real-time encoder. In 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 1158–1162). IEEE.

    Google Scholar 

  33. Mercat, A., Bonnot, J., Pelcat, M., Desnos, K., Hamidouche, W., & Menard, D. (2017). Smart search space reduction for approximate computing: A low energy hevc encoder case study. Journal of Systems Architecture: Embedded Software Design, 80, 56–67.

    Article  Google Scholar 

  34. Muller, J.-M. (2020). Elementary functions and approximate computing. Proceedings of the IEEE, 108(12), 2136–2149.

    Article  Google Scholar 

  35. Nogues, E., Holmbacka, S., Pelcat, M., Menard, D., & Lilius, J. (2014). Power-aware hevc decoding with tunable image quality. In 2014 IEEE Workshop on Signal Processing Systems (SiPS) (pp. 1–6). IEEE.

    Google Scholar 

  36. Nogues, E., Menard, D., & Pelcat, M. (2019). Algorithmic-level approximate computing applied to energy efficient hevc decoding. IEEE Transactions on Emerging Topics in Computing, 7(1), 5–17.

    Article  Google Scholar 

  37. Nogues, E., Raffin, E., Pelcat, M., & Menard, D. (2015). A modified HEVC decoder for low power decoding. In Proceedings of the 12th ACM International Conference on Computing Frontiers (p. 60). ACM.

    Google Scholar 

  38. Percelay, M., Bonnot, J., Arrestier, F., & Menard, D. (2020). Polynomial approximation with non-uniform segmentation for bivariate functions. In 2020 IEEE Workshop on Signal Processing Systems (SiPS) (pp. 1–6).

    Google Scholar 

  39. Press, W. H., Teukolsky, S. A., Vetterling, W. T., & Flannery, B. P. (1988). Numerical recipes in c (Vol. 1, p. 3). Cambridge University Press.

    Google Scholar 

  40. Rinard, M. (2006). Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. In Proceedings of the 20th Annual International Conference on Supercomputing (pp. 324–334).

    Google Scholar 

  41. Rust, J., & Paul, S. (2016, November). Bivariate function approximation with encoded gradients. In 2016 IEEE Nordic Circuits and Systems Conference (NORCAS) (pp. 1–6).

    Google Scholar 

  42. Rust, J., & Paul, S. (2017). Exploiting special-purpose function approximation for hardware-efficient QR-decomposition. In Design, Automation Test in Europe Conference Exhibition (DATE), 2017 (pp. 1378–1383).

    Google Scholar 

  43. Schulte, M., & Stine, J. (1999). Approximating elementary functions with symmetric bipartite tables. IEEE Transactions on Computers, 48(8), 842–847.

    Article  Google Scholar 

  44. Shafique, M., & Henkel, J. (2014). Low power design of the next-generation high efficiency video coding. In Design Automation Conference (ASP-DAC), 2014 19th Asia and South Pacific (pp. 274–281). IEEE.

    Google Scholar 

  45. Sidiroglou-Douskos, S., Misailovic, S., Hoffmann, H., & Rinard, M. (2011). Managing performance vs. accuracy trade-offs with loop perforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (pp. 124–134). ACM.

    Google Scholar 

  46. Sullivan, G. J., Ohm, J.-R., Han, W.-J., & Wiegand, T. (2012, December). Overview of the high efficiency video coding (HEVC) standard. IEEE Transactions on Circuits and Systems for Video Technology, 22(12), 1649–1668.

    Article  Google Scholar 

  47. Suresh, A., Swamy, B. N., Rohou, E., & Seznec, A. (2015). Intercepting functions for memoization: A case study using transcendental functions. ACM Transactions on Architecture and Code Optimization (TACO), 12(2), 18.

    Google Scholar 

  48. Sze, V., Budagavi, M., & Sullivan, G. J. (Eds.) (2014). High efficiency video coding (HEVC). Integrated Circuits and Systems. Cham: Springer International Publishing.

    Google Scholar 

  49. The Open HEVC - open source project. https://github.com/OpenHEVC/openHEVC

  50. Tseng, C.-C., & Lee, S.-L. (2008). Design of fractional delay fir filter using discrete cosine transform. In IEEE Asia Pacific Conference on Circuits and Systems, 2008. APCCAS 2008 (pp. 858–861). IEEE.

    Google Scholar 

  51. Vassiliadis, V., Parasyris, K., Chalios, C., Antonopoulos, C. D., Lalis, S., Bellas, N., Vandierendonck, H., & Nikolopoulos, D. S. (2015). A programming model and runtime system for significance-aware energy-efficient computing. ACM SIGPLAN Notices, 50(8), 275–276.

    Article  Google Scholar 

  52. Wiegand, T., Sullivan, G. J., Bjontegaard, G., & Luthra, A. (2003, July). Overview of the H. 264/AVC video coding standard. IEEE Transactions on Circuits and Systems for Video Technology, 13(7), 560–576.

    Article  Google Scholar 

  53. Yinji, P., Junghye, M., & Jiangle, C. (2010). Encoder improvement of unified intra prediction. In JCTVC-C207 (Vol. 7674, pp. 568–577).

    Google Scholar 

  54. Zhang, Q., Yuan, F., Ye, R., & Xu, Q. (2014). Approxit: An approximate computing framework for iterative methods. In Proceedings of the 51st Annual Design Automation Conference (pp. 1–6). ACM.

    Google Scholar 

  55. Zhao, L., Zhang, L., Ma, S., & Zhao, D. (2011). Fast mode decision algorithm for intra prediction in HEVC. In Visual Communications and Image Processing (VCIP), 2011 IEEE (pp. 1–4). IEEE.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Ménard .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Bonnot, J., Mercat, A., Nogues, E., Ménard, D. (2022). Approximate Computing at the Algorithmic Level. In: Bosio, A., Ménard, D., Sentieys, O. (eds) Approximate Computing Techniques. Springer, Cham. https://doi.org/10.1007/978-3-030-94705-7_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-94705-7_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-94704-0

  • Online ISBN: 978-3-030-94705-7

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics