Delen via


Een IoT Edge-workload implementeren met GPU-delen op uw Azure Stack Edge Pro

In dit artikel wordt beschreven hoe workloads in containers de GPU's kunnen delen op uw Azure Stack Edge Pro GPU-apparaat. De aanpak omvat het inschakelen van mpS (Multi-Process Service) en het opgeven van de GPU-workloads via een IoT Edge-implementatie.

Vereisten

Zorg voordat u begint voor het volgende:

  1. U hebt toegang tot een Gpu-apparaat van Azure Stack Edge Pro dat is geactiveerd en dat rekenkracht is geconfigureerd. U hebt het Kubernetes-API-eindpunt en u hebt dit eindpunt toegevoegd aan het hosts bestand op uw client dat toegang heeft tot het apparaat.

  2. U hebt toegang tot een clientsysteem met een ondersteund besturingssysteem. Als u een Windows-client gebruikt, moet het systeem PowerShell 5.0 of hoger uitvoeren om toegang te krijgen tot het apparaat.

  3. Sla de volgende implementatie json op uw lokale systeem op. U gebruikt informatie uit dit bestand om de IoT Edge-implementatie uit te voeren. Deze implementatie is gebaseerd op eenvoudige CUDA-containers die openbaar beschikbaar zijn vanuit Nvidia.

    {
        "modulesContent": {
            "$edgeAgent": {
                "properties.desired": {
                    "modules": {
                        "cuda-sample1": {
                            "settings": {
                                "image": "nvidia/samples:nbody",
                                "createOptions": "{\"Entrypoint\":[\"/bin/sh\"],\"Cmd\":[\"-c\",\"/tmp/nbody -benchmark -i=1000; while true; do echo no-op; sleep 10000;done\"],\"HostConfig\":{\"IpcMode\":\"host\",\"PidMode\":\"host\"}}"
                            },
                            "type": "docker",
                            "version": "1.0",
                            "env": {
                                "NVIDIA_VISIBLE_DEVICES": {
                                    "value": "0"
                                }
                            },
                            "status": "running",
                            "restartPolicy": "never"
                        },
                        "cuda-sample2": {
                            "settings": {
                                "image": "nvidia/samples:nbody",
                                "createOptions": "{\"Entrypoint\":[\"/bin/sh\"],\"Cmd\":[\"-c\",\"/tmp/nbody -benchmark -i=1000; while true; do echo no-op; sleep 10000;done\"],\"HostConfig\":{\"IpcMode\":\"host\",\"PidMode\":\"host\"}}"
                            },
                            "type": "docker",
                            "version": "1.0",
                            "env": {
                                "NVIDIA_VISIBLE_DEVICES": {
                                    "value": "0"
                                }
                            },
                            "status": "running",
                            "restartPolicy": "never"
                        }
                    },
                    "runtime": {
                        "settings": {
                            "minDockerVersion": "v1.25"
                        },
                        "type": "docker"
                    },
                    "schemaVersion": "1.1",
                    "systemModules": {
                        "edgeAgent": {
                            "settings": {
                                "image": "mcr.microsoft.com/azureiotedge-agent:1.0",
                                "createOptions": ""
                            },
                            "type": "docker"
                        },
                        "edgeHub": {
                            "settings": {
                                "image": "mcr.microsoft.com/azureiotedge-hub:1.0",
                                "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}"
                            },
                            "type": "docker",
                            "status": "running",
                            "restartPolicy": "always"
                        }
                    }
                }
            },
            "$edgeHub": {
                "properties.desired": {
                    "routes": {
                        "route": "FROM /messages/* INTO $upstream"
                    },
                    "schemaVersion": "1.1",
                    "storeAndForwardConfiguration": {
                        "timeToLiveSecs": 7200
                    }
                }
            },
            "cuda-sample1": {
                "properties.desired": {}
            },
            "cuda-sample2": {
                "properties.desired": {}
            }
        }
    }
    

GPU-stuurprogramma, CUDA-versie controleren

De eerste stap is om te controleren of op uw apparaat het vereiste GPU-stuurprogramma en de CUDA-versies worden uitgevoerd.

  1. Verbinding maken naar de PowerShell-interface van uw apparaat.

  2. Voer de volgende opdracht uit:

    Get-HcsGpuNvidiaSmi

  3. Noteer in de Nvidia smi-uitvoer de GPU-versie en de CUDA-versie op uw apparaat. Als u Azure Stack Edge 2102-software uitvoert, komt deze versie overeen met de volgende stuurprogrammaversies:

    • GPU-stuurprogrammaversie: 460.32.03
    • CUDA-versie: 11.2

    Hier volgt een voorbeeld van uitvoer:

    [10.100.10.10]: PS>Get-HcsGpuNvidiaSmi
    K8S-1HXQG13CL-1HXQG13:
    
    Tue Feb 23 10:34:01 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 0000041F:00:00.0 Off |                    0 |
    | N/A   40C    P8    15W /  70W |      0MiB / 15109MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    [10.100.10.10]: PS>  
    
  4. Houd deze sessie open, omdat u deze gebruikt om de Nvidia smi-uitvoer in het artikel weer te geven.

Implementeren zonder context delen

U kunt nu een toepassing op uw apparaat implementeren wanneer de Multi-Process Service niet wordt uitgevoerd en er geen contextdeling is. De implementatie vindt plaats via Azure Portal in de iotedge naamruimte die op uw apparaat aanwezig is.

Gebruiker maken in IoT Edge-naamruimte

Eerst maakt u een gebruiker die verbinding maakt met de iotedge naamruimte. De IoT Edge-modules worden geïmplementeerd in de iotedge-naamruimte. Zie Kubernetes-naamruimten op uw apparaat voor meer informatie.

Volg deze stappen om een gebruiker te maken en de gebruiker toegang te verlenen tot de iotedge naamruimte.

  1. Verbinding maken naar de PowerShell-interface van uw apparaat.

  2. Maak een nieuwe gebruiker in de iotedge naamruimte. Voer de volgende opdracht uit:

    New-HcsKubernetesUser -UserName <user name>

    Hier volgt een voorbeeld van uitvoer:

    [10.100.10.10]: PS>New-HcsKubernetesUser -UserName iotedgeuser
    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: 
    ===========================//snipped //======================// snipped //=============================
        server: https://compute.myasegpudev.wdshcsso.com:6443
      name: kubernetes
    contexts:
    - context:
        cluster: kubernetes
        user: iotedgeuser
      name: iotedgeuser@kubernetes
    current-context: iotedgeuser@kubernetes
    kind: Config
    preferences: {}
    users:
    - name: iotedgeuser
      user:
        client-certificate-data: 
    ===========================//snipped //======================// snipped //=============================
        client-key-data: 
    ===========================//snipped //======================// snipped ============================
    PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
    
  3. Kopieer de uitvoer die wordt weergegeven in tekst zonder opmaak. Sla de uitvoer op als een configuratiebestand (zonder extensie) in de .kube map van uw gebruikersprofiel op uw lokale computer, bijvoorbeeld C:\Users\<username>\.kube.

  4. Verdeel de gebruiker die u hebt gemaakt, toegang tot de iotedge naamruimte. Voer de volgende opdracht uit:

    Grant-HcsKubernetesNamespaceAccess -Namespace iotedge -UserName <user name>

    Hier volgt een voorbeeld van uitvoer:

    [10.100.10.10]: PS>Grant-HcsKubernetesNamespaceAccess -Namespace iotedge -UserName iotedgeuser
    [10.100.10.10]: PS>    
    

Zie Verbinding maken voor gedetailleerde instructies voor het beheren en beheren van een Kubernetes-cluster via kubectl op uw Azure Stack Edge Pro GPU-apparaat.

Modules implementeren via de portal

