dCUDA: Hardware Supported Overlap of Computation and Communication
Citations Over TimeTop 10% of 2016 papers
Abstract
Over the last decade, CUDA and the underlying GPU hardware architecture have continuously gained popularity in various high-performance computing application domains such as climate modeling, computational chemistry, or machine learning. Despite this popularity, we lack a single coherent programming model for GPU clusters. We therefore introduce the dCUDA programming model, which implements device-side remote memory access with target notification. To hide instruction pipeline latencies, CUDA programs over-decompose the problem and over-subscribe the device by running many more threads than there are hardware execution units. Whenever a thread stalls, the hardware scheduler immediately proceeds with the execution of another thread ready for execution. This latency hiding technique is key to make best use of the available hardware resources. With dCUDA, we apply latency hiding at cluster scale to automatically overlap computation and communication. Our benchmarks demonstrate perfect overlap for memory bandwidth-bound tasks and good overlap for compute-bound tasks.
Related Papers
- → Hybrid CUDA, OpenMP, and MPI parallel programming on multicore GPU clusters(2010)136 cited
- → Implementing the Himeno benchmark with CUDA on GPU clusters(2010)85 cited
- → Multi-level parallelism for incompressible flow computations on GPU clusters(2012)63 cited
- → The identification of spirochetes from human cases of relapsing fever by xenodiagnosis with comments on local specificity of tick vectors(1956)18 cited
- → TPC-H Benchmark Q3, Q6 and Q12 Sequential, OpenMP Parallel and CUDA Parallel Implementation(2021)1 cited