1999 · 116 citations · 37 references
ComputingComputer EngineeringComputer ScienceAlgorithmsParallel AlgorithmsParallel ComputingAlgorithm AnalysisMatrix ComputationParallel Algorithm DesignParallel ArchitecturesParallel Computer ArchitectureMatrix MultiplicationParallel Matrix AlgorithmsParallel Matrix ComputationParallel Matrix MultiplicationParallel Matrix-vector Multiplication
Matrix multiplication is an important kernel in linear algebra algorithms, and the performance of both serial and parallel implementations is highly dependent on the memory system behavior. Unfortunately, due to false sharing and cache conflicts, traditional column-major or row-major array layouts incur high variability in memory system performance as matrix size varies. This paper investigates the use of recursive array layouts for improving the performance of parallel recursive matrix multiplication algorithms. We extend previous work by Frens and Wise on recursive matrix multiplication to examine several recursive array layouts and three recursive algorithms: standard matrix multiplication, and the more complex algorithms of Strassen and Winograd. We show that while recursive array layouts significantly outperform traditional layouts (reducing execution times by a factor of 1.2--2.5) for the standard algorithm, they offer little improvement for Strassen's and Winograd's algorithms; ...
37
Gaussian elimination is not optimal
Volker Strassen · Numerische Mathematik · 1969 · 2.5K citations
Accuracy and stability of numerical algorithms
Choice Reviews Online · 1996 · 2.1K citations
A set of level 3 basic linear algebra subprograms
Jack Dongarra, Jeremy Du Croz, Sven Hammarling et al. · ACM Transactions on Mathematical Software · 1990 · 1.8K citations · Full text
FFTW: an adaptive software architecture for the FFT
Matteo Frigo, Steven G. Johnson · 2002 · 1.8K citations
A data locality optimizing algorithm
Michael E. Wolf, Monica S. Lam · 1991 · 1.3K citations · Full text