2007 · 124 citations · 20 references
ComputingComputer ScienceHigh-performance ComputingComputer ArchitectureParallel ComputingSchedulingMatrix ComputationParallel ArchitecturesParallel Computer ArchitectureParallel Data StructuresParallel Performance AnalysisSuperscalar ProcessingComputational Linear AlgebraDense Linear AlgebraMany-core ProcessorsMulti-core ComputingParallel Sparse Linear AlgebraSparse Matrix ComputationSuperscalar MicroarchitectureSuperscalar Scheduling
We discuss the high-performance parallel implementation and execution of dense linear algebra matrix operations on SMP architectures, with an eye towards multi-core processors with many cores. We argue that traditional implementations, as those incorporated in LAPACK, cannot be easily modified to render high performance as well as scalability on these architectures. The solution we propose is to arrange the data structures and algorithms so that matrix blocks become the fundamental units of data, and operations on these blocks become the fundamental units of computation, resulting in algorithms-by-blocks as opposed to the more traditional blocked algorithms. We show that this facilitates the adoption of techniques akin to dynamic scheduling and out-of-order execution usual in superscalar processors, which we name SuperMatrix Out-of-Order scheduling. Performance results on a 16 CPU Itanium2-based server are used to highlight opportunities and issues related to this new approach.
20
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
John A. Gunnels, Fred G. Gustavson, Greg Henry et al. · ACM Transactions on Mathematical Software · 2001 · 235 citations