Używanie wystąpień RDMA lub GPU w pulach usługi Batch

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i planowanie. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

Aby uruchomić niektóre zadania usługi Batch, możesz skorzystać z rozmiarów maszyn wirtualnych platformy Azure przeznaczonych do obliczeń na dużą skalę. Na przykład:

  • Aby uruchomić obciążenia MPI z wieloma wystąpieniami, wybierz serię H lub inne rozmiary, które mają interfejs sieciowy dla zdalnego bezpośredniego dostępu do pamięci (RDMA). Te rozmiary łączą się z siecią InfiniBand na potrzeby komunikacji między węzłami, co może przyspieszyć aplikacje MPI.

  • W przypadku aplikacji CUDA wybierz rozmiary serii N, które obejmują karty procesora graficznego NVIDIA Tesla (GPU).

Ten artykuł zawiera wskazówki i przykłady użycia niektórych wyspecjalizowanych rozmiarów platformy Azure w pulach usługi Batch. Aby uzyskać informacje o specyfikacji i tle, zobacz:

  • Rozmiary maszyn wirtualnych obliczeniowych o wysokiej wydajności (Linux, Windows)

  • Rozmiary maszyn wirtualnych z obsługą procesora GPU (Linux, Windows)

Uwaga

Niektóre rozmiary maszyn wirtualnych mogą nie być dostępne w regionach, w których tworzysz konta usługi Batch. Aby sprawdzić, czy rozmiar jest dostępny, zobacz Dostępność produktów według regionów i Wybieranie rozmiaru maszyny wirtualnej dla puli usługi Batch.

Zależności

Funkcje RDMA lub gpu o rozmiarach intensywnie korzystających z obliczeń w usłudze Batch są obsługiwane tylko w niektórych systemach operacyjnych. (Lista obsługiwanych systemów operacyjnych jest podzbiorem obsługiwanych dla maszyn wirtualnych utworzonych w tych rozmiarach). W zależności od sposobu tworzenia puli usługi Batch może być konieczne zainstalowanie lub skonfigurowanie dodatkowego sterownika lub innego oprogramowania w węzłach. W poniższych tabelach podsumowano te zależności. Aby uzyskać szczegółowe informacje, zobacz połączone artykuły. Aby uzyskać opcje konfigurowania pul usługi Batch, zobacz w dalszej części tego artykułu.

Pule systemu Linux — konfiguracja maszyny wirtualnej

Rozmiar Możliwość Systemy operacyjne Wymagane oprogramowanie Ustawienia puli
H16r, H16mr
NC24r, NC24rs_v2, NC24rs_v3, ND24rs*
Dostęp RDMA Ubuntu 22.04 LTS lub
HpC oparte na systemie CentOS
(Azure Marketplace)
Intel MPI 5

Sterowniki RDMA systemu Linux
Włączanie komunikacji między węzłami, wyłączanie współbieżnego wykonywania zadań
NC, NCv2, NCv3, seria NDv2 PROCESOR GPU NVIDIA Tesla (różni się w zależności od serii) Ubuntu 22.04 LTS lub
CentOS 8.1
(Azure Marketplace)
Sterowniki NVIDIA CUDA lub CUDA Toolkit Nie dotyczy
NV, NVv2, seria NVv4 NVIDIA Tesla M60 GPU Ubuntu 22.04 LTS lub
CentOS 8.1
(Azure Marketplace)
Sterowniki NVIDIA GRID Nie dotyczy

*Rozmiary serii N z obsługą RDMA obejmują również procesory GPU NVIDIA Tesla

Ważne

Ten dokument odwołuje się do wersji systemu Linux, która zbliża się lub znajduje się w końcu życia (EOL). Rozważ aktualizację do nowszej wersji.

Pule systemu Windows — konfiguracja maszyny wirtualnej

Rozmiar Możliwość Systemy operacyjne Wymagane oprogramowanie Ustawienia puli
H16r, H16mr
NC24r, NC24rs_v2, NC24rs_v3, ND24rs*
Dostęp RDMA Windows Server 2016, 2012 R2 lub
2012 (Azure Marketplace)
Microsoft MPI 2012 R2 lub nowszy albo
Intel MPI 5

