Начинающий: передача GPU от хоста Windows к гостю Ubuntu (Что такое KVM? Я использую vBox)

Вопрос или проблема

У меня Windows 10 с виртуальной машиной Ubuntu 18.04LTS в VirtualBox. Я не опытен в виртуальных машинах, но мне нужен Linux (для личного использования), поэтому я думал, что VirtualBox – единственное решение.

У меня есть две дискретные видеокарты, и я хочу передать одну из них в виртуальную машину Ubuntu (также для того, чтобы мое приложение могло использовать это и чтобы я мог изучать и учиться, используя аппаратное обеспечение GPU).

Я верю, что все мое оборудование поддерживается (ЦП / 2xGPU дискретные / материнская плата с VT-D), но я не могу найти ясное руководство для своей цели: передача GPU в виртуальную машину Ubuntu.

Мои вопросы:

  1. Это работает? (Передача GPU с хоста Windows 10 на гостевую Ubuntu 18.04LTS)
  2. Существует ли ясный учебник/руководство по этому поводу?
  3. KVM или VirtualBox? (У меня есть смутное представление, что KVM, с которым я не имею опыта, является лучшим решением)

Буду признателен за любую другую помощь или отзывы.


Обновление: 31.05.2020

Я просто хотел прояснить, что я не использую эту среду для игр. Я в основном работаю на Windows 10, но хочу ускорить Matlab и Python внутри моего Linux-гостя с передачей GPU.

После дальнейшего изучения я не смог определить, есть ли у VirtualBox какое-либо решение для моего гостя/хоста. Вместо этого, может показаться, что VMware vSphere или Workstation-Player могут поддерживать передачу.

Согласно моим знаниям, передача GPU не может быть выполнена в VirtualBox, и я не уверен, можно ли это вообще сделать на Windows.

Существуют разные решения для вашей конкретной необходимости (одновременный запуск Windows и Ubuntu с доступом к GPU для каждой из них):
Виртуализация, но не из Windows. Проще настроить две параллельные системы, одну на Windows, а другую на Linux, из операционной системы, посвященной виртуализации, например, Unraid или Proxmox. Обе они используют KVM для этого. Вы также можете иметь не виртуализированный Linux и Windows в виртуальной машине, но это требует большего количества настроек. Это не то, что я бы рекомендовал вам, так как использование Linux у вас легкое.

Гораздо больше в соответствии с вашими первоначальными потребностями – WSL2. Подсистема Windows для Linux сегодня является лучшим решением для использования Linux внутри Windows и теперь способна использовать GPU.

Ответ или решение

Что такое KVM и почему он лучше для GPU-передачи на Ubuntu из Windows?

В свете необходимости использования Linux (Ubuntu 18.04 LTS) в качестве виртуальной машины (VM) на Windows 10, вы столкнулись с вопросов о передаче графического процессора (GPU) через виртуализацию. Давайте разберемся, что такое KVM, как он работает и почему это лучший выбор для ваших целей, связанных с GPU-пасстуру.

1. Что такое KVM?

KVM (Kernel-based Virtual Machine) — это решение виртуализации для систем на базе Linux, которое превращает операционную систему в гипервизор. Он использует возможности виртуализации процессоров (Intel VT-x или AMD-V) и позволяет эффективное управление отображением ресурсов физической машины для виртуальных машин.

2. Возможности передачи GPU с помощью KVM

Передача GPU (или GPU passthrough) — это техника, позволяющая виртуальной машине напрямую использовать физический графический процессор. Это позволяет значительно повысить производительность графических задач на хосте, передавая GPU на гость.

Ваши вопросы:

1. Работает ли это? (GPU passthrough Windows 10 Host → Ubuntu 18.04 LTS Guest)

Прямой GPU passthrough с хост-машины на Windows в Ubuntu через KVM не является тривиальной задачей и может не поддерживаться в соответствии с архитектурными ограничениями Windows. Тем не менее, если вы установите и настроите KVM на Linux (в качестве основного хоста), вы сможете передать один из ваших двух дискретных графических процессоров в Ubuntu VM.

2. Является ли существующий четкий учебник/руководство по этому вопросу?

Существуют множество онлайн-ресурсов и руководств по настройке GPU passthrough с использованием KVM:

  • Proxmox VE — это решение, основанное на KVM, которое упрощает настройку виртуальных машин и GPU passthrough.
  • UNRAID — еще одно решение, которое интегрирует KVM и предоставляет удобный интерфейс для настройки.
  • Официальная документация Ubuntu также содержит разделы по виртуализации и GPU passthrough.

Рекомендуется обратиться к гайдам на YouTube или форумам (например, Reddit или Stack Overflow) для получения дополнительных примеров, которые связаны с вашей конкретной аппаратной конфигурацией и целями использования.

3. KVM или VirtualBox?

Судя по вашим описаниям, KVM — более подходящий выбор для реализации вашей задачи, чем VirtualBox. VirtualBox не предоставляет функции GPU passthrough, и большинство пользователей не могут получить устойчивые результаты при виртуализации GPU. В то время как KVM, с поддержкой IOMMU (например, Intel VT-d), может обеспечить возможность передачи GPU, позволяя Linux использовать аппаратные ресурсы.

Заключение и рекомендации

Исходя из ваших целей использования Linux для ускорения задач MATLAB и Python, KVM становится логичным выбором. Я рекомендую изучить Proxmox VE или другой дистрибутив Linux, который поддерживает KVM, и настроить на нем вашу виртуальную среду.

Кроме этого, если ваши задачи в Linux не требуют высокой производительности GPU, возможно, стоит рассмотреть Microsoft WSL2 (Windows Subsystem for Linux 2), так как это решение предлагает выполнять Linux приложения внутри Windows без сложной настройки виртуализации и позволяет использовать GPU для задач машинного обучения и других вычислительных задач.

Если вы решите пойти по пути KVM и GPU passthrough, позаботьтесь о подготовке вашего оборудования и следуйте актуальным руководствам. Это даст возможность вам не только использовать необходимые ресурсы, но и поможет глубже освоить виртуализацию и Linux.

Оцените материал
Добавить комментарий

Капча загружается...