4

проблема

Я хотел бы использовать мой хост dGPU для обучения некоторых нейронных сетей, использующих его ядра CUDA, через гостевую систему Ubuntu 16.04 в Oracle VM VirtualBox версии 5.2.22. Было бы возможно сделать это?

Настройка хоста:

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

Настройка гостя:

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

Примечание. Предыдущий вопрос касался использования графического процессора Nvidia на Windows 7 в VirtualBox для игр. Этот вопрос касается другой установки и цели, и он слишком стар, чтобы быть полезным сегодня. Другой вопрос касается использования видеокарты в VirtualBox, но это также старый вопрос.

3 ответа3

3

В Linux это возможно, и для этого есть подробные инструкции.

Ваш ЦП поддерживает требуемые возможности VT-d и, надеюсь, вашу (не указанную) материнскую плату также. У вас также есть два графических адаптера, поэтому вы можете позволить себе отдать один на виртуальную машину (помните, что ваш другой графический процессор довольно ограничен).

Есть различные статьи на эту тему, которые вам нужно будет протестировать, поскольку у меня нет среды для этого. Чипсет виртуальной машины, по-видимому, должен быть ICH9, хотя и не упоминается в руководствах. Возможно, вам придется использовать виртуальный менеджер, который назван в каждой статье.

Вот ссылки:

3

После многих копаний это возможно в настоящее время, но только с ограниченными конфигурациями, конкретными хост-операциями и использованием корпоративного программного обеспечения.

Windows Server 2016 и выше, но с Hyper-V

  • Это возможно только с Windows Server в качестве хоста и гипервизора. Это не доступно с Windows 10 Pro в качестве хоста, как указано в вопросе выше.

Ubuntu 18.04 и выше с Virtualbox

  • Гость и хост должны иметь ядро Linux, скомпилированное с поддержкой IOMMU, включая переназначение DMA, согласно документации на virtualbox. Это сделано по умолчанию в последней версии Ubuntu.
  • Команда find /sys | grep dmar и dmesg | grep IOMMU сообщит вам, если ядро скомпилировано с поддержкой IOMMU. DMAR: IOMMU enabled - это то, что вы ищете.

Windows 10 Pro, но с VMware Workstation Pro 15 или VMware ESXi

  • VMware позволяет использовать несколько способов для прохождения через GPU или обмена с гостевыми системами VM. Опять же, VT-d или AMD IOMMU должны быть включены на хосте.
2

Если графическая карта не является основной в вашей системе, вы можете подумать об использовании PCI-passtrough to VM, например, гостевая ОС может получить к ней прямой доступ. К сожалению, кажется, VBox не поддерживает эту функцию (читайте здесь), и я не знаю, поддерживается ли она в других программах для виртуализации десктопов.

В любом случае, если ваша графическая карта также используется хост-ОС, вы не сможете выполнить проход PCI

Обновить

Похоже, что и другое программное обеспечение для виртуализации десктопов не поддерживает PCI passtrough (пост, который я нахожу достаточно недавним)

  • Hyper-V в Windows 10: читать здесь
  • Рабочая станция Vmware: читайте здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .