ACM SIGPLAN Notices · 2010 · 77 citations · 20 references
ComputingComputer ScienceHigh-performance ComputingAlgorithmsParallel AlgorithmsParallel ComputingGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingGraphics Processing UnitsMatrix ComputationParallel ComputationParallel Performance AnalysisBank ConflictsGpu ArchitectureGpu Parallel AlgorithmsMemory Access LatencyMemory Bank ConflictsParallel Algorithm ComplexityParallel SolversRecursive Doubling
We study the performance of three parallel algorithms and their hybrid variants for solving tridiagonal linear systems on a GPU: cyclic reduction (CR), parallel cyclic reduction (PCR) and recursive doubling (RD). We develop an approach to measure, analyze, and optimize the performance of GPU programs in terms of memory access, computation, and control overhead. We find that CR enjoys linear algorithm complexity but suffers from more algorithmic steps and bank conflicts, while PCR and RD have fewer algorithmic steps but do more work each step. To combine the benefits of the basic algorithms, we propose hybrid CR+PCR and CR+RD algorithms, which improve the performance of PCR, RD and CR by 21%, 31% and 61% respectively. Our GPU solvers achieve up to a 28x speedup over a sequential LAPACK solver, and a 12x speedup over a multi-threaded CPU solver.
20
Samuel Williams, Andrew Waterman, David A. Patterson · Communications of the ACM · 2009 · 2.4K citations · Full text
Scalable Parallel Programming with CUDA
John Nickolls, Ian Buck, Michael Garland et al. · Queue · 2008 · 1.6K citations · Full text
W. Daniel Hillis, Guy L. Steele · Communications of the ACM · 1986 · 891 citations · Full text
Benchmarking GPUs to tune dense linear algebra
В. М. Волков, James Demmel · 2008 · 726 citations