Sterowniki RDMA systemu Windows
Włączanie komunikacji między węzłami, wyłączanie współbieżnego wykonywania zadań
NC, NCv2, NCv3, ND, seria NDv2 PROCESOR GPU NVIDIA Tesla (różni się w zależności od serii) Windows Server 2016 lub
2012 R2 (Azure Marketplace)
Sterowniki NVIDIA CUDA lub CUDA Toolkit Nie dotyczy
NV, NVv2, seria NVv4 NVIDIA Tesla M60 GPU Windows Server 2016 lub
2012 R2 (Azure Marketplace)
Sterowniki NVIDIA GRID Nie dotyczy

*Rozmiary serii N z obsługą RDMA obejmują również procesory GPU NVIDIA Tesla

Pule systemu Windows — konfiguracja usług Cloud Services

Ostrzeżenie

Pule konfiguracji usług Cloud Services są przestarzałe. Zamiast tego użyj pul konfiguracji maszyny wirtualnej.

Rozmiar Możliwość Systemy operacyjne Wymagane oprogramowanie Ustawienia puli
H16r, H16mr Dostęp RDMA Windows Server 2016, 2012 R2, 2012 lub
2008 R2 (rodzina systemów operacyjnych gościa)
Microsoft MPI 2012 R2 lub nowszy albo
Intel MPI 5

Sterowniki RDMA systemu Windows
Włącz komunikację między węzłami,
wyłączanie współbieżnego wykonywania zadań

Uwaga

Rozmiary serii N nie są obsługiwane w pulach konfiguracji usług Cloud Services.

Opcje konfiguracji puli

Aby skonfigurować wyspecjalizowany rozmiar maszyny wirtualnej dla puli usługi Batch, możesz zainstalować wymagane oprogramowanie lub sterowniki:

Przykład: sterowniki procesora GPU firmy NVIDIA w puli maszyn wirtualnych z systemem Windows NC

Aby uruchamiać aplikacje CUDA w puli węzłów nc systemu Windows, należy zainstalować sterowniki procesora GPU NVDIA. W poniższych przykładowych krokach użyto pakietu aplikacji do zainstalowania sterowników procesora GPU firmy NVIDIA. Możesz wybrać tę opcję, jeśli obciążenie zależy od określonej wersji sterownika procesora GPU.

  1. Pobierz pakiet instalacyjny sterowników procesora GPU w systemie Windows Server 2016 z witryny internetowej FIRMY NVIDIA — na przykład w wersji 411.82. Zapisz plik lokalnie przy użyciu krótkiej nazwy, takiej jak GPUDriverSetup.exe.
  2. Utwórz plik zip pakietu.
  3. Przekaż pakiet do konta usługi Batch. Aby uzyskać instrukcje, zobacz wskazówki dotyczące pakietów aplikacji. Określ identyfikator aplikacji, taki jak GPUDriver, i wersję, taką jak 411.82.
  4. Za pomocą interfejsów API usługi Batch lub witryny Azure Portal utwórz pulę w konfiguracji maszyny wirtualnej z żądaną liczbą węzłów i skalowaniem. W poniższej tabeli przedstawiono przykładowe ustawienia instalacji sterowników procesora GPU FIRMY NVIDIA w trybie dyskretnym przy użyciu zadania uruchamiania:
Ustawienie Wartość
Typ obrazu Witryna Marketplace (Linux/Windows)
Wydawca MicrosoftWindowsServer
Oferta WindowsServer
Jednostka SKU 2016-Datacenter
Rozmiar węzła NC6 Standard
Odwołania do pakietu aplikacji GPUDriver, wersja 411.82
Włączone zadanie uruchamiania Prawda
Wiersz polecenia - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s"
Tożsamość użytkownika — autoużytkownik puli, administrator
Oczekiwanie na powodzenie — prawda

Przykład: sterowniki procesora GPU firmy NVIDIA w puli maszyn wirtualnych nc systemu Linux

