GPU virtualization refers to technologies that allow the use of a GPU to accelerate graphics or GPGPU applications running on a virtual machine. GPU virtualization is used in various applications such as desktop virtualization,[1] cloud gaming[2] and computational science (e.g. hydrodynamics simulations).[3]