Skip to main content
  • 997 Accesses

Abstract

This chapter explains the basics of speedup programs with simple examples for numerical computing. Parallel processing as well as the trends in computer hardware are explained in detail to understand how high-performance computing works. Several key technologies for code tuning, such as pipelining, cache optimizations, and numerical libraries, are also explained using sample programs from basic numerical computations.

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 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.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

Notes

  1. 1.

    However, the size of problem n is large and data is on out of cache. Hence, the performance will go down even in the middle product form. To avoid this situation, cache blocking, which will be explained later, should be implemented.

  2. 2.

    Several computer architectures provide a software control mechanism for the movement of data for cache.

  3. 3.

    Another merit of loop unrolling is to reduce the time of branch control in loops.

  4. 4.

    However, the efficiency of loop unrolling depends on code optimizations by the compiler. To do an effective implementation of loop unrolling, programmers need to know in advance the details of the code optimization by the compiler.

  5. 5.

    In some numerical libraries, the best blocking size to do matrix–matrix multiplications is fixed by library developers in advance before the release time. Hence, library users do not tune the blocking size. In addition, some numerical libraries perform test execution to tune the blocking size automatically with respect to the amount of cache and considering computations of target loops in install time. These automations are called “Software Auto-tuning.” [3,4,5,6,7] Study on software auto-tuning is one of hot topics in high-performance computing. In Chap. 5, we will explain the details of the research on software auto-tuning.

References

  1. X.S. Li, J.W. Demmel, D.H. Bailey, G. Henry, Y. Hida, J. Iskandar, W. Kahn, S.Y. Kang, A. Kapur, M.C. Martin, B.J. Thompson, T. Tung, D.J. Yoo. ACM Trans. Math. Softw. 28, 152 (2002)

    Article  MathSciNet  Google Scholar 

  2. A. Buttari, J. Dongarra, J. Kuzak, P. Luszczek, S. Tomov. ACM Trans. Math. Softw. 34 (2008)

    Article  MathSciNet  Google Scholar 

  3. T. Katagiri, K. Kise, H. Honda, Yuba, in Proceedings of the ACM International Symposium on High Performance Computing (2003), pp. 146–159

    Google Scholar 

  4. T. Katagiri, K. Kise, H. Honda, T. Yuba, in Proceedings of the ACM Computing Frontiers (2004), pp. 12–25

    Google Scholar 

  5. T. Katagiri, K. Kise, H. Honda, T. Yuba, Parallel Comput. 32(1), 92–112 (2006)

    Article  Google Scholar 

  6. K. Naono, K. Teranishi, J. Cavazos, R. Suda, Software Automatic Tuning (Springer, New York, 2010)

    Google Scholar 

  7. T. Katagiri, S. Ohshima, M. Matsumoto, in Proceedings of IEEE MCSoC 2014 (2014), pp. 91–98

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Takahiro Katagiri .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Katagiri, T. (2019). High-Performance Computing Basics. In: Geshi, M. (eds) The Art of High Performance Computing for Computational Science, Vol. 1. Springer, Singapore. https://doi.org/10.1007/978-981-13-6194-4_1

Download citation

  • DOI: https://doi.org/10.1007/978-981-13-6194-4_1

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-13-6193-7

  • Online ISBN: 978-981-13-6194-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics