Sdílení GPU na zařízení Azure Stack Edge Pro GPU
Grafický procesor (GPU) je specializovaný procesor navržený k urychlení vykreslování grafiky. GPU můžou zpracovávat mnoho částí dat současně, což je užitečné pro strojové učení, úpravy videa a herní aplikace. Kromě procesoru pro výpočetní prostředky pro obecné účely můžou vaše zařízení Azure Stack Edge Pro GPU obsahovat jednu nebo dvě GPU NVIDIA Tesla T4 pro úlohy náročné na výpočetní výkon, jako je odvozování hardwaru. Další informace naleznete v tématu NVIDIA Tesla T4 GPU.
Informace o sdílení GPU
Mnoho úloh strojového učení nebo jiných výpočetních úloh nemusí potřebovat vyhrazený GPU. Gpu je možné sdílet a sdílet GPU mezi kontejnerizovanými úlohami nebo úlohami virtuálních počítačů, což pomáhá zvýšit využití GPU, aniž by to výrazně ovlivnilo výhody výkonu GPU.
Použití GPU s virtuálními počítači
Na zařízení Azure Stack Edge Pro nejde při nasazování úloh virtuálních počítačů sdílet GPU. GPU je možné mapovat pouze na jeden virtuální počítač. To znamená, že na zařízení s jedním GPU a dvěma virtuálními počítači můžete mít na zařízení, které je vybaveno dvěma GPU, pouze jeden virtuální počítač GPU. Při používání virtuálních počítačů GPU na zařízení, které má Kubernetes nakonfigurované pro kontejnerizované úlohy, je potřeba zvážit i další faktory. Další informace najdete v tématu Virtuální počítače GPU a Kubernetes.
Použití GPU s kontejnery
Pokud nasazujete kontejnerizované úlohy, může se GPU sdílet několika způsoby na hardwarové a softwarové vrstvě. S GPU Tesla T4 na vašem zařízení Azure Stack Edge Pro jsme omezeni na sdílení softwaru. Na vašem zařízení se používají následující dva přístupy ke sdílení softwaru GPU:
Prvním přístupem je použití proměnných prostředí k určení počtu grafických procesorů, které se dají sdílet časem. Při použití tohoto přístupu zvažte následující upozornění:
- Pomocí této metody můžete zadat jednu nebo obě nebo žádné GPU. Není možné zadat desetinné využití.
- Více modulů se může mapovat na jeden GPU, ale stejný modul nejde namapovat na více než jeden GPU.
- S výstupem NVIDIA SMI můžete zobrazit celkové využití GPU, včetně využití paměti.
Další informace najdete v tématu Nasazení modulu IoT Edge, který na vašem zařízení používá GPU .
Druhý přístup vyžaduje, abyste na grafických procesorech NVIDIA povolili službu s více procesy. MPS je služba runtime, která umožňuje spouštění více procesů pomocí CUDA souběžně na jednom sdíleném GPU. MpS umožňuje překrývat se operace jádra a memcopy z různých procesů v GPU, aby bylo dosaženo maximálního využití. Další informace naleznete v tématu Multi-Process Service.
Při použití tohoto přístupu zvažte následující upozornění:
- MpS umožňuje zadat více příznaků v nasazení GPU.
- Pomocí mpS můžete zadat desetinné využití, čímž omezíte využití každé aplikace nasazené na zařízení. Procento GPU, které se má použít pro každou aplikaci,
env
můžete zadat přidáním následujícího parametrudeployment.yaml
:
// Example: application wants to limit gpu percentage to 20% env: - name: CUDA_MPS_ACTIVE_THREAD_PERCENTAGE value: "20"
Využití GPU
Když sdílíte GPU s kontejnerizovanými úlohami nasazenými na vašem zařízení, můžete použít rozhraní NVIDIA System Management Interface (nvidia-smi). Nvidia-smi je nástroj příkazového řádku, který pomáhá spravovat a monitorovat zařízení NVIDIA GPU. Další informace naleznete v tématu NVIDIA System Management Interface.
Pokud chcete zobrazit využití GPU, nejprve se připojte k rozhraní PowerShellu zařízení.
Get-HcsNvidiaSmi
Spusťte příkaz a zobrazte výstup NVIDIA SMI. Můžete si také prohlédnout, jak se mění využití GPU povolením MPS a následným nasazením více úloh na zařízení. Další informace najdete v tématu Povolení služby s více procesy.