IoT Edge-modules implementeren via Azure Portal. U implementeert openbaar beschikbare Nvidia CUDA-voorbeeldmodules die n-bodysimulatie uitvoeren.

  1. Zorg ervoor dat de IoT Edge-service wordt uitgevoerd op uw apparaat.

    IoT Edge service running.

  2. Selecteer de IoT Edge-tegel in het rechterdeelvenster. Ga naar IoT Edge-eigenschappen>. Selecteer in het rechterdeelvenster de IoT Hub-resource die is gekoppeld aan uw apparaat.

    View properties.

  3. Ga in de IoT Hub-resource naar Automatisch Apparaatbeheer > IoT Edge. Selecteer in het rechterdeelvenster het IoT Edge-apparaat dat is gekoppeld aan uw apparaat.

    Go to IoT Edge.

  4. Selecteer Modules instellen.

    Go to Set Modules.

  5. Selecteer + Toevoegen > + IoT Edge-module.

    Add IoT Edge module.

  6. Geef op het tabblad Module Instellingen de naam van de IoT Edge-module en de afbeeldings-URI op. Stel het pull-beleid voor installatiekopieën in op Maken.

    Module settings.

  7. Geef op het tabblad Omgevingsvariabelen NVIDIA_VISIBLE_DEVICES op als 0.

    Environment variables.

  8. Geef op het tabblad Opties voor container maken de volgende opties op:

    {
        "Entrypoint": [
            "/bin/sh"
        ],
        "Cmd": [
            "-c",
            "/tmp/nbody -benchmark -i=1000; while true; do echo no-op; sleep 10000;done"
        ],
        "HostConfig": {
            "IpcMode": "host",
            "PidMode": "host"
        }
    }    
    

    De opties worden als volgt weergegeven:

    Container create options.

    Selecteer Toevoegen.

  9. De module die u hebt toegevoegd, moet worden weergegeven als Actief.

    Review and create deployment.

  10. Herhaal alle stappen om een module toe te voegen die u hebt gevolgd bij het toevoegen van de eerste module. Geef in dit voorbeeld de naam van de module op als cuda-sample2.

    Module settings for 2nd module.

    Gebruik dezelfde omgevingsvariabele als beide modules dezelfde GPU delen.

    Environment variable for 2nd module.

    Gebruik dezelfde opties voor het maken van containers die u hebt opgegeven voor de eerste module en selecteer Toevoegen.

    Container create options for 2nd modules.

  11. Selecteer Op de pagina Modules instellen de optie Controleren en maken en selecteer vervolgens Maken.

    Review and create 2nd deployment.

  12. De runtimestatus van beide modules moet nu worden weergegeven als Actief.

    2nd deployment status.

