Помимо игры в Battlefield 1 и развлечений с VR-очками, установка отдельной видеокарты в сервер полезна при работе с графикой в виртуальной среде или для математических вычислений.  Использование GPU в серверной среде связано с некоторыми особенностями в каждом конкретном сценарии, поэтому разберем их подробнее. С появлением криптовалют и майнинга оказалось, что рассчитывать ключи шифрования на видеокартах получается быстрее, чем на обычных CPU.  Тому есть несколько причин: У видеокарты больше арифметическо-логических модулей, чем в центральном процессоре, что позволяет выполнять большее число параллельных задач; GPU обслуживается более производительной оперативной памятью; Сейчас математический обсчет на видеокартах используются не только для майнинга. Например, в корпоративном секторе есть более общие задачи: Обсчет некоторых бизнес-приложений (анализ Big Data); Графические задачи. Для массового создания изображений по 3D моделям удобнее использовать специальный сервер или рендер-ферму вместо компьютера дизайнера; В последние годы видеокарты все больше используют для обучения нейронных сетей, как подвариант работы с Big Data. Популярный фреймворк Caffe работает на инстансах Амазона с GPU на порядок быстрее CPU. При переносе работы с процессора на GPU сложность в том, что нельзя просто сказать операционной системе "считай-ка, дорогуша, на видеокарте". Для работы напрямую с математическим модулем видеокарты нужна поддержка в конкретном приложении. Сам принцип такой работы называется GPGPU (General-purpose computing for graphics processing units), поэтому стоит искать поддержку чего-то подобного в описании возможностей ПО.  Для работы приложений с математическим модулем видеокарты используются две технологии — CUDA и OpenCL: CUDA. Программно-аппаратная технология от NVIDIA. SDK предоставляет возможность разработки на диалекте языка C. NVIDIA выпускает как обычные видеокарты с интерфейсом PCI-E, так и серверную линейку Tesla. Есть и оптимизированные для блейд-серверов видеокарты с интерфейсом MXM; Экспериментальных сравнений производительности двух технологий можно найти немало. При работе с видеокартами AMD и NVIDIA примерно одного уровня, от использования OpenCL выигрывает AMD. Но если приложение разрабатывалось с поддержкой CUDA — лидирует уже NVIDIA. Поэтому выбор конкретной видеокарты обусловлен той архитектурой, которая была заложена в приложение. Кроме обработки сложных математических задач видеокарту можно использовать и более профильно – для работы с «тяжелыми» графическими приложениями. Терминальные серверы и тонкие клиенты давно ценятся за удобство обслуживания и независимость от клиентских машин. Последние годы набирает популярность инфраструктура виртуальных рабочих столов (VDI), предлагающая каждому пользователю собственную виртуальную машину в дата-центре. Если пересадить обычного офисного сотрудника на тонкий клиент не представляет особого труда и практически не сказывается на качестве работы, то отдельная категория стабильно вызывает головную боль – это дизайнеры, архитекторы и другие специалисты, использующие серьезные графические программы.   Решением проблемы может стать перевод требовательных пользователей на VDI вместо простого терминала. Потребуется гипервизор с поддержкой аппаратного ускорения графики. В 2016 году это умеют большинство гипервизоров, даже бесплатных. Процессор поддерживает аппаратную виртуализацию и IOMMU (Intel VT-d или AMD-Vi); Материнская плата поддерживает IOMMU; Если пользователей, желающих оценить плюсы отдельной графики, много, то можно приобрести специальные видеокарты с поддержкой разделения ресурсов.  Умеющие делить ресурсы модели есть у NVIDIA и AMD: Еще у VMware в ассортименте присутствуют видеокарты GRID K и GRID К2, не попавшие в таблицу, так как морально устарели. Поддержки карт с разделяемыми ресурсами пока что нет в бесплатных системах виртуализации. Если раньше XenServer всех редакций поддерживал работу "многопользовательской" карты, то теперь необходима редакция Enterprise. Для VMware понадобится редакция Enterprise Plus и выше. При разработке виртуальной среды с ускорением графики стоит обратить внимание не только на поддержку в гипервизоре, но и на совместимость с определенной моделью сервера. Совместимость видеокарт NVIDIA GRID с конкретными моделями серверов можно проверить на сайте NVIDIA. В частности, из серверов HPE сертифицирован для работы современной Tesla M60 только ProLiant DL380 Gen9. Эта же модель одобрена AMD. Для блейд-серверов у AMD и NVIDIA есть решение с интерфейсом MXM, которое характеристиками схоже с картами для обычных серверов.  Основным минусом технологии ускорения графики в виртуальной среде является цена. Одна видеокарта стоит около $3 000 долларов, что сравнимо со стоимостью целого сервера. Кроме того, для нового проекта потребуется лицензия на гипервизор и, скорее всего, сервер определенной модели (помним про совместимость). Кроме того, при выборе карт NVIDIA нужна еще и лицензия на драйвер. NVIDIA GRID позволяет использовать разделяемую видеокарту тремя способами: *SUMS (Support, Update and Maintenance Subscriptions) — поддержка и обновления от NVIDIA. **Для приобретения вечной лицензии необходимо приобрести SUMS хотя бы на первый год. Ценник на лицензии сам по себе не большой, но суммарно внедрение всего программно-аппаратного решения обойдется довольно дорого. Тем не менее, если в компании большая часть сотрудников работает с громоздкими графическими приложениями, внедрение VDI может быть дешевле, чем поддержка парка мощных компьютеров. Помимо математических расчетов и инфраструктуры мощных виртуальных машин с поддержкой графических приложений, можно использовать видеокарты и для игр. Например, создать облачный сервис для прохождения третьего ведьмака на высоких настройках на любом устройстве.  А использовали ли вы мощные дискретные видеокарты в серверах, как впечатления? Полезные ссылки по теме: Настройка NVIDIA GRID на Citrix XenServer Настройка NVIDIA GRID на VMware Видеокарты с поддержкой CUDA Реактивист-разработчик Android