使用 VirtualBox 的主机 CUDA?

Gab*_*air 17 virtualbox gpu cuda virtual-machine ubuntu

问题

我想使用我的主机 dGPU 通过我的 Ubuntu 16.04 来宾在 Oracle VM VirtualBox 版本 5.2.22 中使用其 CUDA 内核训练一些神经网络。有可能做到这一点吗?

主机设置:

Windows 10.0.17763.195 (1809) Pro x64
Intel i7-6700HQ (Intel HD Graphics 530)
NVIDIA GeForce GTX 960M (CUDA Cores 640) via PCI Express x16 Gen3, DirectX v12.0 (FL 11.0)
Virtualization is Supported, Enabled via UFEI and OS
Run Code Online (Sandbox Code Playgroud)

访客设置:

Ubuntu 16.04
Chipset PIIX3 with Enabled I/O APIC
Processor has enabled PAE/NX
VT-X and AMD-V are Supported, Enabled
Nested Paging, Enabled
3D Acceleration Enabled
Extension Pack is installed
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

注:以前的问题询问有关使用Windows 7主机的NVIDIA图形处理器在VirtualBox的游戏。这个问题是关于不同的设置和目的,而且太旧了,今天没有用。另一个问题是关于在 VirtualBox 中使用显卡的问题,但这也是一个老问题。

Gab*_*air 14

经过大量挖掘,目前这是可能的,但仅限于有限的配置、特定的主机操作系统和企业软件的使用。

Windows Server 2016 及更高版本,但带有 Hyper-V

  • 这仅适用于作为主机和管理程序的 Windows Server。如上述问题所述,它不适用于 Windows 10 pro 作为主机。

带有 Virtualbox 的 Ubuntu 18.04 及更高版本

  • 根据 virtualbox文档,来宾和主机都必须具有已编译为支持 IOMMU 的 Linux 内核,包括 DMA 重新映射。这是在最新版本的 Ubuntu 中默认完成的。
  • 命令find /sys | grep dmardmesg | grep IOMMU会告诉你,如果籽粒在编译时已经IOMMU支持。DMAR: IOMMU enabled就是你要找的。

Windows 10 Pro 但使用 VMware Workstation Pro 15 或 VMware ESXi

  • VMware允许通过多种方式实现 GPU 直通或与来宾 VM 系统共享。同样,必须在主机上启用 VT-d 或 AMD IOMMU。


har*_*ymc 10

这在 Linux 下似乎是可能的,并且有详细的说明。

您的 CPU 支持所需的 VT-d 功能,希望您的(未指定的)主板也是如此。您还有两个图形适配器,因此可以将一个交给 VM(请记住,您的另一个 GPU 相当有限)。

您需要测试有关该主题的各种文章,因为我没有环境。VM 的芯片组似乎需要是 ICH9,尽管教程中没有提到。您可能需要使用每篇文章中指定的虚拟管理器。

以下是参考资料: