2011 · 83 citations · 14 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureParallel AlgorithmsParallel ComputingGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingParallel ArchitecturesParallel Numerical Linear AlgebraParallel Numerical MethodsPerformance TuningAuto-tuningExecution Time AnalysisExecution Time EstimationGpu ArchitectureGpu Parallel AlgorithmsScientific Computing On GpusShared MemoryTuning
We present a multi-stage method for solving large tridiagonal systems on the GPU. Previously large tridiagonal systems cannot be efficiently solved due to the limitation of on-chip shared memory size. We tackle this problem by splitting the systems into smaller ones and then solving them on-chip. The multi-stage characteristic of our method, together with various workloads and GPUs of different capabilities, obligates an auto-tuning strategy to carefully select the switch points between computation stages. In particular, we show two ways to effectively prune the tuning space and thus avoid an impractical exhaustive search: (1) apply algorithmic knowledge to decouple tuning parameters, and (2) estimate search starting points based on GPU architecture parameters. We demonstrate that auto-tuning is a powerful tool that improves the performance by up to 5x, saves 17% and 32% of execution time on average respectively over static and dynamic tuning, and enables our multi-stage solver to outperform the Intel MKL tridiagonal solver on many parallel tridiagonal systems by 6-11x.
14
John Nickolls, William J. Dally · IEEE Micro · 2010 · 958 citations
A Fast Direct Solution of Poisson's Equation Using Fourier Analysis
R. W. Hockney · Journal of the ACM · 1965 · 692 citations · Full text
Jason Ansel, Cy Chan, Yee Lok Wong et al. · 2009 · 360 citations