Matrix Multiplication
CPS343
Parallel and High Performance Computing
Spring 2016
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 1 / 32
Matrix Multiplication CPS343 Parallel and High Performance - - PowerPoint PPT Presentation
Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2016 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 1 / 32 Outline Matrix operations 1 Importance Dense and sparse matrices Matrices and arrays
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 1 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 2 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 3 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 4 / 32
1
2
3
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 5 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 6 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 7 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 8 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 9 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 10 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 11 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 12 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 13 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 14 / 32
1 Row-major vs. column-major storage pattern is language dependent. 2 It is not possible to dynamically allocate two-dimensional arrays in C
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 15 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 16 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 17 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 18 / 32
1 Memory access patterns can have a dramatic impact on performance,
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 18 / 32
1 Memory access patterns can have a dramatic impact on performance,
2 Many important numerical libraries (e.g. LAPACK) are written in
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 18 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 19 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 20 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 21 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 22 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 23 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 24 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 25 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 26 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 27 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 28 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 28 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 28 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 28 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 29 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 29 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 29 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 29 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 30 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 31 / 32
CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 32 / 32