Share via


Azure Stack Edge Pro'nuzda GPU paylaşımını kullanarak IoT Edge iş yükü dağıtma

Bu makalede, kapsayıcılı iş yüklerinin Azure Stack Edge Pro GPU cihazınızda GPU'ları nasıl paylaşabileceği açıklanmaktadır. Yaklaşım, Çoklu İşlem Hizmeti'ni (MPS) etkinleştirmeyi ve ardından IoT Edge dağıtımı aracılığıyla GPU iş yüklerini belirtmeyi içerir.

Ön koşullar

Başlamadan önce aşağıdakilerden emin olun:

  1. Etkinleştirilmiş ve işlem yapılandırılmış bir Azure Stack Edge Pro GPU cihazına erişiminiz var. Kubernetes API uç noktanız var ve bu uç noktayı hosts istemcinizdeki cihaza erişecek dosyaya eklediniz.

  2. Desteklenen işletim sistemine sahip bir istemci sistemine erişiminiz var. Windows istemcisi kullanıyorsanız, sistem cihaza erişmek için PowerShell 5.0 veya sonraki bir sürümü çalıştırmalıdır.

  3. Aşağıdaki dağıtımı json yerel sisteminize kaydedin. IoT Edge dağıtımını çalıştırmak için bu dosyadaki bilgileri kullanacaksınız. Bu dağıtım, Nvidia tarafından genel kullanıma sunulan Basit CUDA kapsayıcılarını temel alır.

    {
        "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 sürücüsünü, CUDA sürümünü doğrulama

İlk adım, cihazınızın gerekli GPU sürücüsünü ve CUDA sürümlerini çalıştırdığını doğrulamaktır.

  1. Cihazınızın PowerShell arabirimine Bağlan.

  2. Şu komutu çalıştırın:

    Get-HcsGpuNvidiaSmi

  3. Nvidia smi çıkışında, cihazınızdaKI GPU sürümünü ve CUDA sürümünü not edin. Azure Stack Edge 2102 yazılımı çalıştırıyorsanız, bu sürüm aşağıdaki sürücü sürümlerine karşılık gelir:

    • GPU sürücüsü sürümü: 460.32.03
    • CUDA sürümü: 11.2

    Aşağıda örnek bir çıkış verilmiştir:

    [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. Bu oturumu açık tutun, makale boyunca Nvidia smi çıkışını görüntülemek için kullanacaksınız.

Bağlam paylaşımı olmadan dağıtma

Artık Çok İşlemli Hizmet çalışmadığında ve bağlam paylaşımı olmadığında cihazınıza bir uygulama dağıtabilirsiniz. Dağıtım, cihazınızda bulunan ad alanında iotedge Azure portalı üzerinden gerçekleştirilir.

IoT Edge ad alanında kullanıcı oluşturma

İlk olarak ad alanına bağlanacak iotedge bir kullanıcı oluşturacaksınız. IoT Edge modülleri iotedge ad alanında dağıtılır. Daha fazla bilgi için bkz . Cihazınızdaki Kubernetes ad alanları.

Kullanıcı oluşturmak ve kullanıcıya ad alanına erişim vermek için iotedge bu adımları izleyin.

  1. Cihazınızın PowerShell arabirimine Bağlan.

  2. Ad alanında iotedge yeni bir kullanıcı oluşturun. Şu komutu çalıştırın:

    New-HcsKubernetesUser -UserName <user name>

    Aşağıda örnek bir çıkış verilmiştir:

    [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. Düz metin olarak görüntülenen çıkışı kopyalayın. Çıktıyı yerel makinenizdeki kullanıcı profilinizin klasörüne bir yapılandırma dosyası (uzantısı olmadan) .kube olarak kaydedin; örneğin, C:\Users\<username>\.kube.

  4. Oluşturduğunuz kullanıcıya ad alanına erişim iotedge verin. Şu komutu çalıştırın:

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

    Aşağıda örnek bir çıkış verilmiştir:

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

Ayrıntılı yönergeler için bkz. Azure Stack Edge Pro GPU cihazınızda kubectl aracılığıyla kubernetes kümesine Bağlan ve bu kümeyi yönetme.

Portal aracılığıyla modülleri dağıtma

Azure portalı aracılığıyla IoT Edge modüllerini dağıtın. N gövde simülasyonu çalıştıran genel kullanıma açık Nvidia CUDA örnek modüllerini dağıtacaksınız.

  1. Cihazınızda IoT Edge hizmetinin çalıştığından emin olun.

    IoT Edge service running.

  2. Sağ bölmede IoT Edge kutucuğunu seçin. IoT Edge > Özellikleri'ne gidin. Sağ bölmede cihazınızla ilişkilendirilmiş IoT Hub kaynağını seçin.

    View properties.

  3. IoT Hub kaynağında Otomatik Cihaz Yönetimi > IoT Edge'e gidin. Sağ bölmede, cihazınızla ilişkilendirilmiş IoT Edge cihazını seçin.

    Go to IoT Edge.

  4. Modül ayarla’yı seçin.

    Go to Set Modules.

  5. + Ekle + IoT Edge modülü'ne >tıklayın.

    Add IoT Edge module.

  6. Modül Ayarlar sekmesinde IoT Edge modülü adını ve Görüntü URI'sini sağlayın. Görüntü çekme ilkesini Oluşturmada olarak ayarlayın.

    Module settings.

  7. Ortam Değişkenleri sekmesinde NVIDIA_VISIBLE_DEVICES 0 olarak belirtin.

    Environment variables.

  8. Kapsayıcı Oluşturma Seçenekleri sekmesinde aşağıdaki seçenekleri sağlayın:

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

    Seçenekler aşağıdaki gibi görüntülenir:

    Container create options.

    Ekle'yi seçin.

  9. Eklediğiniz modül Çalışıyor olarak gösterilmelidir.

    Review and create deployment.

  10. İlk modülü eklerken izlediğiniz bir modülü eklemek için tüm adımları yineleyin. Bu örnekte, modülün adını olarak cuda-sample2belirtin.

    Module settings for 2nd module.

    Her iki modül de aynı GPU'ya sahip olacak şekilde aynı ortam değişkenini kullanın.

    Environment variable for 2nd module.

    İlk modül için sağladığınız kapsayıcı oluşturma seçeneklerini kullanın ve Ekle'yi seçin.

    Container create options for 2nd modules.

  11. Modülleri ayarla sayfasında Gözden Geçir + Oluştur'u ve ardından Oluştur'u seçin.

    Review and create 2nd deployment.

  12. Her iki modülün çalışma zamanı durumu artık Çalışıyor olarak gösterilmelidir.

    2nd deployment status.

İş yükü dağıtımlarını izleme

  1. Yeni bir PowerShell oturumu açın.

  2. Ad alanında iotedge çalışan podları listeleyin. Şu komutu çalıştırın:

    kubectl get pods -n iotedge

    Aşağıda örnek bir çıkış verilmiştir:

    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>   
    

    Cihazınızda çalışan iki pod cuda-sample1-97c494d7f-lnmnscuda-sample2-d9f6c4688-2rld9 vardır.

  3. Her iki kapsayıcı da n gövde benzetimini çalıştırırken Nvidia smi çıkışından GPU kullanımını görüntüleyin. Cihazın PowerShell arabirimine gidin ve komutunu çalıştırın Get-HcsGpuNvidiaSmi.

    Her iki kapsayıcı da n gövde benzetimini çalıştırırken örnek bir çıkış aşağıda verilmiştir:

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

    Gördüğünüz gibi GPU 0'da n gövde benzetimi ile çalışan iki kapsayıcı vardır. Bunlara karşılık gelen bellek kullanımını da görüntüleyebilirsiniz.

  4. Simülasyon tamamlandıktan sonra, Nvidia smi çıkışı cihazda çalışan hiçbir işlem olmadığını gösterecektir.

    [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. N gövdesi benzetimi tamamlandıktan sonra dağıtımın ayrıntılarını ve simülasyonun tamamlanması için gereken süreyi anlamak için günlükleri görüntüleyin.

    İlk kapsayıcıdan örnek bir çıkış aşağıda verilmiştir:

    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>
    

    İkinci kapsayıcıdan örnek bir çıkış aşağıda verilmiştir:

    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. Modül dağıtımını durdurun. Cihazınızın IoT Hub kaynağında:

    1. Otomatik Cihaz Dağıtımı > IoT Edge'e gidin. Cihazınıza karşılık gelen IoT Edge cihazını seçin.

    2. Modülleri ayarla'ya gidin ve bir modül seçin.

      Select Set module.

    3. Modüller sekmesinde bir modül seçin.

      Select a module.

    4. Modül ayarları sekmesinde İstenen durumu durduruldu olarak ayarlayın. Güncelleştir'i seçin.

      Modify module settings.

    5. Cihaza dağıtılan ikinci modülü durdurmak için adımları yineleyin. Gözden Geçir + oluştur’u ve sonra da Oluştur’u seçin. Bu, dağıtımı güncelleştirmelidir.

      Review and create updated deployment.

    6. Modüller sayfasını birden çok kez yenileyin. modülü Çalışma Zamanı durumu Durduruldu olarak gösterilene kadar.

      Verify deployment status.

Bağlam paylaşımı ile dağıtma

Artık cihazınızda MPS çalışırken n gövde benzetimini iki CUDA kapsayıcısı üzerinde dağıtabilirsiniz. İlk olarak, cihazda MPS'yi etkinleştireceksiniz.

  1. Cihazınızın PowerShell arabirimine Bağlan.

  2. Cihazınızda MPS'yi etkinleştirmek için komutunu çalıştırın Start-HcsGpuMPS .

    [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. Cihazın PowerShell arabiriminden Nvidia smi çıkışını alın. İşlemi veya MPS hizmetinin cihazda çalıştığını görebilirsiniz nvidia-cuda-mps-server .

    Aşağıda örnek bir çıkış verilmiştir:

    [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. Daha önce durdurduğunuz modülleri dağıtın. İstenen durumu Set modülleri aracılığıyla çalıştıracak şekilde ayarlayın.

    Örnek çıktı aşağıda verilmiştir:

    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>
    

    Modüllerin cihazınızda dağıtıldığını ve çalıştığını görebilirsiniz.

  5. Modüller dağıtıldığında, n gövde benzetimi de her iki kapsayıcıda da çalışmaya başlar. Simülasyon ilk kapsayıcıda tamamlandığında örnek çıktı aşağıda verilmiştir:

    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> 
    

    Simülasyon ikinci kapsayıcıda tamamlandığında örnek çıktı aşağıda verilmiştir:

    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. Her iki kapsayıcı da n gövde simülasyonunu çalıştırırken cihazın PowerShell arabiriminden Nvidia smi çıkışını alın. Burada örnek bir çıkış verilmiştir. Üç işlem vardır, nvidia-cuda-mps-server işlem (C türü) MPS hizmetine karşılık gelir ve /tmp/nbody işlemler (M + C türü) modüller tarafından dağıtılan n gövde iş yüklerine karşılık gelir.

    [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
    

Sonraki adımlar