Skip to main content
\( \setlength{\oddsidemargin}{-0.0in} \setlength{\evensidemargin}{-0.0in} \setlength{\textheight}{8.75in} \setlength{\textwidth}{6.5in} \setlength{\topmargin}{-0.25in} \newcommand{\R}{\mathbb R} \newcommand{\Rm}{\mathbb R^m} \newcommand{\Rn}{\mathbb R^n} \newcommand{\Rnxn}{\mathbb R^{n \times n}} \newcommand{\Rmxn}{\mathbb R^{m \times n}} \newcommand{\C}{\mathbb C} \newcommand{\Cm}{\mathbb C^m} \newcommand{\Cmxm}{\mathbb C^{m \times m}} \newcommand{\Cnxn}{\mathbb C^{n \times n}} \newcommand{\Cmxn}{\mathbb C^{m \times n}} \newcommand{\Cn}{\mathbb C^n} \newcommand{\Null}{{\cal N}} \newcommand{\Col}{{\cal C}} \newcommand{\Rowspace}{{\cal R}} \newcommand{\Span}{{\cal Span}} \newcommand{\rank}{{\rm rank}} \newcommand{\FlaTwoByTwo}[4]{ \left( \begin{array}{c | c} #1 \amp #2 \\ \hline #3 \amp #4 \end{array} \right) } \newcommand{\FlaOneByTwo}[2]{ \left( \begin{array}{c | c} #1 \amp #2 \end{array} \right) } \newcommand{\FlaTwoByOne}[2]{ \left( \begin{array}{c} #1 \\ \hline #2 \end{array} \right) } \newcommand{\diag}[1]{{\rm diag}( #1 )} \newcommand{\lt}{<} \newcommand{\gt}{>} \newcommand{\amp}{&} \)
LAFF-On Programming for High Performance
Robert van de Geijn, Margaret Myers, Devangi Parikh
Contents
Index
Prev
Up
Next
Annotations
Contents
Prev
Up
Next
Front Matter
Colophon
Dedication
Acknowledgements
Preface
Getting Started
1
Thinking About Matrix-Matrix Multiplication
Opening Remarks
Mapping Matrices to Memory
Thinking in Terms of Vector-Vector Operations
Thinking in Terms of Matrix-Vector Operations
Enrichments
Wrap Up
2
Start Your Engines
Opening Remarks
Blocked Matrix-Matrix Multiplication
Vector registers and vector instructions
Optimizing the Microkernel
When Optimal Means Optimal
Enrichments
Wrap Up
3
Pushing the Limits
Opening Remarks
Leveraging the Caches
Contiguous Memory Access is Important
Further Tricks of the Trade
Enrichments
Wrap Up
4
Multithreaded Parallelism
Opening Remarks
OpenMP
Matrix Multiplication
Parallelizing More
Enrichments
Wrap Up
Back Matter
A
B
GNU Free Documentation License
References
Index
Colophon
Authored in PreTeXt
Appendix
A