Вопрос или проблема
У меня Windows 10 с виртуальной машиной Ubuntu 18.04LTS в VirtualBox. Я не опытен в виртуальных машинах, но мне нужен Linux (для личного использования), поэтому я думал, что VirtualBox – единственное решение.
У меня есть две дискретные видеокарты, и я хочу передать одну из них в виртуальную машину Ubuntu (также для того, чтобы мое приложение могло использовать это и чтобы я мог изучать и учиться, используя аппаратное обеспечение GPU).
Я верю, что все мое оборудование поддерживается (ЦП / 2xGPU дискретные / материнская плата с VT-D), но я не могу найти ясное руководство для своей цели: передача GPU в виртуальную машину Ubuntu.
Мои вопросы:
- Это работает? (Передача GPU с хоста Windows 10 на гостевую Ubuntu 18.04LTS)
- Существует ли ясный учебник/руководство по этому поводу?
- 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.