Skip to main content
Log in

A Quantitative Evaluation of Vector Transcendental Functions on ARMv8-Based Processors

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

Transcendental functions are important functions in various high performance computing applications. Because these functions are time-consuming and the vector units on modern processors become wider and more scalable, there is an increasing demand for developing and using vector transcendental functions in such performance-hungry applications. However, the performance of vector transcendental functions as well as their accuracy remain largely unexplored. To address this issue, we perform a comprehensive evaluation of two Single Instruction Multiple Data (SIMD) intrinsics based vector math libraries on two ARMv8 compatible processors. We first design dedicated microbenchmarks that help us understand the performance behavior of vector transcendental functions. Then, we propose a piecewise, quantitative evaluation method with a set of meaningful metrics to quantify their performance and accuracy. By analyzing the experimental results, we find that vector transcendental functions achieve good performance speedups thanks to the vectorization and algorithm optimization. Moreover, vector math libraries can replace scalar math libraries in many cases because of improved performance and satisfactory accuracy. Despite this, the implementations of vector math libraries are still immature, which means further optimization is needed, and our evaluation reveals feasible optimization solutions for future vector math libraries.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

References

  1. Press W H, Teukolsky S A, Vetterling W T, Flannery B P. Numerical Recipes: The Art of Scientific Computing (3rd edition). Cambridge University Press, 2007.

  2. Zhao F, Chen X, Zhu L. Process analysis on multiple solutions of semialgebraic systems. Computer Aided Chemical Engineering, 2017, 40: 2059–2064. https://doi.org/10.1016/B978-0-444-63965-3.50345-7.

    Article  Google Scholar 

  3. Rasmussen C E, Williams C K I. Gaussian Processes for Machine Learning. MIT Press, 2006. https://doi.org/10.7551/mitpress/3206.001.0001.

  4. Gentle J E. Random Number Generation and Monte Carlo Methods. Springer, 2003. https://doi.org/10.1007/b97336.

  5. Tang P T P. Table-driven implementation of the exponential function in IEEE floating-point arithmetic. ACM Trans. Mathematical Software, 1989, 15(2): 144–157. https://doi.org/10.1145/63522.214389.

    Article  MATH  Google Scholar 

  6. Cornea M, Harrison J, Tang P T P. Scientific Computing on Itanium-Based Systems. Intel Press, 2002.

  7. de Dinechin F, Lauter C, Muller J M. Fast and correctly rounded logarithms in double-precision. RAIRO-Theoretical Informatics and Applications, 2007, 41(1): 85–102. https://doi.org/10.1051/ita:2007003.

    Article  MathSciNet  MATH  Google Scholar 

  8. Brunie N, de Dinechin F, Kupriianova O, Lauter C. Code generators for mathematical functions. In Proc. the 22nd IEEE Symposium on Computer Arithmetic, Jun. 2015, pp.66–73. https://doi.org/10.1109/ARITH.2015.22.

  9. Shibata N, Petrogalli F. SLEEF: A portable vectorized library of C standard mathematical functions. IEEE Trans. Parallel and Distributed Systems, 2020, 31(6): 1316–1327. https://doi.org/10.1109/TPDS.2019.2960333.

    Article  Google Scholar 

  10. Dongarra J. Report on the Fujitsu Fugaku system. Technical Report, No. ICL-UT-20-06, University of Tennessee, 2020. https://www.icl.utk.edu/files/publications/2020/icl-utk-1379-2020.pdf, Jun. 2021.

  11. Muller J M, Brisebarre N, de Dinechin F, Jeannerod C P, Lefèvre V, Melquiond G, Revol N, Stehlé D, Torres S. Handbook of Floating-Point Arithmetic. Birkhäuser Boston, 2010. https://doi.org/10.1007/978-0-8176-4705-6.

  12. Muller J M. Elementary Functions: Algorithms and Implementation (2nd edition). Birkhäuser Boston, 2006. https://doi.org/10.1007/b137928.

  13. Gal S. An accurate elementary mathematical library for the IEEE floating point standard. ACM Trans. Mathematical Software, 1991, 17(1): 26–45. https://doi.org/10.1145/103147.103151.

    Article  MathSciNet  MATH  Google Scholar 

  14. Wong W F, Goto E. Fast evaluation of the elementary functions in single precision. IEEE Trans. Computers, 1995, 44(3): 453–457. https://doi.org/10.1109/12.372037.

    Article  MATH  Google Scholar 

  15. Tang P T P. Table-lookup algorithms for elementary functions and their error analysis. In Proc. the 10th IEEE Symposium on Computer Arithmetic, Jun. 1991, pp.232–236. https://doi.org/10.1109/ARITH.1991.145565.

  16. Dukhan M, Vuduc R. Methods for high-throughput computation of elementary functions. In Proc. the 10th International Conference on Parallel Processing and Applied Mathematics, Sept. 2013, pp.86–95. https://doi.org/10.1007/978-3-642-55224-3_9.

  17. Stephens N, Biles S, Boettcher M, Eapen J, Eyole M, Gabrielli G, Horsnell M, Magklis G, Martinez A, Premillieu N, Reid A, Rico A, Walker P. The ARM scalable vector extension. IEEE Micro, 2017, 37(2): 26–39. https://doi.org/10.1109/MM.2017.35.

    Article  Google Scholar 

  18. Lauter C. A new open-source SIMD vector libm fully implemented with high-level scalar C. In Proc. the 50th Asilomar Conference on Signals, Systems and Computers, Nov. 2016, pp.407–411. https://doi.org/10.1109/ACSSC.2016.7869070.

  19. Piparo D, Innocente V, Hauth T. Speeding up HEP experiment software with a library of fast and auto-vectorisable mathematical functions. Journal of Physics: Conference Series, 2014, 513(5): 052027. https://doi.org/10.1088/1742-6596/513/5/052027.

  20. Xie Q C, Zhang Y Q, Wang K, Li Y, Xu Y W. Research of the SIMD and vector math library. Computer Science, 2011, 38(7): 298–301. https://doi.org/10.3969/j.issn.1002-137X.2011.07.068. (in Chinese)

  21. Fousse L, Hanrot G, Lefèvre V, Pélissier P, Zimmermann P. MPFR: A multiple-precision binary floating-point library with correct rounding. ACM Trans. Mathematical Software, 2007, 33(2): 13–es. https://doi.org/10.1145/1236463.1236468.

  22. Staelin C. lmbench: An extensible micro-benchmark suite. Software: Practice and Experience, 2005, 35(11): 1079–1105. https://doi.org/10.1002/spe.665.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chun Huang.

Supplementary Information

ESM 1

(PDF 132 kb)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Shen, J., Long, B. & Huang, C. A Quantitative Evaluation of Vector Transcendental Functions on ARMv8-Based Processors. J. Comput. Sci. Technol. 38, 686–701 (2023). https://doi.org/10.1007/s11390-021-1203-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-021-1203-5

Keywords

Navigation