Microsoft реализует в WSL графический сервер и ускорение вычислений на GPU

Компания Microsoft объявила о реализации значительных улучшений в подсистеме WSL (Windows Subsystem for Linux), обеспечивающей запуск исполняемых файлов Linux в Windows:

  • Добавлена поддержка запуска Linux-приложений с графическим интерфейсом, что позволяет отказаться от необходимости использования X-серверов других компаний. Поддержка реализована через виртуализацию доступа к GPU.

    Microsoft реализует в WSL графический сервер и ускорение вычислений на GPU

    Для ядра Linux подготовлен открытый драйвер dxgkrnl, предоставляющий устройство /dev/dxg с сервисами повторяющими WDDM D3DKMT ядра Windows. Драйвер организует соединение с физическим GPU при помощи VM bus. Linux приложения имеют тот же уровень доступ к GPU, что и родные приложения для Windows, без применения разделения ресурсов между Windows и Linux.

    Microsoft реализует в WSL графический сервер и ускорение вычислений на GPU

    Более того, для Linux предоставлена библиотека libd3d12.so, предоставляющая прямой доступ к графическому API Direct3D 12 и собранная из того же кода, что Windows-библиотека d3d12.dll. В форме библиотеки DxCore (libdxcore.so) также предоставлен упрощённый вариант API dxgi. Библиотки libd3d12.so и libdxcore.so являются проприетарными и поставляются только в бинарных сборках (монтируются в /usr/lib/wsl/lib), совместимых с Ubuntu, Debian, Fedora, Centos, SUSE и другими дистрибутивами на бащзе Glibc.

    Microsoft реализует в WSL графический сервер и ускорение вычислений на GPU

    Поддержка OpenGL в Mesa обеспечена через прослойку, транслирующую вызовы в API DirectX 12. Метод реализации API Vulkan пока на стадии планирования.

    Microsoft реализует в WSL графический сервер и ускорение вычислений на GPU

  • Добавлена поддержка компьютерных вычислений на видеокартах, которая позволяет использовать аппаратное ускорение для таких задач как машинное обучение и искусственный интеллект. На первом этапе в WSL-окружениях будет обеспечена поддержка CUDA и DirectML, работающим поверх API D3D12 API (например, в Linux-окружении можно запустить TensorFlow с бэкендом для DirectML). Поддержка OpenCL возможна через прослойку, выполняющую маппинг вызовов в API DX12.

    Microsoft реализует в WSL графический сервер и ускорение вычислений на GPU

  • Установка WSL вскоре будет поддерживаться с помощью простой команды «wsl.exe —install».

Источник: opennet.ru

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