Azure Stack Edge Pro GPU cihazınızda GPU paylaşımı

Grafik işleme birimi (GPU), grafik işlemeyi hızlandırmak için tasarlanmış özel bir işlemcidir. GPU'lar birçok veri parçasını aynı anda işleyerek makine öğrenmesi, video düzenleme ve oyun uygulamaları için yararlı olmalarını sağlar. Genel amaçlı işlem için CPU'ya ek olarak, Azure Stack Edge Pro GPU cihazlarınız donanım hızlandırmalı çıkarım gibi işlem yoğunluklu iş yükleri için bir veya iki Nvidia Tesla T4 GPU içerebilir. Daha fazla bilgi için bkz . Nvidia'nın Tesla T4 GPU's.

GPU paylaşımı hakkında

Birçok makine öğrenmesi veya diğer işlem iş yüklerinin ayrılmış bir GPU'ya ihtiyacı olmayabilir. GPU'lar paylaşılabilir ve GPU'lar kapsayıcılı veya VM iş yükleri arasında paylaşılabilir, GPU'nun performans avantajlarını önemli ölçüde etkilemeden GPU kullanımını artırmaya yardımcı olur.

VM'lerle GPU kullanma

Azure Stack Edge Pro cihazınızda, VM iş yükleri dağıtılırken GPU paylaşılamaz. GPU yalnızca bir VM'ye eşlenebilir. Bu, bir GPU'ya sahip bir cihazda yalnızca bir GPU VM'ye ve iki GPU'ya sahip bir cihazda iki VM'ye sahip olabileceğiniz anlamına gelir. Kapsayıcılı iş yükleri için Kubernetes yapılandırılmış bir cihazda GPU VM'lerini kullanırken de dikkate alınması gereken başka faktörler vardır. Daha fazla bilgi için bkz . GPU VM'leri ve Kubernetes.

Kapsayıcılarla GPU kullanma

Kapsayıcılı iş yükleri dağıtıyorsanız, gpu donanım ve yazılım katmanında birden fazla yolla paylaşılabilir. Azure Stack Edge Pro cihazınızdaki Tesla T4 GPU ile yazılım paylaşımıyla sınırlıyız. Cihazınızda GPU'nun yazılım paylaşımı için aşağıdaki iki yaklaşım kullanılır:

  • İlk yaklaşım, zaman paylaşılabilen GPU sayısını belirtmek için ortam değişkenlerini kullanmayı içerir. Bu yaklaşımı kullanırken aşağıdaki uyarıları göz önünde bulundurun:

    • Bu yöntemle GPU'lardan birini veya ikisini birden belirtebilir veya belirtemezsiniz. Kesirli kullanımı belirtmek mümkün değildir.
    • Birden çok modül bir GPU ile eşlenebilir ancak aynı modül birden fazla GPU ile eşlenemez.
    • Nvidia SMI çıkışı ile bellek kullanımı dahil olmak üzere genel GPU kullanımını görebilirsiniz.

    Daha fazla bilgi için bkz. Cihazınızda GPU kullanan bir IoT Edge modülünü dağıtma.

  • İkinci yaklaşım, Nvidia GPU'larınızda Çok İşlemli Hizmeti etkinleştirmenizi gerektirir. MPS, CUDA kullanan birden çok işlemin tek bir paylaşılan GPU üzerinde eşzamanlı olarak çalışmasını sağlayan bir çalışma zamanı hizmetidir. MPS, maksimum kullanım elde etmek için GPU'da farklı işlemlerden çekirdek ve memcopy işlemlerinin çakışmasına olanak tanır. Daha fazla bilgi için bkz . Çoklu İşlem Hizmeti.

    Bu yaklaşımı kullanırken aşağıdaki uyarıları göz önünde bulundurun:

    • MPS, GPU dağıtımında daha fazla bayrak belirtmenize olanak tanır.
    • MPS aracılığıyla kesirli kullanım belirterek cihazda dağıtılan her uygulamanın kullanımını sınırlayabilirsiniz. Aşağıdaki parametreyi ekleyerek bölümünün altında envdeployment.yaml her uygulama için kullanılacak GPU yüzdesini belirtebilirsiniz:
    // Example: application wants to limit gpu percentage to 20%
    
        env:
            - name: CUDA_MPS_ACTIVE_THREAD_PERCENTAGE
                value: "20"
    

GPU kullanımı

Cihazınızda dağıtılan kapsayıcılı iş yüklerinde GPU paylaştığınızda Nvidia Sistem Yönetimi Arabirimi'ni (nvidia-smi) kullanabilirsiniz. Nvidia-smi, Nvidia GPU cihazlarını yönetmenize ve izlemenize yardımcı olan bir komut satırı yardımcı programıdır. Daha fazla bilgi için bkz . Nvidia Sistem Yönetimi Arabirimi.

GPU kullanımını görüntülemek için önce cihazın PowerShell arabirimine bağlanın. Get-HcsNvidiaSmi komutunu çalıştırın ve Nvidia SMI çıkışını görüntüleyin. AYRıCA MPS'yi etkinleştirip cihaza birden çok iş yükü dağıtarak GPU kullanımının nasıl değiştiğini de görüntüleyebilirsiniz. Daha fazla bilgi için bkz . Çoklu İşlem Hizmetini Etkinleştirme.

Sonraki adımlar