Multi-GPU Rendering with Vulkan API
Department of Computing, Mathematics and Physics, Western Norway University of Applied Science Department of Informatics, University of Bergen
The University of Bergen, 2018
@mastersthesis{tolo2018multi,
title={Multi-GPU Rendering with Vulkan API},
author={Tolo, Lars Olav},
year={2018},
school={The University of Bergen}
}
Vulkan API provides a low level interface to modern Graphics Processing Units (GPUs). With this thesis, we demonstrate how to use Vulkan to send commands explicitly to separate GPUs for implementing platform- and vendor independent multi-GPU rendering. We describe how to implement the sort-first and sort-last approaches to perform parallel rendering with Vulkan. We introduce an abstraction library which we have made available, and an application for multi-GPU rendering of meshes. The introduced solution is the first publicly available implementation of heterogeneous multi-GPU rendering with Vulkan API. The introduced abstraction library supports creating partial renderers for the sort-first and sort-last approaches to multi-GPU rendering, and takes care of the details of multi-GPU synchronization and compositing. Performance benchmarks have been performed in order to evaluate the implementation. The sort-last implementation has been tested to render geometry with high-resolution textures, which would otherwise not fit in the memory of a single GPU.
May 26, 2019 by hgpu