![cudalaunch dominates runtime cudalaunch dominates runtime](https://image.tmdb.org/t/p/w300/6d0qv4WPgC6VeBkFx4U3pPPmKpt.jpg)
CUDALAUNCH DOMINATES RUNTIME DRIVER
QCUdriver ( qcu-driver) – The front-end driver was responsible for the memory management, data movement, analyzing the qCUcmd from the qCUlibrary, and passing the qCUcmd by the control channel which is connected to the qCUdevice. QCUlibrary ( qcu-library) – The interposer library in VM (guest OS) provided CUDA runtime access, interface of memory allocation, qCUDA command (qCUcmd), and passing the qCUcmd to the qCUdriver. These three components are defined as follows: The framework of qCUDA has three components, including qCUlibrary, qCUdriver and qCUdevice the functions of
![cudalaunch dominates runtime cudalaunch dominates runtime](https://image.tmdb.org/t/p/w780/9Rj9Z9jwzaKVqjF4Uv4WqrU0tqU.jpg)
In addition, by comparing with prior work, qCUDA has more flexibility and interposition that it can execute CUDA-compatible programs in the Linux and Windows VMs, respectively, on QEMU-KVM hypervisor for GPGPU virtualization. In our test environment, qCUDA can achieve above 95% of the bandwidth efficiency for most results by comparing with the native. QCUDA is based on the virtio framework to provide the para-virtualized driver as “front-end”,Īnd the device module as “back-end” for performing the interaction with API remoting and memory management.