2016 · 23 citations · 37 references
ComputingComputer EngineeringComputer ScienceCompilersParallel AlgorithmsParallel ComputingData ParallelismMatrix ComputationParallel ArchitecturesParallel ComputationParallel Numerical Linear AlgebraParallel Performance AnalysisData Dependence AnalysisParallel Matrix AlgorithmsParallel Matrix ComputationParallel Matrix FactorizationParallel Sparse Linear AlgebraParallelizationSparse Matrix AlgorithmsSparse Matrix Computation
This paper presents a compiler and runtime framework for parallelizing sparse matrix computations that have loop-carried dependences. Our approach automatically generates a runtime inspector to collect data dependence information and achieves wavefront parallelization of the computation, where iterations within a wavefront execute in parallel, and synchronization is required across wavefronts. A key contribution of this paper involves dependence simplification, which reduces the time and space overhead of the inspector. This is implemented within a polyhedral compiler framework, extended for sparse matrix codes. Results demonstrate the feasibility of using automatically-generated inspectors and executors to optimize ILU factorization and symmetric Gauss-Seidel relaxations, which are part of the Preconditioned Conjugate Gradient (PCG) computation. Our implementation achieves a median speedup of 2.97× on 12 cores over the reference sequential PCG implementation, significantly outperforms PCG parallelized using Intel's Math Kernel Library (MKL), and is within 6% of the median performance of manually-parallelized PCG.
37
Samuel Williams, Andrew Waterman, David A. Patterson · Communications of the ACM · 2009 · 2.4K citations · Full text
Efficient and exact data dependence analysis
Dror Maydan, John L. Hennessy, Monica S. Lam · 1991 · 217 citations