DOE OSTI · 1030867
Exploring Fine-Grained Task-based Execution on Multi-GPU Systems
Abstract
Many-core Graphics Processing Units (GPUs) have been utilized as the computation engine in many scientific fields due to the high peak performance, cost effectiveness, and the availability of user friendly programming environments, e.g., NVIDIA CUDA. However, the conventional data parallel GPU programming paradigm cannot satisfactorily address issues such as load balancing and GPU resource utilization due to the irregular and unbalanced workload patterns exhibited in some applications. In this paper, we explore the design space of task-based solutions for multi-GPU systems. By employing finer-grained tasks than what is supported in the current CUDA, and allowing task sharing, our solutions enable dynamic load balancing. We evaluate our solutions with a Molecular Dynamics application with different atom distributions (from uniform distribution to highly non-uniform distribution). Experimental results obtained on a 4-GPU system show that, for non-uniform distributed systems, our solutions achieve excellent speedup, and significant performance improvement over other solutions based on the standard CUDA APIs.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Chen, Long, Villa, Oreste, Gao, Guang R. 2011-09-25. Exploring Fine-Grained Task-based Execution on Multi-GPU Systems. https://doi.org/10.1109/cluster.2011.50
Cite the original work for its findings. Save a collection to share your selection of sources.