2011 · 21 citations · 21 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureParallel AlgorithmsParallel ComputingGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingGraphics Processing UnitsParallel ArchitecturesParallel ComputationParallel Computing SystemsGpu ArchitectureGpu Parallel AlgorithmsParallel Dynamic ProgrammingThread ParallelismThread-based ParallelismThread-level Parallelism
Dynamic programming (DP) is an important computational method for solving a wide variety of discrete optimization problems such as scheduling, string editing, packaging, and inventory management. In general, DP is classified into four categories based on the characteristics of the optimization equation. Because applications that are classified in the same category of DP have similar program behavior, the research community has sought to propose general solutions for parallelizing each category of DP. However, most existing studies focus on running DP on CPU-based parallel systems rather than on accelerating DP algorithms on the graphics processing unit (GPU). This paper presents the GPU acceleration of an important category of DP problems called nonserial polyadic dynamic programming (NPDP). In NPDP applications, the degree of parallelism varies significantly in different stages of computation, making it difficult to fully utilize the compute power of hundreds of processing cores in a GPU. To address this challenge, we propose a methodology that can adaptively adjust the thread-level parallelism in mapping a NPDP problem onto the GPU, thus providing sufficient and steady degrees of parallelism across different compute stages. We realize our approach in a real-world NPDP application -- the optimal matrix parenthesization problem. Experimental results demonstrate our method can achieve a speedup of 13.40 over the previously published GPU algorithm.
21
The Landscape of Parallel Computing Research: A View from Berkeley
Krste Asanović, Ras Bodik, Bryan Catanzaro et al. · 2006 · 2K citations
Engineering, Computer Science, High-performance Computing +17
Introduction to parallel computing
Choice Reviews Online · 2004 · 1.9K citations
John Nickolls, William J. Dally · IEEE Micro · 2010 · 958 citations
Parallel Prefix Sum (Scan) with CUDA
Mark Harris · 2011 · 542 citations