Aby uruchamiać aplikacje CUDA w puli węzłów nc systemu Linux, należy zainstalować niezbędne sterowniki procesora GPU NVIDIA Tesla z zestawu narzędzi CUDA Toolkit. Poniższe przykładowe kroki umożliwiają utworzenie i wdrożenie niestandardowego obrazu systemu Ubuntu 22.04 LTS za pomocą sterowników procesora GPU:

  1. Wdróż maszynę wirtualną z serii NC platformy Azure z systemem Ubuntu 22.04 LTS. Na przykład utwórz maszynę wirtualną w regionie Południowo-środkowe stany USA.
  2. Dodaj rozszerzenie sterowniki procesora GPU firmy NVIDIA do maszyny wirtualnej przy użyciu witryny Azure Portal, komputera klienckiego łączącego się z subskrypcją platformy Azure lub usługą Azure Cloud Shell. Alternatywnie wykonaj kroki, aby nawiązać połączenie z maszyną wirtualną i ręcznie zainstalować sterowniki CUDA.
  3. Wykonaj kroki tworzenia obrazu galerii obliczeniowej platformy Azure dla usługi Batch.
  4. Utwórz konto usługi Batch w regionie obsługującym maszyny wirtualne nc.
  5. Za pomocą interfejsów API usługi Batch lub witryny Azure Portal utwórz pulę przy użyciu obrazu niestandardowego oraz żądaną liczbę węzłów i skalę. W poniższej tabeli przedstawiono przykładowe ustawienia puli dla obrazu:
Ustawienie Wartość
Typ obrazu Obraz niestandardowy
Obraz niestandardowy Nazwa obrazu
Jednostka SKU agenta węzła batch.node.ubuntu 22.04
Rozmiar węzła NC6 Standard

Przykład: Microsoft MPI w puli maszyn wirtualnych systemu Windows H16r

Aby uruchamiać aplikacje MPI systemu Windows w puli węzłów maszyn wirtualnych usługi Azure H16r, należy skonfigurować rozszerzenie HpcVmDrivers i zainstalować interfejs MICROSOFT MPI. Poniżej przedstawiono przykładowe kroki wdrażania niestandardowego obrazu systemu Windows Server 2016 z wymaganymi sterownikami i oprogramowaniem:

  1. Wdróż maszynę wirtualną platformy Azure H16r z systemem Windows Server 2016. Na przykład utwórz maszynę wirtualną w regionie Zachodnie stany USA.
  2. Dodaj rozszerzenie HpcVmDrivers do maszyny wirtualnej, uruchamiając polecenie programu Azure PowerShell z komputera klienckiego, który łączy się z subskrypcją platformy Azure lub przy użyciu usługi Azure Cloud Shell.
  3. Utwórz połączenie pulpitu zdalnego z maszyną wirtualną.
  4. Pobierz pakiet instalacyjny (MSMpiSetup.exe) dla najnowszej wersji programu Microsoft MPI i zainstaluj program Microsoft MPI.
  5. Wykonaj kroki tworzenia obrazu galerii obliczeniowej platformy Azure dla usługi Batch.
  6. Za pomocą interfejsów API usługi Batch lub witryny Azure Portal utwórz pulę przy użyciu galerii obliczeń platformy Azure oraz żądaną liczbę węzłów i skalę. W poniższej tabeli przedstawiono przykładowe ustawienia puli dla obrazu:
Ustawienie Wartość
Typ obrazu Obraz niestandardowy
Obraz niestandardowy Nazwa obrazu
Jednostka SKU agenta węzła batch.node.windows amd64
Rozmiar węzła H16r Standard
Włączono komunikację między węzłami Prawda
Maksymalna liczba zadań na węzeł 1

Przykład: Intel MPI w puli maszyn wirtualnych H16r z systemem Linux

Aby uruchamiać aplikacje MPI w puli węzłów serii HB systemu Linux, jedną z opcji jest użycie obrazu HPC opartego na systemie CentOS 8.1 z witryny Azure Marketplace. Sterowniki RDMA systemu Linux i intel MPI są wstępnie zainstalowane. Ten obraz obsługuje również obciążenia kontenerów platformy Docker.

Korzystając z interfejsów API usługi Batch lub witryny Azure Portal, utwórz pulę przy użyciu tego obrazu oraz żądaną liczbę węzłów i skalę. W poniższej tabeli przedstawiono przykładowe ustawienia puli:

Ustawienie Wartość
Typ obrazu Witryna Marketplace (Linux/Windows)
Wydawca OpenLogic
Oferta CentOS-HPC
Jednostka SKU 8.1
Rozmiar węzła H16r Standard
Włączono komunikację między węzłami Prawda
Maksymalna liczba zadań na węzeł 1

Następne kroki

  • Aby uruchomić zadania MPI w puli usługi Azure Batch, zobacz przykłady systemu Windows lub Linux .