2011 · 17 citations · 23 references
ComputingComputer EngineeringComputer ScienceCompilersHeterogeneous ComputingParallel ComputingConcurrency AnalysisData ParallelismShared-memory MultiprocessingShared-memory ParallelismSynchronization PrimitivesData Dependence AnalysisDependence AnalysisGpu ArchitectureMulticore ArchitecturesMulticore SystemsParallel Program SynchronizationProgram CorrectnessSynchronization Mechanisms
Automatic compilation for multiple types of devices is important, especially given the current trends towards heterogeneous computing. This paper concentrates on some issues in compiling fine-grained SPMD-threaded code (e.g., GPU CUDA code) for multicore CPUs. It points out some correctness pitfalls in existing techniques, particularly in their treatment to implicit synchronizations. It then describes a systematic dependence analysis specially designed for handling implicit synchronizations in SPMD-threaded programs. By unveiling the relations between inter-thread data dependences and correct treatment to synchronizations, it presents a dependence-based solution to the problem. Experiments demonstrate that the proposed techniques can resolve the correctness issues in existing compilation techniques, and help compilers produce correct and efficient translation results.
23
Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow
Wilson Wai Lun Fung, Ivan Sham, George L. Yuan et al. · 2007 · 727 citations
Benchmarking GPUs to tune dense linear algebra
В. М. Волков, James Demmel · 2008 · 726 citations
Chi-Keung Luk, Sunpyo Hong, Hyesoon Kim · 2009 · 512 citations
Benchmarking GPUs to tune dense linear algebra
J. Demmel · 2008 · 475 citations