Unit 1.1.3 What you will learn¶
In this week, we not only review matrix-matrix multiplication, but we also start thinking about this operation in different ways.
Upon completion of this week, we will be able to
Map matrices to memory.
Apply conventions to describe how to index into arrays that store matrices.
Observe the effects of loop order on performance.
Recognize that simple implementations may not provide the performance that can be achieved.
Realize that compilers don't automagically do all the optimization.
Think about matrix-matrix multiplication in terms of matrix-vector multiplications and rank-1 updates.
Understand how matrix-matrix multiplication can be layered in terms of simpler operations with matrices and/or vectors.
Relate execution time of matrix-matrix multiplication to the rate of computation achieved by the implementation.
Plot performance data with Matlab.
The enrichments introduce us to
The Basic Linear Algebra Subprograms (BLAS), an interface widely used in the computational science.
The BLAS-like Library Instantiation Software (BLIS) framework for implementing the BLAS.
How to count floating point operations.