Azure Stack hub 'da GPU özellikli IoT modülünü dağıtmaDeploy a GPU enabled IoT module on Azure Stack Hub

GPU özellikli bir Azure Stack hub 'ı ile, işlemci yoğunluklu modülleri IoT Edge çalıştıran Linux cihazlara dağıtabilirsiniz.With a GPU-enabled Azure Stack Hub, you can deploy processor-intensive modules to Linux devices running at the IoT Edge. GPU iyileştirilmiş VM boyutları, tek veya birden çok NVıDıA GPU ile kullanılabilen özel VM 'lardır.GPU optimized VM sizes are specialized VMs available with single or multiple NVIDIA GPUs. Bu makalede, yoğun işlem yoğunluğu, grafik yoğun ve görselleştirme iş yüklerini çalıştırmak için GPU için iyileştirilmiş VM 'Leri kullanmayı öğrenin.In this article, learn to use GPU optimized VMs to run compute-intensive, graphics-intensive, and visualization workloads.

Başlamadan önce, genel Azure ve Azure Stack hub, bir Azure Container Registry (ACR) ve bir IoT Hub 'a erişimi olan bir Azure Active Directory (Azure AD) aboneliğine ihtiyacınız olacaktır.Before you start, you will need an Azure Active Directory (Azure AD) subscription with access to global Azure and Azure Stack Hub, an Azure Container Registry (ACR), and an IoT hub.

Bu makalede şunları yapacaksınız:In this article, you:

  • GPU özellikli bir Linux sanal makinesi yükleyip doğru sürücüleri yüklersiniz.Install an GPU-enabled Linux VM and install the correct drivers.
  • Docker 'ı yükleyip çalışma zamanında GPU 'YU etkinleştirin.Install Docker and enable the GPU in the runtime.
  • IoT cihazınızı IoT Hub 'ınıza bağlayın ve IoT marketi 'nden bu modeli takın: Getting started with GPUs .Connect your IoT device to your iOT Hub and install from the iOT marketplace the model: Getting started with GPUs.
  • Azure IoT Explorer kullanarak cihazınızı yerel bir makineden yükleyip izleyin.Install and monitor your device from a local machine using Azure IoT explorer.
  • Ve isteğe bağlı olarak, Visual Studio Code 'de Azure IoT uzantısını kullanarak cihazınızı yükleyip izleyin.And optionally, install and monitor your device using the Azure IoT extension in Visual Studio Code.

Ön koşullarPrerequisites

Azure Stack hub örneğiniz, Global Azure ve yerel geliştirme makinenizde aşağıdaki kaynaklara sahip olmanız gerekir.You'll need to have the following resources in place in your Azure Stack Hub instance, global Azure, and on your local development machine.

Azure Stack hub ve AzureAzure Stack Hub and Azure

  • NVIDA GPU ile tümleşik bir sistemde Azure Active Directory (Azure AD Azure Stack) kullanan bir abonelik.A subscription as a user using Azure Active Directory (Azure AD) in an Azure Stack Hub Integrated System with an NVIDA GPU. Aşağıdaki yongalar IoT Hub ile çalışır:The following chips work with iOT Hub:

    • NCv3NCv3
    • NCas_v4NCas_v4

    Azure Stack hub 'daki GPU 'Lar hakkında daha fazla bilgi için, Azure Stack hub 'ındaki grafik işleme birimi (GPU) sanal makinesi' ne bakın.For more information about GPUs on Azure Stack Hub, see Graphics processing unit (GPU) VM on Azure Stack Hub.

  • Küresel bir Azure aboneliği.A global Azure subscription. Küresel bir Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don't have a global Azure subscription, create a free account before you begin.

  • Bir Azure Container Registry (ACR).An Azure Container Registry (ACR). ACR oturum açma sunucusunu, Kullanıcı adını ve parolayı bir yere getirin.Make a note of the ACR sign-in server, username, and password.

  • Küresel Azure 'da ücretsiz veya Standart katmanlı IoT Hub 'ı .A free or standard-tier IoT hub in global Azure.

Bir geliştirme makinesiA development machine

  • Geliştirme tercihlerinize bağlı olarak kendi bilgisayarınızı veya bir sanal makineyi kullanabilirsiniz.You can use your own computer or a virtual machine, depending on your development preferences. Geliştirme makinenizin, iç içe sanallaştırmayı desteklemesi gerekir.Your development machine will need to support nested virtualization. Bu özellik, bu makalede kullanılan kapsayıcı altyapısı olan Docker 'ı çalıştırmak için gereklidir.This capability is necessary for running Docker, the container engine used in this article.

  • Geliştirme makinenizin aşağıdaki kaynaklara ihtiyacı olacak:Your development machine will need the following resources:

