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