Cost-Based Workload Balancing for Ray Tracing on a Heterogeneous Platform
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Heterogeneous computational platforms consisting of CPUs and multiple discrete GPUs are becoming common and widely available these days. Such availability has brought up the need to develop techniques that allow the effective use of the computational capability they offer. In this work we investigate efficient strategies for load balancing of ray tracing on heterogeneous (CPU and multi-GPU) workstations. The main difficulty in achieving a high efficiency for ray tracing in this context has to do with the fact that although an embarrassingly parallel problem, ray tracing also exhibits a highly irregular workload. We propose an approach based on fast ray traversal cost estimation to improve the balancing efficiency among GPU and reduce overall rendering times. An accurate and low-overhead cost estimation of ray tracing tasks is performed by means of a reduced traversal of the rays through bounding volume hierarchies. Our estimation exploits the capabilities of modern GPUs to quickly collect information about the number of primitive intersection tests performed by batches of rays. These estimated costs are then used to achieve a more accurate assignation of tasks to processing units. We conduct a comparison between commonly used static and dynamic load balancing strategies, with and without the cost-based enhancement. Our results show that the rendering times achieved by a static cost-based strategy outperforms its static regular counterpart, and both dynamic strategies, on a heterogeneous platform.