Udostępnij za pośrednictwem


Przyspieszanie procesora GPU w kontenerach systemu Windows

W przypadku wielu konteneryzowanych obciążeń zasoby obliczeniowe procesora CPU zapewniają wystarczającą wydajność. Jednak w przypadku określonej klasy obciążenia moc obliczeniowa masowo równoległa oferowana przez procesory GPU (jednostki przetwarzania graficznego) może przyspieszyć operacje według rzędów wielkości, obniżając koszty i zwiększając przepływność ogromnie.

Procesory GPU są już typowym narzędziem dla wielu popularnych obciążeń, od tradycyjnego renderowania i symulacji po trenowanie i wnioskowanie uczenia maszynowego. Kontenery systemu Windows obsługują przyspieszanie procesora GPU dla środowiska DirectX i wszystkie struktury utworzone na jego podstawie.

Notatka

Ta funkcja jest dostępna w programie Docker Desktop w wersji 2.1 i docker Engine — Enterprise, w wersji 19.03 lub nowszej.

Warunki wstępne

Aby ta funkcja działała, środowisko musi spełniać następujące wymagania:

  • Host kontenera musi mieć system Windows Server 2019 lub Windows 10 w wersji 1809 lub nowszej.
  • Obraz podstawowy kontenera musi być mcr.microsoft.com/windows:1809 lub nowszy. Obrazy kontenerów systemu Windows Server Core i Nano Server nie są obecnie obsługiwane.
  • Host kontenera musi mieć uruchomiony Docker Engine w wersji 19.03 lub nowszej.
  • Host kontenera musi mieć procesor GPU z uruchomionymi sterownikami wyświetlania w wersji WDDM 2.5 lub nowszej.

Aby sprawdzić wersję sterowników wyświetlania WDDM, uruchom narzędzie diagnostyczne DirectX (dxdiag.exe) na hoście kontenera. Na karcie "Wyświetl" narzędzia poszukaj w sekcji "Sterowniki", jak pokazano poniżej.

Zrzut ekranu przedstawiający model sterownika znaleziony na karcie Wyświetlanie.

Uruchamianie kontenera z akceleratorem procesora GPU

Aby uruchomić kontener z przyspieszeniem procesora GPU, uruchom następujące polecenie:

docker run --isolation process --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 mcr.microsoft.com/windows:1809

Ważny

DirectX (i wszystkie frameworki oparte na nim) są jedynymi API, które mogą być obecnie zoptymalizowane przez GPU. Struktury innych firm nie są obsługiwane.

Obsługa kontenerów Windows izolowanych przez Hyper-V

Przyspieszanie procesora GPU dla obciążeń w kontenerach systemu Windows izolowanych przez funkcję Hyper-V nie jest obecnie obsługiwane.

Obsługa kontenerów systemu Linux izolowanych za pomocą funkcji Hyper-V

Przyspieszanie procesora GPU dla obciążeń w kontenerach systemu Linux izolowanych przez funkcję Hyper-V nie jest obecnie obsługiwane.

Więcej informacji

Pełny przykład konteneryzowanej aplikacji DirectX wykorzystującej przyspieszanie procesora GPU można znaleźć w przykładzie kontenera DirectX.