Workloadimplementatie bewaken

  1. Open een nieuwe PowerShell-sessie.

  2. Vermeld de pods die worden uitgevoerd in de iotedge naamruimte. Voer de volgende opdracht uit:

    kubectl get pods -n iotedge

    Hier volgt een voorbeeld van uitvoer:

    PS C:\WINDOWS\system32> kubectl get pods -n iotedge --kubeconfig C:\GPU-sharing\kubeconfigs\configiotuser1
    NAME                            READY   STATUS    RESTARTS   AGE
    cuda-sample1-869989578c-ssng8   2/2     Running   0          5s
    cuda-sample2-6db6d98689-d74kb   2/2     Running   0          4s
    edgeagent-79f988968b-7p2tv      2/2     Running   0          6d21h
    edgehub-d6c764847-l8v4m         2/2     Running   0          24h
    iotedged-55fdb7b5c6-l9zn8       1/1     Running   1          6d21h
    PS C:\WINDOWS\system32>   
    

    Er zijn twee pods cuda-sample1-97c494d7f-lnmns en cuda-sample2-d9f6c4688-2rld9 worden uitgevoerd op uw apparaat.

  3. Hoewel beide containers de n-bodysimulatie uitvoeren, bekijkt u het GPU-gebruik van de Nvidia smi-uitvoer. Ga naar de PowerShell-interface van het apparaat en voer deze uit Get-HcsGpuNvidiaSmi.

    Hier volgt een voorbeeld van uitvoer wanneer beide containers de n-body simulatie uitvoeren:

    [10.100.10.10]: PS>Get-HcsGpuNvidiaSmi
    K8S-1HXQG13CL-1HXQG13:
    
    Fri Mar  5 13:31:16 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00002C74:00:00.0 Off |                    0 |
    | N/A   52C    P0    69W /  70W |    221MiB / 15109MiB |    100%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |    0   N/A  N/A    188342      C   /tmp/nbody                        109MiB |
    |    0   N/A  N/A    188413      C   /tmp/nbody                        109MiB |
    +-----------------------------------------------------------------------------+
    [10.100.10.10]: PS>
    

    Zoals u ziet, worden er twee containers uitgevoerd met n-bodysimulatie op GPU 0. U kunt ook het bijbehorende geheugengebruik bekijken.

  4. Zodra de simulatie is voltooid, ziet de Nvidia smi-uitvoer dat er geen processen worden uitgevoerd op het apparaat.

    [10.100.10.10]: PS>Get-HcsGpuNvidiaSmi
    K8S-1HXQG13CL-1HXQG13:
    
    Fri Mar  5 13:54:48 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00002C74:00:00.0 Off |                    0 |
    | N/A   34C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    [10.100.10.10]: PS>
    
  5. Nadat de n-bodysimulatie is voltooid, bekijkt u de logboeken om inzicht te hebben in de details van de implementatie en de tijd die nodig is om de simulatie te voltooien.

    Hier volgt een voorbeeld van uitvoer van de eerste container:

    PS C:\WINDOWS\system32> kubectl -n iotedge  --kubeconfig C:\GPU-sharing\kubeconfigs\configiotuser1 logs cuda-sample1-869989578c-ssng8 cuda-sample1
    Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance.
    ==============// snipped //===================//  snipped  //=============
    > Windowed mode
    > Simulation data stored in video memory
    > Single precision floating point simulation
    > 1 Devices used for simulation
    GPU Device 0: "Turing" with compute capability 7.5
    
    > Compute 7.5 CUDA device: [Tesla T4]
    40960 bodies, total time for 10000 iterations: 170171.531 ms
    = 98.590 billion interactions per second
    = 1971.801 single-precision GFLOP/s at 20 flops per interaction
    no-op
    PS C:\WINDOWS\system32>
    

    Hier volgt een voorbeeld van uitvoer van de tweede container:

    PS C:\WINDOWS\system32> kubectl -n iotedge  --kubeconfig C:\GPU-sharing\kubeconfigs\configiotuser1 logs cuda-sample2-6db6d98689-d74kb cuda-sample2
    Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance.
    ==============// snipped //===================//  snipped  //=============
    > Windowed mode
    > Simulation data stored in video memory
    > Single precision floating point simulation
    > 1 Devices used for simulation
    GPU Device 0: "Turing" with compute capability 7.5
    
    > Compute 7.5 CUDA device: [Tesla T4]
    40960 bodies, total time for 10000 iterations: 170054.969 ms
    = 98.658 billion interactions per second
    = 1973.152 single-precision GFLOP/s at 20 flops per interaction
    no-op
    PS C:\WINDOWS\system32>
    
  6. Stop de module-implementatie. In de IoT Hub-resource voor uw apparaat:

    1. Ga naar IoT Edge voor automatische apparaatimplementatie>. Selecteer het IoT Edge-apparaat dat overeenkomt met uw apparaat.

    2. Ga naar Modules instellen en selecteer een module.

      Select Set module.

    3. Selecteer een module op het tabblad Modules .

      Select a module.

    4. Stel op het tabblad Module-instellingen de gewenste status in op gestopt. Selecteer Bijwerken.

      Modify module settings.

    5. Herhaal de stappen om de tweede module te stoppen die op het apparaat is geïmplementeerd. Selecteer Controleren en maken en selecteer vervolgens Maken. Hiermee moet de implementatie worden bijgewerkt.

      Review and create updated deployment.

    6. Pagina Modules instellen meerdere keren vernieuwen. totdat de runtimestatus van de module wordt weergegeven als Gestopt.

      Verify deployment status.

Implementeren met context delen

