Delen via


GPU delen op uw Azure Stack Edge Pro GPU-apparaat

Gpu (Graphics Processing Unit) is een gespecialiseerde processor die is ontworpen om de rendering van afbeeldingen te versnellen. GPU's kunnen veel stukjes gegevens tegelijk verwerken, waardoor ze nuttig zijn voor machine learning- en videobewerkingstoepassingen en gamingtoepassingen. Naast CPU voor rekenkracht voor algemeen gebruik kunnen uw Gpu-apparaten van Azure Stack Edge Pro één of twee Nvidia Tesla T4 GPU's bevatten voor rekenintensieve workloads, zoals versnelde deductie van hardware. Zie Nvidia's Tesla T4 GPU voor meer informatie.

Over GPU delen

Veel machine learning- of andere rekenworkloads hebben mogelijk geen toegewezen GPU nodig. GPU's kunnen worden gedeeld en gedeeld gpu's tussen gecontaineriseerde of VM-workloads helpen het GPU-gebruik te verhogen zonder dat dit van invloed is op de prestatievoordelen van GPU.

GPU gebruiken met VM's

Op uw Azure Stack Edge Pro-apparaat kan een GPU niet worden gedeeld bij het implementeren van VM-workloads. Een GPU kan slechts worden toegewezen aan één VIRTUELE machine. Dit betekent dat u slechts één GPU-VM op een apparaat met één GPU en twee VM's kunt hebben op een apparaat dat is uitgerust met twee GPU's. Er zijn andere factoren die ook moeten worden overwogen bij het gebruik van GPU-VM's op een apparaat waarop Kubernetes is geconfigureerd voor workloads in containers. Zie GPU-VM's en Kubernetes voor meer informatie.

GPU gebruiken met containers

Als u workloads in containers implementeert, kan een GPU op meer dan één manier worden gedeeld op de hardware- en softwarelaag. Met de Tesla T4 GPU op uw Azure Stack Edge Pro-apparaat zijn we beperkt tot het delen van software. Op uw apparaat worden de volgende twee benaderingen gebruikt voor het delen van software van GPU:

  • De eerste benadering omvat het gebruik van omgevingsvariabelen om het aantal GPU's op te geven dat kan worden gedeeld. Houd rekening met de volgende opmerkingen bij het gebruik van deze methode:

    • U kunt een of beide of beide GPU's opgeven met deze methode. Het is niet mogelijk om breukgebruik op te geven.
    • Meerdere modules kunnen worden toegewezen aan één GPU, maar dezelfde module kan niet worden toegewezen aan meer dan één GPU.
    • Met de Nvidia SMI-uitvoer ziet u het totale GPU-gebruik, inclusief het geheugengebruik.

    Zie voor meer informatie hoe u een IoT Edge-module implementeert die GEBRUIKMAAKT van GPU op uw apparaat.

  • Voor de tweede benadering moet u de Multi-Process Service inschakelen op uw Nvidia GPU's. MPS is een runtimeservice waarmee meerdere processen met CUDA gelijktijdig kunnen worden uitgevoerd op één gedeelde GPU. MET MPS kunnen kernel- en memcopy-bewerkingen van verschillende processen op de GPU overlappen om maximaal gebruik te bereiken. Zie Multi-Process Service voor meer informatie.

    Houd rekening met de volgende opmerkingen bij het gebruik van deze methode:

    • Met MPS kunt u meer vlaggen opgeven in GPU-implementatie.
    • U kunt breukgebruik opgeven via MPS, waardoor het gebruik van elke toepassing die op het apparaat is geïmplementeerd, wordt beperkt. U kunt het GPU-percentage opgeven dat moet worden gebruikt voor elke app in de sectie van de env deployment.yaml app door de volgende parameter toe te voegen:
    // Example: application wants to limit gpu percentage to 20%
    
        env:
            - name: CUDA_MPS_ACTIVE_THREAD_PERCENTAGE
                value: "20"
    

GPU-gebruik

Wanneer u GPU deelt op workloads in containers die zijn geïmplementeerd op uw apparaat, kunt u de Nvidia System Management Interface (nvidia-smi) gebruiken. Nvidia-smi is een opdrachtregelprogramma waarmee u Nvidia GPU-apparaten kunt beheren en bewaken. Zie Nvidia System Management Interface voor meer informatie.

Als u het GPU-gebruik wilt weergeven, maakt u eerst verbinding met de PowerShell-interface van het apparaat. Voer de Get-HcsNvidiaSmi opdracht uit en bekijk de Nvidia SMI-uitvoer. U kunt ook zien hoe het GPU-gebruik verandert door MPS in te schakelen en vervolgens meerdere workloads op het apparaat te implementeren. Zie Multi-Process Service inschakelen voor meer informatie.

Volgende stappen