Summary: | 碩士 === 國立清華大學 === 資訊工程學系 === 104 === Virtualization has become a key technology in cloud computing. However, no single
solution of GPGPU virtualization can satisfy all different demands. In this thesis, we propose
qCUDA: a GPGPU virtualization method based on QEMU virtio for NVidia CUDA.
The architecture of qCUDA consists of three parts: library, driver, and virtual hardware
devices. The virtualization method of qCUDA is based on API forwarding, which accepts
users’ invocation of CUDA API in the virtual machine, and forwards the APIs to the physical
machine through virtIO and QEMU. The experiments evaluate three different types of
benchmarks, which are of bandwidth bound, computational bound, and memory bound,
and compare qCUDA with native CUDA and rCUDA, which is a popular GPGPU virtualization
method. For the bandwidth bound benchmark, qCUDA can reach 50% bandwidth
performance of native CUDA, but rCUDA can only have 3% bandwidth performance of
native CUDA. For the computational bound benchmark, qCUDA is 2000% time faster than
rCUDA for a small data size and 200% time faster than rCUDA for a large data size. For
the memory-bound benchmark, qCUDA is 1000%~˜2500% times faster than rCUDA.
|