Nvidia virtual host controller interface driver что это
В мае этого года NVIDIA представила миру новую архитектуру Ampere и первенца на её основе, чип A100. Одной из возможностей новинки является улучшенная виртуализация — один ускоритель можно разбить несколько разделов, что может быть полезно в массе сценариев. Можно наоборот, объединить несколько GPU в рамках одной ВМ. Свежий релиз NVIDIA Virtual Compute Server (vCS) упрощает работу с этими функциями.
Виртуализация — явление не новое, но полноценные виртуальные рабочие места с поддержкой различных ускорителей стали появляться сравнительно недавно. Задач и сценариев, где можно использовать виртуальный графический процессор в качестве вычислительного ресурса, немало — это и автоматизированное проектирование (CAD/CAM), и обработка «тяжёлого» фото- и видеоконтента, и обработка массивов медицинских данных, и бизнес-аналитика, и многое другое. Сложность и ресурсоёмкость задач постоянно растёт, а особенно востребованной технология vGPU становится сейчас, когда день ото дня увеличивается количество удалённых рабочих мест.
Такие места либо не всегда возможно снабдить ускорителями класса Tesla, либо мощности, развиваемой одной-двумя платами, может оказаться недостаточно, поэтому NVIDIA продолжает активно продвигать решение по виртуализации ГП под названием Virtual Compute Server (vCS) . Такой подход позволяет при необходимости легко наращивать мощность вычислительного пула, обеспечивая при этом удобные средства управления и контроля.
Последняя архитектура NVIDIA под кодовым названием Ampere особенно хорошо проявляет себя в задачах машинного обучения и аналитики больших объёмов данных. Причина этому — наличие в составе новых графических процессоров блоков целочисленных вычислений (INT32) и блоков тензорных вычислений третьего поколения. Теперь вся эта мощь может использоваться и в рамках vCS .
Отныне ЦОД, использующие стандартные гипервизорные платформы вроде VMware vSphere или KVM, могут использовать все преимущества ускорителей A100, причём сентябрьское обновление ПО NVIDIA получило ряд полезных нововведений. Среди них — поддержка множественных инстансов: каждый ускоритель теперь может быть разделен на изолированные разделы (Multi-Instance GPU, MIG), запускающие разные задачи разных пользователей. Таких разделов может быть до 7, и каждый будет работать в собственной виртуальной машине.
Появилась гетерогенность: вышеупомянутые инстансы могут иметь разную «величину». Также реализована поддержка GPUDirect RDMA, прямого доступа сетевых устройств к памяти GPU в обход CPU и системной памяти, что позволит разгрузить центральные процессоры серверов виртуализации. Сертифицированные серверы такого класса, оснащаемые новейшими ускорителями A100, уже доступны от партнёров NVIDIA. А на конференции GPU Technology Conference, которая стартует 5 октября , NVIDIA собирается рассказать о технологии Virtual Compute Server более подробно.
Первая версия продукта NVIDIA появилась ещё год назад под именем vComputeServer, однако его впоследствии пришлось поменять, так как оказалось, что торговая марка «vCompute» давно принадлежит компании Virtual Compute. Последняя две недели назад подала иск к NVIDIA в связи с тем, что такая схожесть имён мешает бизнесу компании — в Google ссылки на её сервисы теперь даже не попадают на первую страницу поисковой выдачи. Virtual Compute просит суд запретить NVIDIA использовать любые похожие имена, уничтожить все материалы с их упоминанием, а также компенсировать ущерб.
Объемы данных, накапливаемых в мире, растут, поэтому появляются все новые способы их обработки. Один из способов повышения скорости вычислений – совместное использование центрального (CPU) и графического процессора (GPU). Вычисления с GPU-ускорением были придуманы еще в 2007 году компанией Nvidia, но теперь технология вышла на новый уровень и применяется в дата-центрах крупнейших научных лабораторий и предприятий.
Мы уже затрагивали тему виртуализации в своем блоге, когда говорили о том, как и кем используется виртуальная инфраструктура. Сегодня нам бы хотелось рассказать вам, как работают виртуальные графические процессоры и какие GPU-технологии существуют на рынке.
Вычисления на GPU используются не только в компьютерных играх и при работе с видеоконтентом. Например, NASA, по заявлению одного из ученых-метеорологов, использует GPU в моделях GEOS-5 для увеличения эффективности численного моделирования атмосферных явлений. Это позволяет повысить доступность системы для большего числа людей, гарантируя разрешение 100–200 км/пиксель.
Вычисления с GPU-ускорением применяются и в бизнес-аналитике. Так, по словам старшего научного сотрудника HP Labs Рена Ву (Ren Wu), GPU позволили увеличить производительность используемых аналитических систем в 5–20 раз.
Сравнение центрального и графического процессоров
Архитектуры CPU и GPU изначально «заточены» под решение разных задач. Центральный процессор решает задачи общего назначения: исполнение набора последовательных инструкций, управление периферийными устройствами и так далее, поэтому обычно он содержит от 2 до 18 ядер, имеющих сложную структуру.
GPU же изначально проектировался для работы с графикой, потому состоит из большего числа энергоэффективных ядер, способных обрабатывать до нескольких тысяч потоков одновременно. При этом на GPU выполняется лишь часть самых ресурсоемких вычислений, а остальное отдается CPU.
Использование подобного рода вычислений актуально в научной сфере, поэтому для выполнения объемных научных расчетов создаются суперкомпьютеры, «начиненные» GPU. Однако несмотря на все преимущества подобного рода вычислений, закупка физического оборудования выливается в серьезные денежные траты. Более того, «железо» имеет тенденцию к устареванию, потому его приходится регулярно обновлять.
Технология vGPU
Эти проблемы призвана решить технология виртуальных графических процессоров (vGPU), представленная Nvidia, которая дает пользователям возможность удаленно запускать графикоемкие приложения. Здесь стоит отметить, что до появления vGPU применялись другие методы ускорения обработки графики:
-
Virtual Shared Graphics Acceleration (vSGA) – предполагает совместное использование разными виртуальными рабочими столами физических GPU.
Но технология vGPU находит применение в самых разных сферах: архитекторы и инженеры используют её в системах автоматизированного проектирования (например в Autodesk BIM), а дизайнеры работают с цифровым фото- и видеоконтентом (например в Adobe Photoshop). Она также применяется работниками из сферы здравоохранения, которые пользуются системами передачи и архивации медицинских изображений и документов обследованных пациентов (PACS), такими как GE Centricity EMR.
Стоит отметить, что до недавних пор невозможно было организовать доступ множества пользователей к одному GPU. Если 32 человека хотели обратиться к чертежам в AutoCAD со своих ВМ, то приходилось приобретать 8 дорогих видеокарт с 4 GPU. Эту проблему решила технология Nvidia GRID. Её суть заключается в совместном использовании vGPU несколькими виртуальными десктопами, к которым предоставляется прямой доступ с помощью драйверов Nvidia.
Фактически последняя версия Nvidia GRID 2.0 позволяет перенести всю работу в виртуальное пространство. Обновленная технология поддерживает до 128 пользователей на сервере и значительно увеличивает производительность приложений. Также GRID 2.0 позволяет запускать виртуальные десктопы на блейд-серверах и поддерживает не только ОС Windows, но и Linux.
Настройка режима vGPU для карт Nvidia в VMware vSphere 6
/ фото ChrisDag CC
Компания VMware ввела функцию виртуальных GPU в обновлении своей платформы виртуализации vSphere 6.0. Технология vGPU от Nvidia при использовании с продуктами VMware подразумевает использование в качестве платформы VMware vSphere 6, а в качестве средства управления виртуальными ПК – VMware Horizon 6.
vGPU поддерживается для графических адаптеров Nvidia GRID K1 и K2, для каждого из которых определены 4 профиля использования ресурсов видеокарты. Вот таблица их вариантов:
В данной таблице приведены три типа пользователей:
- Дизайнер – человек, который использует «жадные» до графических ресурсов приложения (сюда относятся и пользователи CAD-приложений).
- Продвинутый пользователь – человек, использующий подобные приложения время от времени.
- Информационный работник – пользователь, слабо использующий ресурсы видеокарты.
- VMware vCenter 6.0,
- VMware ESXi 6.0,
- VMware Horizon View 6.1,
- Nvidia GRID vGPU Manager.
- CPU Performance: установить Enterprise или High Throughput.
- Energy Performance: выбрать пункт Performance.
- PCI Configuration: выставить MMCFG BASE в 2 GB и отключить Memory Mapped I/O above 4GB.
- VGA Priority: выставить в Onboard VGA Primary.
После того как Nvidia vGPU Manager настроен на хост-серверах ESXi, нам нужно подготовить виртуальные машины. Это делается через vSphere Web Client, где выбираются аппаратные характеристики ВМ в зависимости от типа рабочей нагрузки.
Затем в настройках ВМ нужно добавить Shared PCI Device, а также выбрать тип Nvidia GRID vGPU и профиль в соответствии с приведенной выше таблицей. После этого можно устанавливать гостевую ОС (Windows 7 и более поздние версии).
Теперь остается установить драйвер Nvidia GRID и настроить пул виртуальных ПК в VMware Horizon View: просто указываем протокол PCoIP и тип 3D-рендера Nvidia GRID VGPU. На этом все. Виртуальные машины готовы к работе с vGPU.
P.S. Интересные материалы из нашего блога по теме виртуализации:
За июнь-июль к нам обратилось почти два десятка компаний, интересовавшихся возможностями виртуальных GPU. «Графикой» от Cloud4Y уже пользуется одна из крупных «дочек» Сбербанка, но в целом услуга не слишком популярная. Так что подобная активность нас весьма порадовала. Видя рост интереса к технологии, мы решили чуть подробнее рассказать про vGPU.
«Озёра данных», полученные в результате научных экспериментов и исследований, Deep Learning и другие направления работы с ИИ, моделирование крупных и сложных объектов — всё это требует высокопроизводительного «железа». Хорошо, если оно есть и позволяет быстро решать текущие задачи. Вот только из-за возрастающей вычислительной сложности задач (в первую очередь касается для бизнес-аналитики, рендеринга, DL-алгоритмов и фреймворков) аппаратные мощности настольных и даже серверных CPU всё чаще становятся бесполезны.
Выход был найден в использовании вычислений на GPU. Эта технология ускорения графики обеспечивает разделение ресурсов одного графического процессора между несколькими виртуальными компьютерами. GPU изначально проектировался для работы с графикой, потому состоит из тысячи мелких ядер, используемых для эффективной обработки параллельных задач. При этом на GPU выполняется часть самых ресурсоемких вычислений, остальное берёт на себя CPU.
Вычисления с помощью GPU придумала компания Nvidia ещё в 2007 году. Сегодня эта технология вышла на новый уровень и применяется в ЦОДах крупнейших предприятий и научных лабораторий. Однако у традиционного подхода есть один весомый недостаток: закупка физического оборудования обходится весьма недёшево. А если вспомнить скорость устаревания «железа», то становится ещё грустнее.
Проблему призвана решить технология виртуальных графических процессоров: vGPU. С её помощью пользователи могут удалённо запускать тяжёлые приложения вроде AutoCAD, 3DS Max, Maya, Sony Vegas Pro. Виртуализация быстро отвоевала свою долю рынка. Ведь какой русский data-scientist не любит быстрых вычислений на видеокартах NVidia Tesla?
Здесь стоит отметить, что до появления vGPU использовались другие методы ускорения обработки графики: Virtual Shared Graphics Acceleration (vSGA) и Virtual Dedicated Graphics Acceleration (vDGA). Решение vGPU объединило лучшее из обеих технологий. Как и в случае vSGA, в среде vGPU предполагается совместное использование GPU и RAM несколькими виртуальными рабочими столами, но при этом каждая ВМ передаёт команды напрямую к GPU, как в случае с vDGA.
Зачем вообще нужны vGPU
Облачные вычисления с использованием vGPU позволяют компаниям справляться с задачами, которые раньше невозможно было решить. Или возможно, но для этого требовалось нереально много ресурсов. 1 современный GPU-сервер способен заменить до 100 обычных CPU. Есть и другие, ещё более внушительные цифры. Это не шутки: решения Nvidia обрабатывают петабайты данных в несколько раз быстрее классических CPU-серверов. А тот же Google Cloud предлагает виртуальные машины с GPU, выдающие до 960 терафлопс.
Многие специалисты нуждаются в мощных устройствах, способных выполнять параллельные вычисления. Архитекторы и инженеры используют технологию vGPU в системах проектирования (тот же Autodesk, к примеру). Дизайнеры работают с цифровым фото- и видеоконтентом (Photoshop, CorelDraw). Виртуальные машины с графическими процессорами требуются и медицинским учреждениям, которые аккумулируют и анализируют данных о пациентах и заболеваниях. Работает с GPU и «Яндекс».
При всём при этом решения на базе vGPU пока что не получили широкого распространения в мире. Так, в 2018 году NetApp провёл опрос среди компаний, использующих в работе графические процессоры. Результаты показали, что 60% организаций по-прежнему работают на собственной ИТ-инфраструктуре. «Облаком» же пользуются лишь 23%. В России проникновение технологии облачных вычислений имеет меньшее значение. Но благодаря новым аппаратным и программным решениям число компаний, использующих виртуальные машины с GPU, постоянно растёт.
Решения для vGPU
Разработкой технологий виртуализации графических ускорителей занимается много компаний, но среди них есть безусловные лидеры.
Один из наиболее авторитетных разработчиков решений в сфере облачных решений, компания VMware предлагает компаниям гипервизор ESXi, под которым скорость работы виртуальных графических процессоров сопоставима с реализациями на голом железе. В недавнем обновлении разработчик отключил балансировщик нагрузки vMotion и добавил поддержку технологии DirectPath I/O, которая связывает драйвер CUDA с ВМ в обход гипервизора и ускоряет передачу данных.
Nvidia тоже старается соответствовать ожиданиям рынка, и для этого выпустила opensource-платформу Rapids. Решение объединяет несколько библиотек для работы с архитектурой CUDA, что упрощает работу с данными во время тренировки нейросетей и позволяет автоматизировать работу с Python-кодом. Использование Rapids с алгоритмом машинного обучения XGBoost даёт 50-кратное увеличение производительности по сравнению с системами на базе CPU.
Своя технология есть и у AMD. Платформа называется ROCm. Она использует технологию SR-IOV, которая делит аппаратные возможности физического устройства между несколькими виртуальными машинами. Ресурсы одного ускорителя можно разделить между шестнадцатью пользователями, поддерживая равную производительность для каждого из них. Таким образом ускоряется передача данных между облачными CPU и GPU. Также используется специальный диалект C++ под названием HIP, который упрощает выполнение математических операций на GPU.
Intel строит свою технологию базе кросс-платформенного гипервизора Citrix XenServer 7, который в 2017 году получил сертификат соответствия ФСТЭК. Решение объединяет работу стандартного GPU-драйвера и виртуальной машины. То есть «виртуалка» может поддерживать работу тяжёлых приложений на устройствах большого (несколько сотен) количества пользователей.
Рыночные перспективы
Независимые аналитики считают, что объём продаж решений для HPC-систем достигнет 45 млрд долларов к 2022 году. Разработчики платформ также ожидают увеличения спроса на высокопроизводительные системы. Это ожидание подкрепляется популярностью Big Data и часто возникающей необходимостью обрабатывать крупные объёмы данных.
Также рост спроса на vGPU может стимулировать развитие гибридных технологий, объединяющих GPU и CPU в одном устройстве. В таких интегрированных решениях два вида ядер используют общий кэш, что ускоряет перенос данных между графическими и традиционными процессорами.
Гибриды в корне изменили подход к виртуализации и распределению виртуальных ресурсов в рамках дата-центров. А решения с открытым исходным кодом наподобие ROCm и Rapids позволяют операторам ЦОД эффективнее использовать вычислительные ресурсы, повышая производительность оборудования.
Есть и другое мнение. Например, что виртуальные GPU будут вытеснены оптическими чипами с фотонным кодированием данных. Такие решения уже существуют и используются для машинного обучения. Более того, они кажутся производительнее обычного GPU. Но технология ещё сыровата.
Какой можно сделать вывод? Несмотря на возможное появление аналогов, vGPU — вполне перспективное направление, способное решать большое количество задач. Но подходит оно не всем. Так что запятую в заголовке можете поставить сами.
P.S.
Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью! Пишем не чаще двух раз в неделю и только по делу.
Довольно давно я знаком с гипервизором от компании Microsoft под названием Hyper-V. Надо отметить, что данный гипервизор с каждым следующим поколением серверной платформы Windows Server становится всё более функциональным и интуитивно понятным для администрирования. В PowerShell добавляются новые командлеты, позволяющие легко управлять гипервизором. Появляется отличная возможность реализовывать с помощью скриптов даже такие необходимые задачи, как резервное копирование виртуальных машин и создание снапшотов по расписанию в планировщике без использования сторонних и довольно дорогостоящих программ. Администрировать Hyper-V легко, производительность гипервизора не вызывает нареканий, постоянно растет список операционных систем, имеющих либо установленные службы интеграции с гипервизором, либо имеющих возможность установить такие службы, либо поддерживающих Hyper-V благодаря модулям ядра. Еще совсем недавно состоялся релиз FreeBSD 10.0, первой из BSD систем, которая легко и непринужденно устанавливалась в качестве гостевой на гипервизор от Microsoft, и которая избавилась от детских болячек, вроде ограниченного размера виртуального жесткого диска и возможности использования только устаревшего сетевого адаптера (legacy или эмулированного), чья скорость не может превышать 100мбит/сек, в то время как физический сетевой адаптер является гигабитным. В общем, как может показаться, тенденция к улучшению имеет ну очень положительную динамику. Именно поэтому изначально мы занялись поиском ответа на вопрос, о том, существует ли возможность использования физической видеокарты в гостевой операционной системе Hyper-V. Ответ, как нам казалось тогда, не заставил себя долго ждать и уже через 5 минут, судя по статьям в интернете, мы были уверены, что такая возможность существует и, более того, она качественно реализована разработчиками Hyper-V. Как оказалось, мы жестоко ошибались, но обо всем по порядку.
Microsoft предложила в качестве решения технологию RemoteFX, которую изначально разрабатывала компания Calista Technologies, которая в последствии была приобретена Microsoft. Сама технология имеет очень весомые аппаратные требования как к серверу виртуализации, так и к видеокарте, которая в дальнейшем будет использоваться гостевой операционной системой посредством этой технологии. Требования заключаются в том, что сам сервер должен иметь CPU с поддержкой SLAT (EPT on Intel, NPT/RVI on AMD), а вот с GPU все еще веселее. Вот собственно требования и рекомендации, озвученные самими Microsoft:
Rank | NVIDIA | AMD |
---|---|---|
Best | NVIDIA Grid 1. Grid K1 2. Grid K2 | AMD FirePro series 1. AMD FirePro S10000 2. AMD FirePro S9000 3. AMD FirePro S7000 |
Better | NVIDIA Quadro 1. Quadro K6000 2. Quadro K5000 | AMD FirePro series 1. AMD FirePro V9800P 2. ATI FirePro V9800 |
Good | AMD FirePro series 1. ATI FirePro V8800 2. ATI FirePro V7800 3. AMD FirePro V7800P 4. ATI FirePro V5800 |
На просторах всемирной сети есть немало руководств по развертыванию RemoteFX на Windows Server. Однако о качественном применении почти ни в одной из этих статей речи не идёт, а в основном статья имеет такой законченный смысл «Поднял, поковырялся, вроде работает, вроде даже шевелится побыстрее, вроде даже нагрузку на центральный процессор снизили. Для чего делал? Черт его знает».
Так вот, я хочу рассказать вам о нашем опыте поиска решения задачи по расширению возможностей виртуальных машин в обработке 3D-графики. Перед нами стояла довольно чётко обрисованная задача. Нам нужно было сделать так, чтобы пользователи удаленных рабочих столов терминального сервера, развернутого на платформе Windows Server 2012 R2, смогли как минимум качественно просматривать различные 3D чертежи и сборки в специализированных viewer-ах, а как максимум и сами могли нет-нет, да и запустить различные CAD программы.
Первоначальной идеей стало развертывание RemoteFX на Windows Server 2012R2. Сказано – сделано. В наличии имелась серверная платформа DELL PowerEdge R720, оснащенный двумя процессорами Intel Xeon CPU E5-2670 v2 @ 2.50GHz поддерживающими SLAT, а также вычислительный графический модуль NVIDIA GRID K2. На сервер была установлена операционная система Windows Server 2012R2 standard с графической оболочкой, была развернута служба Hyper-V и настроен RemoteFX. На самом деле, тогда мы думали, что это окончательное решение и технология RemoteFX нас полностью устроит. Однако, в дальнейшем мы узнали, что Microsoft накладывает на технологию и существенные программные требования, что в качестве гостевой операционной системы, способной использовать трехмерный графический адаптер RemoteFX, могут выступать только операционные системы Windows 7 и 8 и только в редакциях Ultimate и Enterprise. Не совсем справедливо конечно, учитывая то, что сам гипервизор по заявлениям своих разработчиков поддерживает уйму других операционных систем.
Стало понятно, что наша цель использовать графический адаптер в виртуальном терминальном сервере, который развернут на Windows Server 2012R2, останется неосуществимой. Ладно, работаем с тем, что есть. Так что-же у нас есть? Совсем немного. Всего-то возможность установки в качестве гостевой операционной системы Windows 7-8 Ultimate-Enterprise с возможностью подключения к ним только одного пользователя. И даже распрекрасная библиотека RDP Wrapper не в состоянии решить этой проблемы. К тому-же, как нам стало известно по результатам производительности, трехмерный графический адаптер RemoteFX практически не умеет работать с таким API, как OpenGL, который используют большинство CAD программ, а вместо этого поддерживает полностью только проприетарную разработку Microsoft только для Windows – Direct3D. Об этом совсем скромно-скромно заявляют лишь две строчки в описании технологии RemoteFX на сайте Microsoft:
«Support in Windows Server 2012 R2 is provided for DX 11.0, DirectCompute, and C++ AMP. Most of the latest graphics cards will support OpenGL 4.0 and OpenCL 1.1 or later, but these APIs are currently unsupported by RemoteFX in Windows Server 2012 R2.»
Что это, проприетарная разработка для поддержания возможности развертывания терминального сервера на основе виртуальных машин, предложенной в последнем поколении Windows Server? Сложно ответить на этот вопрос. Однако, ясно только одно, технология RemoteFX неприменима для решения поставленной перед нами задачи, особенно ввиду чрезмерно завышенных аппаратных и программных требований к платформе, серверу и гостевым операционным системам. Все эти требования мы, конечно, готовы удовлетворить, но получить в результате готовое решение с крайне сомнительным функционалом – это расточительство.
Именно поэтому поиск не прекратился и, к своему стыду, мы первый раз обратили внимание на то, что пишет сама NVIDIA, о разработанном им графическом вычислительном модуле и его применении. Подробнее можно прочесть здесь, а если коротко, то NVIDIA создала технологию NVIDIA GRID vGPU, благодаря которой графические команды каждой виртуальной машины передаются напрямую в GPU, без трансляции гипервизором. Один физический графический модуль, благодаря драйверу, имеет несколько профилей виртуального GPU c различным количеством ядер и дискретной графической памяти. Вот таблица доступных виртуальных профилей для графических плат NVIDIA GRID:
Графическая плата NVIDIA GRID | Профиль виртуального GPU | Графическая память | Максимальное число дисплеев на пользователя | Максимальное разрешение дисплея | Максимальное число пользователей на графическую плату |
---|---|---|---|---|---|
GRID K2 | K280Q K260Q K240Q K220Q | 4ГБ 2ГБ 1ГБ 512МБ | 4 4 2 2 | 2560x1600 2560x1600 2560x1600 2560x1600 | 2 4 8 16 |
GRID K1 | K180Q K160Q K140Q K120Q | 4ГБ 2ГБ 1ГБ 512МБ | 4 2 2 2 | 2560x1600 2560x1600 2560x1600 2560x1600 | 4 8 16 32 |
Всё предельно просто и прекрасно. Драйвер имеет возможность выделять из аппаратной платформы платы виртуальные профили, отличающиеся друг от друга количеством графических ядер и памяти, которые могут стать аналогом физической видеокарты в виртуальной машине. В то время, как технология RemoteFX – всего лишь программная прослойка между виртуальной машиной и реальной графической платой, которая выборочно передает на обработку ту или иную графику. Зачем тогда Microsoft рекомендует к использованию графическую плату, чей функционал в полной мере не поддерживается возможностями их гипервизора? Зачем рекомендовать эту плату к использованию, если гипервизор, написанный ими, не идет по пути развития концепции, предложенной производителями графической платы? Не понятно. Однако, надо отметить, что в описании самой технологии NVIDIA GRID VGPU на сайте NVIDIA, не говорится ни слова (и слава богу) о гипервизоре Microsoft, а вместо этого упоминаются такие разработчики, как VMware c vSphere и Citrix со своим XenServer.
Чтобы оценить качество работы виртуальных графических профилей, в качестве гостевой была установлена операционная система Windows 8.1_x64_Enterprise, в настройках виртуальной машины поочередно добавлялись первые три профиля (K280Q, K260Q, K240Q), которые считаются максимально производительными в порядке убывания, и с каждым графическим профилем было запущено по 4 бенчмарка, тестирующих производительность 3D графики с использованием API OpenGL и Direct3D. Чтобы сравнение не казалось чрезмерно-абстрактным, было принято решение сравнить результаты бенчмарков, запущенных на ВМ, с результатами этих же бенчмарков запущенных на физической машине, имеющей схожие характеристики. Коротко о технических характеристиках виртуальной и физической машины можно узнать из таблицы представленной ниже.
ОС | ЦП | ОЗУ | Видеоадаптер | |
---|---|---|---|---|
ФМ | Windows 8.1 x64 Enterprise | Inter Core(TM) CPU i5-4670 @ 3.40GHz | 12ГБ | Nvidia GeForce GTX 650 |
ВМ | Windows 8.1 x64 Enterprise | Inter Xeon CPU E5-2670 v2 @ 2.50GHz | 12ГБ | Nvidia GRID VGPU K280Q || K260Q || K240Q. |
В таблицах с результатами работы бенчмарков я буду указывать только название графического адаптера.
Итак, первым бенчмарком будет SPECviewperf 12.0.2, который многими специалистами почитается как эталонный бенчмарк для тестирования графики различных CAD программ. Кому интересно, подробнее тут. Результаты в таблице ниже. Разрешение окна везде 1900x1060 (по умолчанию в бенчмарке).
Тест | GTX 650 | K280Q | K260Q | K240Q |
---|---|---|---|---|
Catia-04 | 9.06 | 17.16 | 31.83 | 12.14 |
Creo-01 | 9.21 | 17.85 | 34.41 | 17.72 |
Energy-01 | 0.43 | 0.72 | 0.74 | 0.18 |
Maya-04 | 22.45 | 6.14 | 13.99 | 2.85 |
Medical-01 | 6.18 | 15.17 | 18.76 | 15.38 |
Showcase-01 | 14.99 | 11.14 | 32.80 | 10.84 |
Snx-02 | 2.07 | 18.31 | 34.80 | 18.41 |
SolidWorks-03 | 20.56 | 19.02 | 38.14 | 20.79 |
Все результаты выкладываю как есть. Немного смутило меня, что профиль K260Q по идее должен быть «слабее», чем K280Q, однако показал более выдающиеся результаты. Перепроверил, запустив тест еще раз на обоих профилях и пришел к выводу, что показания стабильные (не рандомные) и хоть и отличаются от первоначальных, но в разумных пределах 0.2-0.4.
Подводя итоги скажу, что все используемые в нашей компании CAD программы и иной софт успешно устанавливаются и запускаются на виртуальных машинах. Осталось дать поработать с удаленным рабочим столом специалисту, использующему эти программы и пусть он вынесет окончательный вердикт о возможности использования этого решения. Также хочу подчеркнуть, что писал эту статью вовсе не от безделья, а именно потому что, когда сам искал решение поставленной передо отделом ИТ задачи, не увидел подобных статей, полностью раскрывающих различия разных технологий проброса возможностей графической платы в виртуальную машину, не увидел статей, в которых описано качественное применение данных технологий.
Надеюсь, опыт нашего отдела ИТ кому-нибудь пригодится. Благодарю за внимание.
Приветствую. Каждая видеокарта способа воспроизводить картинку на экран — это ее главная задача. Геймерские — позволяют комфортно играть на высоких настройках. Но не все знают — некоторые могут воспроизводить и звук. Данную возможность обеспечивает интерфейс HDMI.
Разбираемся
NVIDIA Virtual Audio Device (Wave Extensible) (WDM) — драйвер для работы встроенного звукового контроллера видеокарты.
Видеокарта может выводить сигнал по кабелю HDMI, который поддерживает передачу не только видео, но и аудио сигнала. Другими словами — теоритически видеокарта может выполнять роль аудиокарты.
Сам аудиочип может быть фирмы Realtek (производитель огромного количества звуковых/сетевых чипов).
После установки дров напротив устройства в диспетчере может быть восклицательный знак. После перезагрузки должен исчезнуть.
Файл драйвера — nvvad64v.sys.
Фирменный мастер установки NVIDIA, который устанавливаем необходимые графические драйвера, в том числе и для HDMI.
High Definition Multimedia Interface (HDMI) — интерфейс передачи мультимедийных данных — видео с высоким разрешением, многоканальное аудио. Поддерживается защита от копирования High-Bandwidth Digital Content Protection (HDCP).
При установленном драйвере может не работать встроенная/внешняя звуковая карта
- Посмотреть настройки в фирменном софте в видеокарте, в биосе — возможно будет опция отключения звука в видеокарте.
- Отключить в диспетчере устройств.
- Переустановить драйвера.
Иногда причина странных проблем/ошибок без видимых причин — некачественный кабель HDMI.
Устройство NVIDIA HDMI Out установлено корректно. Out переводится как вывод. Расположение настроек — Панель управления > значок Звук > вкладка Воспроизведение.
Устройство не установлено либо отсутствуют необходимые драйвера (устройств может быть несколько).
В теории касается не только видеокарт. Современные материнские платы часто содержат не только видеовыход DVI, но и HDMI — поэтому наличие устройства возможно даже без внешней видеокарты.
Читайте также: