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.
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.