Skip to main content

Exploiting the New Power ISA™ Matrix Math Instructions Through Compiler Built-ins

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 2022)

Abstract

Power ISA™ Version 3.1 has introduced a new family of matrix math assist instructions, collectively known as the Matrix-Multiply Assist (MMA) facility. The instructions in this facility implement numerical linear algebra operations on small matrices and are meant to accelerate computation-intensive kernels. We advocate the use of compiler built-ins as the preferred way of leveraging these instructions. MMA built-ins are currently available in the GNU Compiler Collection and the LLVM-based IBM Open XL compilers. The built-ins are compatible across both compiler suites. We show that programming with these built-ins leads to efficient code that fully exploits the new facility.

B. Saleil and B. Schmidt—They were with IBM Systems in Canada and the United States of America, respectively, when this work was performed.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. IEEE Standard for Floating-Point Arithmetic. IEEE Std. 754–2019 (Revision of IEEE 754–2008), pp. 1–84 (2019)

    Google Scholar 

  2. Bhat, P., Moreira, J., Sadasivam, S.K.: Matrix-multiply assist (mma) best practices guide (2021). http://www.redbooks.ibm.com/abstracts/redp5612.html?Open

  3. de Carvalho, J.P.L., Moreira, J.E., Amaral, J.N.: Compiling for the IBM matrix engine for enterprise workloads. IEEE Micro 42(5), 34–40 (2022). https://doi.org/10.1109/MM.2022.3176529

    Article  Google Scholar 

  4. De Carvalho, J.P.L., et al.: KernelFaRer: replacing native-code idioms with high-performance library calls. ACM Trans. Archit. Code Optim. 18(3), 3459010 (2021). https://doi.org/10.1145/3459010

  5. Goto, K., Van de Geijn, R.A.: Anatomy of high-performance matrix multiplication. ACM Trans. Math. Softw. 34(3), 1356053 (2008). https://doi.org/10.1145/1356052.1356053

  6. IBM Corporation: Advance Toolchain for Linux on Power. https://www.ibm.com/support/pages/advance-toolchain-linux-power

  7. Corporation, I.B.M–Power ISA Vers. 3, 1 (2020)

    Google Scholar 

  8. IBM Corporation: IBM Open XL C/C++ for AIX 17.1.1 User’s Guide (2022). https://www.ibm.com/docs/en/SSRZSMX_17.1.1/pdf/user.pdf

  9. IBM Corporation: IBM Open XL Fortran for AIX 17.1.1 Language Reference (2022). https://www.ibm.com/docs/en/SSWEZ2_17.1.1/pdf/langref.pdf

  10. Tagliavini, G., Mach, S., Rossi, D., Marongiu, A., Benin, L.: A transprecision floating-point platform for ultra-low power computing. In: 2018 Design, Automation Test in Europe Conference Exhibition (DATE), pp. 1051–1056 (2018)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José E. Moreira .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Moreira, J.E. et al. (2023). Exploiting the New Power ISA™ Matrix Math Instructions Through Compiler Built-ins. In: Mendis, C., Rauchwerger, L. (eds) Languages and Compilers for Parallel Computing. LCPC 2022. Lecture Notes in Computer Science, vol 13829. Springer, Cham. https://doi.org/10.1007/978-3-031-31445-2_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-31445-2_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-31444-5

  • Online ISBN: 978-3-031-31445-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics