IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems · 2015 · 19 citations · 33 references
ComputingComputer EngineeringComputer ScienceComputer GraphicsParallel AlgorithmsParallel ComputingData ParallelismGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingGraphics Processing UnitsHardware AccelerationParallel ArchitecturesApplication Performance OptimizationGpu ArchitectureGpu Performance ModelingKernel OptimizationParallel ProcessingSimd ExecutionStreaming Multiprocessor DesignTransformations
Graphic processing units (GPUs) are composed of a group of single-instruction multiple data (SIMD) streaming multiprocessors (SMs). GPUs are able to efficiently execute highly data parallel tasks through SIMD execution on the SMs. However, if those threads take diverging control paths, all divergent paths are executed serially. In the worst case, every thread takes a different control path and the highly parallel architecture is used serially by each thread. This control flow divergence problem is well known in GPU development; code transformation, memory access redirection, and data layout reorganization are commonly used to reduce the impact of divergence. These techniques attempt to eliminate divergence by grouping together threads or data to ensure identical behavior. However, prior efforts using these techniques do not model the performance impact of any particular divergence or consider that complete elimination of divergence may not be possible. Thus, we perform analysis of the performance impact of divergence and potential thread regrouping algorithms that eliminate divergence or minimize the impact of remaining divergence. Finally, we develop a divergence optimization framework that analyzes and transforms the kernel at compile-time and regroups the threads at runtime. For the compute-bound applications, our proposed metrics achieve performance estimation accuracy within 6.2% of measured performance. Using these metrics, we develop thread regrouping algorithms, which consider the impact of divergence, and speed up these applications by 2.2× on average on NVIDIA GTX480.
33
Marching cubes: A high resolution 3D surface construction algorithm
William E. Lorensen, H. E. Cline · 1987 · 10.2K citations · Full text
Computing, Radiology, Visualization +17
Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow
Wilson Wai Lun Fung, Ivan Sham, George L. Yuan et al. · 2007 · 727 citations
Demystifying GPU microarchitecture through microbenchmarking
Henry Wong, Misel-Myrto Papadopoulou, Maryam Sadooghi-Alvandi et al. · 2010 · 447 citations