ืคืจืืืงื virtio-nvgpu ืืคืชื ืืชืงื virtio ืืืืคืฉืจ ืืืฉื ืืืจืืืกื ืืกื ืฉื NVIDIA ืืืขืจืืืช ืืืจื ืืคืืขืืืช ืชืืช ืืืคืจ-ืืืืืจ KVM ืขื ืืฉืคืขื ืืื ืืืืืช ืขื ืืืืฆืืขืื. ืืื ืืืจืื ืืืืืื ืืืื ืืืืืขื ืืืขืจืืช ืืืืจืืช ืืืชืงื virtio ืืคืืขื ืขื ืืืืจื. ืงืื ืืืืื ืืืืื ื ืืชื ื-C ืืืืจืฉื ืชืืช ืจืืฉืืื GPLv2, ืืขืื ืฉืงืื ืืชืงื virtio ื ืืชื ื-Rust ืืืืจืฉื ืชืืช ืจืืฉืืื Apache 2.0.
ืืืืจื ืืืคืชืืื, ืืืืื ืืืืฆืืขืื ืืขืช ืืืฉื ื-GPU ืืื ื ืขืืื ืขื 2%. ืืืฆืืขืื ืืืืืื ืืืฉืืื ืขื ืืื ื ืืชืื ืืืืฉ ืฉื ืงืจืืืืช ioctl ืืืจืืืืจ ืืืงืืจื ืฉื NVIDIA ืืคืขืืื ืืจืืช ABI ืฉื ืืจืืืืจ NVIDIA, ืืืื ืืชืจืื ืืงืฉืืช ืืจืืช ื-API. ืืฆื ืืืืจื, ื ืขืฉื ืฉืืืืฉ ืืกืคืจืืืช ืืงืืจืืืช ืืืืจืืืืจืื ืืจืื ืืืืื ืฉื NVIDIA ืืคืืขืืื ืืืจืื ืืืฉืชืืฉ.
ืืืืื ืืืื ื ืืขื ืืืขืจืืช ืืืืจืืช. ืืื ืืกืคืง ืืช ืงืืฆื ืืืชืงื /dev/nvidiactl, /dev/nvidia0โฆN, ื- /dev/nvidia-uvm ืื ืืชื ืืช ืงืจืืืืช ioctl() ื- mmap() ืืจื virtqueue ืืืืคื ืืกืืืืช ืืืืจื, ืฉืืขืืืจื ืืืชื ืืืจืืืืจ ืืืืจื ืฉื NVIDIA. ืืื ืืืืื ืข ืืืขืืจื ืืงืฉืจ ืืื ืืขืจืืช ืืืืจื ืืืืื ื ืืืืืจืืืืืืช, ืืืืจื ืืคืงืืืืช ืืืืคืื (mmapped) ืืืืืจืื ืืฉืืชืฃ ืื ืืืฉ ืขื ืืื ืกืืืืช ืืืืจื ืื-GPU.
ืื ืืืื ืืืขืืจ ืืืฉื ืืืขืื ื-GPU (VFIO Passthrough), ืคืจืืืงื virtio-nvgpu ืืกืคืง ืืืฉื ืืฉืืชืคืช ื-GPU ืืื ืืืื ืืืื ืืช ืืืจืืืืืืืช, ืืื ืืืื ื-virtio-gpu (Venus, VirGL), ืืื ืคืืขื ืืจื ืืขืืจืช ABI ืืืจืืืืจ ืฉื NVIDIA, ืืื ืืจืืช ืชืจืืื ื-API ืืืจืคื ืฉื Vulkan ื-OpenGL. ืืืกืจืื ืืช ืฉื virtio-nvgpu ืืืืืื ืืช ืืืขืืจ ืืืืืื ืืืื ืืืืกืก IOMMU (ืืขืจืืืช ืืืจื ืคืืขืืืช ืืจื ืืจืืืืจ ืืืืจื ืฉื NVIDIA ืืืืืืืืช ืืกืื ืื ืงืจืืืืช ioctl) ืืืช ืืกืชืืืืชื ืขื ABI ืฉื ืืจืืืืจ NVIDIA (ื-ABI ืืฉืชื ื ืขื ืื ืืจืกื, ืื ืฉืืืืื ืืชืืื ืฉื virtio-nvgpu).
ืืืืืืช ื-virtio-nvgpu ืืกืคืืงืืช ืืจืื ืืืจ, ืงืืืื ืืืืื ืืืืฉืื ืืืืฆืขืืช ืืืฉืงื ื-API ืฉื Vulkan, OpenGL, NVENC ื-CUDA. ืืืืฉืื ืืขืืงืจื ืฉืฆืืื ืืื ืืฆืืจืช ืฉืืจืืชื ืืฉืืงื ืขื ื ืื ืฉืืืื ืืช ืขืืืื ืืืจืืืืืืื ืฉืืื ืคืืขื ืืฉืืง ืื ืืืฉืื ืืจืคื. ืืืื ื ืืืจืืืืืืช, ืืฉืจ ืืืฆืข ืจืื ืืืจ, ืงืืืื ืืืืจื ืฉื ืืชืืฆืื ืืืืฆืขืืช NVENC, ืืฉืืืืจ ืืคืื ืืืฉืชืืฉ ืืืจืืืง ืืฆืืจื ืฉื ืืจื ืืืืื ืืืืก.
ืืงืืจ: OpenNet.ru
