Skip to main content

Subsection 12.1.3 What you will learn

This week, you explore how algorithms and architectures interact.

Upon completion of this week, you should be able to

  • Amortize the movement of data between memory layers over useful computation to overcome the discrepency between the speed of floating point computation and the speed with which data can be moved in and out of main memory.

  • Block matrix-matrix multiplication for multiple levels of cache.

  • Cast matrix factorizations as blocked algorithms that cast most computation in terms of matrix-matrix operations.

  • Recognize that the performance of some algorithms is inherently restricted by the memory operations that must be performed.

  • Utilize interfaces to high-performance software libraries.

  • Find additional resources for further learning.