IoT Edge cihazı kaydetmeRegister an IoT Edge device

IoT Edge cihazınızı barındırmak için ayrı bir cihaz kullanın.Use a separate device to host your IoT Edge device. Ayrı bir cihaz kullanmak, geliştirme makineniz ile IoT Edge cihazınız arasında bir ayrım sağlar ve dağıtım senaryosunu daha doğru yansıtır.Using a separate device will provide a separation between your development machine and IoT Edge device more accurately mirrors a deployment scenario.

Linux VM ile Azure 'da bir IoT Edge cihaz oluşturma:Create an IoT Edge device in Azure with a Linux VM:

  1. Azure Stack hub 'da N serisi bir Linux sunucu VM 'Si oluşturun .Create an N-series Linux server VM on Azure Stack Hub. Sunucunuz için bileşenleri yüklerken, SSH aracılığıyla sunucusuyla etkileşime geçebilirsiniz.As you install components for your server, you'll interact with the server via SSH. Daha fazla bilgi için bkz. SSH ortak anahtarı kullanma.For more information, see Use an SSH public key.

  2. IoT Edge cihaz oluşturma ve kaydetmeCreate and register an IoT Edge Device

GPU özellikli bir VM hazırlamaPrepare a GPU-enabled VM

  1. NVIDA GPU sürücülerini N serisi Linux sunucunuza yüklerken Linux çalıştıran n serisi VM 'LERE NVıDıA GPU sürücülerini yüklemeyin.Install the NVIDA GPU Drivers on your N-series Linux server by following the steps in the article, Install NVIDIA GPU drivers on N-series VMs running Linux.

    Not

    Yazılımınızı yüklemek için bash komut satırını kullanacaksınız.You'll use the bash command line to install your software. GPU özellikli sanal makinenizde Docker 'da çalışan kapsayıcıya sürücüleri yüklemek için aynı komutları kullanacağınız için komutları bir yere göz önünde oluşturunMake a note of the commands since you'll use the same commands to install the drivers on the container running in Docker on your GPU-enabled VM

  2. En son IoT Edge çalışma zamanını Azure Stack hub 'ında N serisi Linux sunucunuza yükler.Install the latest IoT Edge runtime on your N-series Linux server in Azure Stack Hub. Yönergeler için bkz . Azure IoT Edge çalışma zamanını, detem tabanlı Linux sistemlerine yüklemeyinFor instructions, see Install the Azure IoT Edge runtime on Debian-based Linux systems

Docker'ı yüklemeInstall Docker

GPU özellikli sanal makinenize Docker 'yi yüklemeyin.Install Docker on your GPU-enabled VM. IoT Edge marketi 'nden, VM 'deki bir kapsayıcıda modül çalıştıracağız.You're going to run the module from the IoT Edge marketplace in a container on the VM.

Docker 19,02 veya üstünü yüklemelisiniz.You must install Docker 19.02 or greater. Docker çalışma zamanı artık NVıDıA GPU 'ları desteklemektedir.The Docker runtime now supports the NVIDIA GPUs. Docker 'da GPU hakkında daha fazla bilgi edinmek için, Docker docs 'daki, bellek, CPU 'lar ve GPU 'lara sahip çalışma zamanı seçeneklerindemakalesine bakın.To learn more bout GPUs in Docker, see the article in the Docker docs, Runtime options with Memory, CPUs, and GPUs.

Docker'ı yüklemeInstall Docker

