Какие архитектурные решения и технологии используются для организации доступа к GPU для терминальных пользователей?

Здравствуйте! <br/> <br/> У кого есть опыт, прошу подробнее разъяснить следующий кейс: <br/> Мы планируем объединить проектировщиков CAD (для работы с 2D и 3D моделями и рендерингом) на одном физическом сервере. <br/> При дальнейшей проработке возникли следующие вопросы: <br/> <br/> 1) Почему обычная видеокарта не подойдет для виртуализации? Необходима ли поддержка архитектуры GPU Passthrough? Я слышал, что с ProxMox можно создать несколько виртуальных рабочих станций под Windows 11 и пробросить видеокарты, как в VDI, но тогда гибкое управление ресурсами будет затруднено. В случае установки Windows Server и запуска терминальных пользователей, не будет ли игнорироваться специализированная видеокарта, и прибегнут ли терминалы к использованию встроенного GPU? Могу ли я получить разъяснения по этому моменту? <br/> <br/> 2) Если я выберу терминальный вариант, насколько сложно будет реализовать видеогипервизор? Один из вариантов — использование специализированной карты Nvidia A6000 48Gb для терминальных пользователей. Есть ли у кого-то опыт работы с данной архитектурой и поддерживаемыми связками? <br/> <br/> С нетерпением жду ваших соображений и личного опыта. Заранее благодарю!
  • 1 октября 2024 г. 13:43
Ответы на вопрос 2
Здравствуйте!

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

### 1. Обычные видеокарты и виртуализация

Обычные видеокарты не всегда подходят для виртуализации по нескольким причинам:

- **Отсутствие поддержки GPU Passthrough**: Не все видеокарты поддерживают режим passthrough, который позволяет выделить GPU для конкретной виртуальной машины. Например, многие потребительские видеокарты могут иметь ограничения на поддержку виртуализации, что делает их непригодными для выполнения задач, требующих высокой производительности графики.

- **Лицензирование и функции**: Профессиональные видеокарты (например, NVIDIA Quadro или AMD Radeon Pro) предназначены для работы в виртуализированных средах и поддерживают специальные функции, такие как vGPU (виртуализированный GPU), которые позволяют делить GPU между несколькими виртуальными машинами. Это может быть важно для оптимизации ресурсов.

- **Windows Server и использование встроенного GPU**: Если вы используете Windows Server и не настраиваете поддержку специфических драйверов для вашей видеокарты, возможно, что сервер будет использовать встроенный GPU, если таковой имеется. Чтобы обеспечить использование специализированной видеокарты, необходимо корректно настроить виртуализацию и установить соответствующие драйвера.

### 2. Видеогипервизор и специализированные видеокарты

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

- **Vidas**: vGPU технологии от NVIDIA, такие как vGPU и NVIDIA GRID, позволяют нескольким пользователям совместно использовать один GPU. Это может быть отличным решением для вашей задачи, так как вы можете использовать специализированную видеокарту, такую как NVIDIA A6000, чтобы обеспечить все требуемые ресурсы для пользователей CAD.

- **Специальное программное обеспечение и драйвера**: Вы будете нуждаться в сопутствующем программном обеспечении (например, NVIDIA vGPU Manager) для управления распределением ресурсов и поддержания их производительности. Это может потребовать дополнительных усилий на этапе настройки.

Если вы рассматриваете более гибкое управление ресурсами, то NVIDIA A6000 будет хорошим вариантом, так как обладая большой памятью и высокой производительностью, она прекрасно подходит для задач CAD и рендеринга.

### Общие рекомендации

1. **Тестирование**: Перед покупкой оборудования рекомендую протестировать инфраструктуру с использованием виртуализации GPU. Некоторые провайдеры облачных услуг предлагают тестовые образцы для подобных решений.

2. **Консультации с профессионалами**: Обсуждение с экспертами по виртуализации и графическому оборудованию может помочь выбрать оптимальную архитектуру и технологии для вашего кейса.

3. **Регулярное обновление**: Следите за обновлениями от производителей программного обеспечения и оборудования, так как технологии постоянно развиваются, и выходят новые решения для виртуализации GPU.

Я надеюсь, что эта информация поможет вам в реализации вашего проекта. Если у вас есть дополнительные вопросы, не стесняйтесь обращаться!
что проссто так виртуальные прослойки не дадут использовать бытовую карточку или карточка должна поддерживать архитектуру GPU Passthrough

Не совсем верно. Бытовые карточки часто можно использовать, если драйвера для операционной системы внутри гостевой ВМ поддерживают это, сейчас нвидия вроде бы без ограничений разрешает проброс карточки в гостевую виртуалку (раньшедрайвера отслеживали это и отказывались запускаться, гуглите знаменитый Code 43). Некоторые бытовые карточки настраивать геморно, нужно пробрасывать ROM видяхи на гипервизоре. Нужно искать информацию по конкретным моделям каротчек. У AMD проблемы с тем, что драйвера в гостевой ОС некорректно обрабатывают перезагрузку ВМ, для этого умные люди даже написали костыль vendor-reset для некоторых моделей карточек.

Но бытовые карточки конечно получится пробросить только целиком. Если вы хотите купить одну карточку и пробрасывать в несколько гостевых ВМ, вам нужна карта с поддержкой спеки SR-IOV , например у AMD эта спека реализована в виде технологии MxGPU. Поддерживается она в некоторых прошных карточках, например в некоторых картах из серии FirePro , стоят они соответствующих денег. У нвидии это вроде называется Multi-instance GPU , подробно не исследовал этот вопрос.

Я пользуюсь проброшенной целиком бытовой карточкой от AMD.
Похожие вопросы