U kunt nu de n-bodysimulatie implementeren op twee CUDA-containers wanneer MPS wordt uitgevoerd op uw apparaat. Eerst schakelt u MPS in op het apparaat.

  1. Verbinding maken naar de PowerShell-interface van uw apparaat.

  2. Als u MPS op uw apparaat wilt inschakelen, voert u de Start-HcsGpuMPS opdracht uit.

    [10.100.10.10]: PS>Start-HcsGpuMPS
    K8S-1HXQG13CL-1HXQG13:
    Set compute mode to EXCLUSIVE_PROCESS for GPU 0000191E:00:00.0.
    All done.
    Created nvidia-mps.service
    [10.100.10.10]: PS>    
    
  3. Haal de Nvidia smi-uitvoer op uit de PowerShell-interface van het apparaat. U kunt het nvidia-cuda-mps-server proces zien of de MPS-service wordt uitgevoerd op het apparaat.

    Hier volgt een voorbeeld van uitvoer:

    [10.100.10.10]: PS>Get-HcsGpuNvidiaSmi
    K8S-1HXQG13CL-1HXQG13:
    
    Thu Mar  4 12:37:39 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00002C74:00:00.0 Off |                    0 |
    | N/A   36C    P8     9W /  70W |     28MiB / 15109MiB |      0%   E. Process |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |    0   N/A  N/A    122792      C   nvidia-cuda-mps-server             25MiB |
    +-----------------------------------------------------------------------------+
    [10.100.10.10]: PS>Get-HcsGpuNvidiaSmi
    
  4. Implementeer de modules die u eerder hebt gestopt. Stel de gewenste status in op uitvoering via Set-modules.

    Hier volgt de voorbeelduitvoer:

    PS C:\WINDOWS\system32> kubectl get pods -n iotedge --kubeconfig C:\GPU-sharing\kubeconfigs\configiotuser1
    NAME                            READY   STATUS    RESTARTS   AGE
    cuda-sample1-869989578c-2zxh6   2/2     Running   0          44s
    cuda-sample2-6db6d98689-fn7mx   2/2     Running   0          44s
    edgeagent-79f988968b-7p2tv      2/2     Running   0          5d20h
    edgehub-d6c764847-l8v4m         2/2     Running   0          27m
    iotedged-55fdb7b5c6-l9zn8       1/1     Running   1          5d20h
    PS C:\WINDOWS\system32>
    

    U kunt zien dat de modules worden geïmplementeerd en uitgevoerd op uw apparaat.

  5. Wanneer de modules worden geïmplementeerd, wordt de n-bodysimulatie ook uitgevoerd op beide containers. Hier volgt de voorbeelduitvoer wanneer de simulatie is voltooid op de eerste container:

    PS C:\WINDOWS\system32> kubectl -n iotedge logs cuda-sample1-869989578c-2zxh6 cuda-sample1
    Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance.
    ==============// snipped //===================//  snipped  //=============
    
    > Windowed mode
    > Simulation data stored in video memory
    > Single precision floating point simulation
    > 1 Devices used for simulation
    GPU Device 0: "Turing" with compute capability 7.5
    
    > Compute 7.5 CUDA device: [Tesla T4]
    40960 bodies, total time for 10000 iterations: 155256.062 ms
    = 108.062 billion interactions per second
    = 2161.232 single-precision GFLOP/s at 20 flops per interaction
    no-op
    PS C:\WINDOWS\system32> 
    

    Hier volgt de voorbeelduitvoer wanneer de simulatie is voltooid op de tweede container:

    PS C:\WINDOWS\system32> kubectl -n iotedge  --kubeconfig C:\GPU-sharing\kubeconfigs\configiotuser1 logs cuda-sample2-6db6d98689-fn7mx cuda-sample2
    Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance.
    ==============// snipped //===================//  snipped  //=============
    
    > Windowed mode
    > Simulation data stored in video memory
    > Single precision floating point simulation
    > 1 Devices used for simulation
    GPU Device 0: "Turing" with compute capability 7.5
    
    > Compute 7.5 CUDA device: [Tesla T4]
    40960 bodies, total time for 10000 iterations: 155366.359 ms
    = 107.985 billion interactions per second
    = 2159.697 single-precision GFLOP/s at 20 flops per interaction
    no-op
    PS C:\WINDOWS\system32>    
    
  6. Haal de Nvidia smi-uitvoer op van de PowerShell-interface van het apparaat wanneer beide containers de n-body simulatie uitvoeren. Hier volgt een voorbeeld van uitvoer. Er zijn drie processen, het nvidia-cuda-mps-server proces (type C) komt overeen met de MPS-service en de /tmp/nbody processen (type M + C) komen overeen met de n-body-workloads die door de modules zijn geïmplementeerd.

    [10.100.10.10]: PS>Get-HcsGpuNvidiaSmi
    K8S-1HXQG13CL-1HXQG13:
    
    Thu Mar  4 12:59:44 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00002C74:00:00.0 Off |                    0 |
    | N/A   54C    P0    69W /  70W |    242MiB / 15109MiB |    100%   E. Process |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |    0   N/A  N/A     56832    M+C   /tmp/nbody                        107MiB |
    |    0   N/A  N/A     56900    M+C   /tmp/nbody                        107MiB |
    |    0   N/A  N/A    122792      C   nvidia-cuda-mps-server             25MiB |
    +-----------------------------------------------------------------------------+
    [10.100.10.10]: PS>Get-HcsGpuNvidiaSmi
    

Volgende stappen