Docker kapsayıcıları, müşteri veri merkezinde her yerde, şirket içi bir hizmet sağlayıcısında veya bulutta, Azure 'da her yerde çalışabilir.Docker containers can run anywhere, on-premises in the customer datacenter, in an external service provider or in the cloud, on Azure. Docker görüntü kapsayıcıları, Linux ve Windows üzerinde yerel olarak çalışabilir.Docker image containers can run natively on Linux and Windows. Ancak, Windows yansımaları yalnızca Windows konakları üzerinde çalışabilir ve Linux görüntüleri Linux konakları ve Windows konakları üzerinde çalıştırılabilir (Bu nedenle, ana bilgisayar bir sunucu veya VM anlamına gelir).However, Windows images can run only on Windows hosts and Linux images can run on Linux hosts and Windows hosts (using a Hyper-V Linux VM, so far), where host means a server or a VM. Daha fazla bilgi için bkz. Docker nedir?.For more information, see What is Docker?.

  1. SSH istemcinizi kullanarak N serisi Linux sunucunuza bağlanın.Connect to your N-series Linux server using your SSH client.

  2. Apt dizinini ve listelerini güncelleştirin.Update the apt index and lists.

    sudo apt-get update
    
  3. Makinedeki mevcut paketlerin yeni sürümlerini getirir.Fetch the new versions of existing packages on the machine.

    sudo apt-get upgrade
    
  4. Docker 'ın apt deposunu eklemek için gereken bağımlılıkları yükler.Install dependencies required to add Docker's apt repository.

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  5. Docker 'ın GPG anahtarını ekleyin.Add Docker's GPG key.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  6. Docker 'ın apt deposu ekleyin.Add Docker's apt repo.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  7. Apt dizin ve listelerini güncelleştirin ve Docker Community Edition 'ı yükleyin.Update apt index and lists, and install Docker Community Edition.

    sudo apt-get update 
    sudo apt-get install docker-ce
    
  8. Docker sürümünü denetleyerek yüklemeyi doğrulayın.Verify install by checking the Docker version.

    docker -v
    
  9. Docker 'da kullanılabilir GPU kaynaklarını kullanıma sunun.Expose the available GPU resources in Docker.

    docker run -it --rm --gpus all ubuntu nvidia-smi
    

Marketten öğe alGet the item from the marketplace

Azure portal dönün ve IoT marketi 'ni kullanarak modeli Edge cihazınıza ekleyin.Return to the Azure portal and add the the model to your edge device using the iOT marketplace. Menüden Market modülü ' nü seçin.Select Marketplace Module from the menu. Ve için arama Getting started with GPUs yapın ve yönergeleri izleyerek modülü ekleyin.And search for Getting started with GPUs, and follow the instructions to add the module.

Yönergeler için bkz. cihaz seçme ve modül eklemeFor instructions see Select device and add modules

İzlemeyi etkinleştirmeEnable monitoring

  1. Azure IoT Gezgininiindirin ve uygulamayı IoT Hub bağlayın.Download Azure IoT explorer, and connect the application to your IoT Hub.

  2. IoT cihazınızı seçin ve gezinti menüsünden telemetri ' e gidin.Select your IoT Device and navigate to Telemetry from the navigation menu.

  3. IoT Edge cihazdan çıktıyı izlemeye başlamak için Başlat ' ı seçin.Select Start to begin monitoring output from the IoT Edge Device.

geçerli bir Install

Modülü izleme (Isteğe bağlı)Monitor the module (Optional)

  1. VS Code komut paletinde Azure IoT Hub: Select IoT Hub komutunu çalıştırın.In the VS Code command palette, run Azure IoT Hub: Select IoT Hub.

  2. Yapılandırmak istediğiniz IoT Edge cihazını barındıran aboneliği ve IoT hub'ını seçin.Choose the subscription and IoT hub that contain the IoT Edge device that you want to configure. Bu durumda, Azure Stack Edge cihazını dağıtmak için kullanılan aboneliği seçin ve Azure Stack Edge cihazınız için oluşturulan IoT Edge cihazı seçin.In this case, select the subscription used to deploy the Azure Stack Edge device, and select the IoT Edge device created for your Azure Stack Edge device. Bu, önceki adımlarda Azure portal aracılığıyla işlem yapılandırdığınızda oluşur.This occurs when you configure compute via the Azure portal in the earlier steps.

  3. VS Code Gezgini ' nde Azure IoT Hub bölümünü genişletin.In the VS Code explorer, expand the Azure IoT Hub section. Cihazlar' ın altında, Azure Stack Edge cihazınıza karşılık gelen IoT Edge cihazını görmeniz gerekir.Under Devices, you should see the IoT Edge device corresponding to your Azure Stack Edge device.

    1. Bu cihazı seçin, sağ tıklayın ve Izlemeyi Başlat yerleşik olay uç noktası' nı seçin.Select that device, right-click, and select Start Monitoring Built-in Event Endpoint.

    2. Cihazlar > modüller ' e gidin ve GPU modülünün çalıştığını görmeniz gerekir.Go to Devices > Modules and you should see your GPU module running.

    3. VS Code Terminal, Azure Stack Edge cihazınız için izleme çıktısı olarak IoT Hub olaylarını da göstermelidir.The VS Code terminal should also show the IoT Hub events as the monitoring output for your Azure Stack Edge device.

    geçerli bir Install

    GPU 'ya göre aynı işlem kümesini (şekil dönüştürme 5000 yinelemesi) yürütmek için geçen sürenin, CPU 'nun çok daha küçük olduğunu görebilirsiniz.You can see that the time taken to execute the same set of operations (5000 iterations of shape transformation) by GPU is lot lesser than it is for CPU.

Sonraki AdımlarNext Steps