Tüm Ürünler
Search
Belge Merkezi

Elastic Compute Service:Enable eRDMA on GPU instances

Son Güncelleme:Sep 30, 2026

Bir Elastic RDMA Interface (ERI) öğesini bir GPU örneğine bağladıktan sonra, aynı VPC içindeki GPU örnekleri RDMA passthrough kullanarak bağlantı hızını artırır. eRDMA, daha verimli veri aktarımı sunarak, GPU örnekleri arasındaki iletişim verimliliğini iyileştirerek ve görev işleme süresini azaltarak geleneksel RDMA'nın üzerine çıkar. Bu konuda, bir GPU örneğinde eRDMA'nın nasıl etkinleştirileceği açıklanmaktadır.

Sınırlamalar

Öğe

Açıklama

Örnek türü

Elastic RDMA arayüzü aşağıdaki örnek türlerinde desteklenir:

  • gn8is, ebmgn8is, gn8v, ebmgn8v

  • gn9g, gn9gc, ebmgn9g, ebmgn9gc, ebmgn9ge

Görüntü

Aşağıdaki görüntülerden birini kullanın:

  • (Önerilen) Alibaba Cloud Linux 3

  • Alibaba Cloud Linux 4

  • CentOS 8.5/8,4/7,9

  • Ubuntu 24.04/22,04/20,04/18,04

Elastic RDMA arayüzü sayısı

  • gn8is, gn8v, gn9g ve gn9gc ailelerindeki örnekler yalnızca bir elastic RDMA arayüzünü destekler.

  • ebmgn8is, ebmgn8v, ebmgn9g, ebmgn9gc ve ebmgn9ge ECS Bare Metal Örnekleri iki elastic RDMA arayüzünü destekler.

Ağ sınırlamaları

  • Elastic RDMA arayüzü etkinleştirildiğinde, bir elastic ağ arayüzü IPv6 adreslerini desteklemez.

  • İki örnek arasındaki Elastic RDMA iletişimi, Server Load Balancer (SLB) gibi ara ağ bileşenlerinden geçemez.

Yordam

eRDMA uyumlu bir örnekte eRDMA kullanmak için iki gereksinimin karşılanması gerekir: eRDMA yazılım yığını yüklenmiş olmalıdır ve Elastic RDMA Interface (ERI) etkinleştirilmiş bir elastic ağ arayüzü (ENI) bağlı olmalıdır.

Örnek oluştururken eRDMA'yı yapılandırın

  1. ECS konsolunda Custom Launch sayfasına gidin.

  2. ERI'yi destekleyen bir GPU örneği oluşturun.

    Örneği oluştururken aşağıdaki ayarlara dikkat edin. Diğer parametreler hakkında bilgi için bkz. Sihirbazı kullanarak bir örnek oluşturun.

    • Instance Type: ERI uyumlu bir örnek türü seçin. Daha fazla bilgi için bkz. Sınırlamalar. Bu konuda örnek olarak ebmgn8is kullanılmıştır.

    • Images: Bir genel görüntü seçtiğinizde, Auto-install GPU Driver ve Install eRDMA Software Stack seçenekleri varsayılan olarak seçilir. Örnek oluşturulduktan sonra sistem, GPU sürücüsünü, CUDA'yı, cuDNN'yi ve eRDMA yazılım yığınını otomatik olarak yükler.

      Bu örnekte işletim sistemi Alibaba Cloud Linux 3.2104 LTS 64-bit ve GPU sürücü sürümü CUDA Version 12.4.1 / Driver Version 550.127.08 / CUDNN Version 9.2.0.82'dir.

      eRDMA yazılım yığınını yükleme ile ilgili notlar

      • Public Image sekmesinde, Install eRDMA Software Stack seçeneğini destekleyen bir görüntü işletim sistemi ve sürümü seçerseniz (bu, Install eRDMA Software Stack seçeneğinin seçilebilir olduğu anlamına gelir) ancak Install eRDMA Software Stack seçeneğini seçmezseniz, örnek oluşturulduktan sonra eRDMA yazılım yığınını bir komut dosyası kullanarak veya manuel olarak yükleyebilirsiniz.

      • Public Image sekmesinde, Install eRDMA Software Stack seçeneğini desteklemeyen bir görüntü işletim sistemi ve sürümü seçerseniz (bu, Install eRDMA Software Stack seçeneğini seçemeyeceğiniz anlamına gelir), örnek oluşturulduktan sonra bir komut dosyası kullanarak veya manuel yüklemeyle eRDMA ağ arayüzünü etkinleştiremez ve kullanamazsınız.

      • Public Image sekmesinde, Install eRDMA Software Stack seçeneğinin işaretini kaldırırsanız daha fazla görüntü işletim sistemi ve sürümü kullanılabilir hale gelir.

    • (İsteğe Bağlı) Jumbo Çerçeveler: Seçilen örnek jumbo çerçeveleri destekliyorsa, eRDMA iletişim performansını artırmak için bu özelliği etkinleştirebilirsiniz.

      Jumbo çerçevelerin etkinleştirilmesi, daha büyük bir maksimum aktarım birimi (MTU) ayarlamanıza olanak tanır. İletişim için NCCL ve LL128 düşük gecikme süreli protokolü kullandığınızda MTU 8500 olmalıdır. Jumbo çerçeveler etkinleştirilmezse MTU 1400 olmalıdır. Yanlış bir MTU ayarı veri tutarlılığı sorunlarına neden olabilir.
    • ENIs: Bir GPU örneği oluşturup yapılandırma sihirbazının Bandwidths & Security Groups sayfasında ENI'leri yapılandırdığınızda, varsayılan olarak eRDMA uyumlu bir birincil NIC ve ikincil NIC oluşturulur. Sistem, birincil ve ikincil NIC'ler için eRDMA Interface seçeneğini otomatik olarak seçer.

      Not
      • GPU örneği çalışırken tek bir ENI için ERI özelliğini etkinleştiremez veya devre dışı bırakamazsınız.

      • ERI etkinleştirilmiş iki NIC otomatik olarak farklı kanallara bağlanır. Kanalları manuel olarak belirtmeniz gerekmez.

      • Birincil NIC, GPU örneğinden ayrılamaz. Örnek ile birlikte oluşturulur ve serbest bırakılır.

  3. Oluşturulan örneğin ayrıntılar sayfasına gidin ve örneğin NIC türünü görüntülemek için ENIs sekmesini tıklayın.

    Birincil NIC'in veya ikincil bir ENI'nin NIC türü "Elastic RDMA Interface" içeriyorsa, ENI'de ERI etkinleştirilmiştir.

Mevcut bir GPU örneği için eRDMA'yı yapılandırın

  1. ECS console üzerinde oturum açın.

  2. Hedef örneği bulun, ayrıntılar sayfasına gidin ve ERI'nin etkin olup olmadığını kontrol etmek için ENIs sekmesini tıklayın.

    Bir ENI'de ERI etkinleştirilmişse, ENI Type sütunu Primary ENI (Elastic RDMA Interface) veya Secondary ENI (Elastic RDMA Interface) değerini gösterir.

    • ERI etkinleştirilmişse aşağıdaki adımları atlayın.

    • ERI etkinleştirilmemişse, birincil NIC veya ikincil bir ENI için eRDMA'yı yapılandırmak üzere şu adımları izleyin.

  3. Birincil NIC veya ikincil bir ENI için eRDMA'yı yapılandırın.

    Not
    • Jumbo çerçeveleri destekleyen örnek türleri için, eRDMA iletişim performansını artırmak amacıyla jumbo çerçeveleri etkinleştirebilirsiniz.

      Jumbo çerçevelerin etkinleştirilmesi daha büyük bir MTU ayarlamanıza olanak tanır. İletişim için NCCL ve LL128 düşük gecikme süreli protokolü kullandığınızda MTU 8500 olmalıdır. Jumbo çerçeveler etkinleştirilmezse MTU 1400 olmalıdır. Yanlış bir MTU ayarı veri tutarlılığı sorunlarına neden olabilir.
    • GPU örneğini oluştururken birincil NIC veya ikincil NIC için eRDMA Interface seçeneğini seçmediyseniz, örnek oluşturulduktan sonra ERI etkinleştirilmiş iki ikincil ENI oluşturup etkinleştirebilirsiniz.

    • GPU örneğini oluştururken iki NIC'ten biri (birincil veya ikincil) için eRDMA Interface seçeneğini seçmediyseniz, örnek oluşturulduktan sonra yalnızca bir adet daha ERI etkinleştirilmiş ikincil ENI oluşturup etkinleştirebilirsiniz.

    • Birincil NIC için eRDMA'yı yapılandırın

      Birincil NIC için eRDMA'yı yapılandırmak üzere OpenAPI kullanın. Daha fazla bilgi için bkz. ModifyNetworkInterfaceAttribute.

      Anahtar parametreler

      Parametre

      Açıklama

      RegionId

      Birincil NIC'in bulunduğu bölgenin ID'si.

      NetworkInterfaceId

      Birincil NIC'in ID'si.

      NetworkInterfaceTrafficMode

      Birincil NIC'in iletişim modu. Geçerli değerler:

      • Standard: TCP iletişim modu.

      • HighPerformance: Elastic RDMA Interface (ERI) etkinleştirilmiş RDMA iletişim modu.

      Bu adımda değeri HighPerformance olarak ayarlayın.

    • İkincil bir ENI için eRDMA'yı yapılandırın

      Konsoldan ERI etkinleştirilmiş bir ENI oluşturup bağladığınızda bunu belirli bir kanala bağlayamazsınız. Bu sınırlama, iki ERI etkinleştirilmiş ENI kullanıyorsanız toplam bant genişliğini yarıya indirebilir. Bu nedenle, ERI etkinleştirilmiş ENI'leri OpenAPI kullanarak bağlamanızı öneririz.

      OpenAPI (önerilen)

      • Yöntem 1: ERI etkinleştirilmiş bir ENI oluşturun ve bağlayın

        Her GPU örneği en fazla iki eRDMA NIC'i destekler. NIC'leri NetworkCardIndex parametresini kullanarak farklı kanallara bağlamanız gerekir.

        1. ERI etkinleştirilmiş bir ENI oluşturun.

          Daha fazla bilgi için bkz. CreateNetworkInterface.

          Anahtar parametreler

          Parametre

          Açıklama

          RegionId

          ENI'yi oluşturmak istediğiniz bölgenin ID'si.

          VSwitchId

          Sistem, ENI'nin özel IP adresini vSwitch'in CIDR bloğu içindeki kullanılabilir IP adreslerinden seçer.

          SecurityGroupId

          ENI için güvenlik grubunun ID'si. Güvenlik grubu ve ENI aynı VPC'de olmalıdır.

          NetworkInterfaceTrafficMode

          ENI'nin iletişim modu. Geçerli değerler:

          • Standard: TCP iletişim modu.

          • HighPerformance: Elastic RDMA Interface (ERI) etkinleştirilmiş RDMA iletişim modu.

          Bu adımda değeri HighPerformance olarak ayarlayın.

          Çağrı başarılı olursa, döndürülen NetworkInterfaceId değeri olan ENI ID'sini kaydedin.

        2. ERI etkinleştirilmiş ENI'yi bağlayın.

          Daha fazla bilgi için bkz. AttachNetworkInterface.

          Anahtar parametreler

          Parametre

          Açıklama

          RegionId

          Örneğin bulunduğu bölgenin ID'si.

          NetworkInterfaceId

          Oluşturduğunuz ERI etkinleştirilmiş ENI'nin ID'si.

          InstanceId

          Örneğin ID'si.

          NetworkCardIndex

          ENI'yi bağladığınız fiziksel NIC'in dizini.

          ERI etkinleştirilmiş bir ENI'yi bir örneğe bağlarken bir kanalı (fiziksel NIC dizini) manuel olarak belirtmeniz gerekir. Geçerli değerler 0 ve 1'dir. İki ERI etkinleştirilmiş ENI bağlarsanız her ENI için farklı bir değer atayın.

          Not

          Maksimum ağ bant genişliğine ulaşmak için iki ERI etkinleştirilmiş NIC'i farklı kanallara bağlamanız gerekir.

          ENI başarıyla bağlandıktan sonra, onu örnek ayrıntıları sayfasının ENIs sekmesinde görüntüleyebilirsiniz. Bağlanan ENI'nin türü Secondary ENI (Elastic RDMA Interface) ve durumu InUse olarak görüntülenir.

      • Yöntem 2: Mevcut bir ENI'nin niteliklerini değiştirin

        Not

        Bu yöntem NetworkCardIndex parametresini (fiziksel NIC dizini) belirtmeyi desteklemez. İki ERI etkinleştirilmiş NIC bağlıyken ikincil bir ENI'yi yapılandırmak için bu yöntemi kullanırsanız maksimum bant genişliğine ulaşamayabilirsiniz.

        Daha fazla bilgi için bkz. ModifyNetworkInterfaceAttribute.

        Anahtar parametreler

        Parametre

        Açıklama

        RegionId

        İkincil ENI'nin bulunduğu bölgenin ID'si.

        NetworkInterfaceId

        İkincil ENI'nin ID'si.

        NetworkInterfaceTrafficMode

        İkincil ENI'nin iletişim modu. Geçerli değerler:

        • Standard: TCP iletişim modu.

        • HighPerformance: Elastic RDMA Interface (ERI) etkinleştirilmiş RDMA iletişim modu.

        Bu adımda değeri HighPerformance olarak ayarlayın.

        API çağrısı başarılı olursa, bağlı ERI etkinleştirilmiş ENI'yi örneğin ayrıntılar sayfasının ENIs sekmesinde görüntüleyebilirsiniz.

      Konsol

      1. İkincil bir ENI oluşturun.

        Daha fazla bilgi için bkz. Elastic bir ağ arayüzü oluşturun ve kullanın. İkincil elastic ağ arayüzünü oluştururken eRDMA Interface anahtarını açın. ERI, IP adresi ve buna uygulanan güvenlik grubu kuralları gibi bu ikincil elastic ağ arayüzünün ayarlarını paylaşır. Create Elastic Network Interface sayfasında Elastic Network Interface Name, VPC, vSwitch ve Security Group alanlarını ayarlayın. Ardından, Add Elastic RDMA Interface anahtarını açın, ihtiyaca göre birincil özel IP adresini ve ikincil özel IP adreslerini yapılandırın ve Create Network Interface düğmesini tıklayın.

      2. İkincil ENI'yi GPU örneğine bağlayın.

        Daha fazla bilgi için bkz. İkincil bir ENI bağlayın.

        Not

        Tek bir örneğe ERI etkinleştirilmiş en fazla iki ikincil ENI bağlayabilirsiniz.

        ERI etkinleştirilmiş ikincil bir ENI'yi bir GPU örneğinden ayırmak için önce örneği durdurmanız gerekir. Daha fazla bilgi için bkz. Bir örneği durdurun.

      3. GPU örneğine bağlanın.

        Daha fazla bilgi için bkz. Workbench kullanarak bir Linux örneğine bağlanın.

      4. Yeni bağlanan ENI'nin kullanılabilir olup olmadığını kontrol etmek için ifconfig komutunu çalıştırın.

        Komut çıktısında yeni bağlanan ikincil ENI görünmüyorsa bunu yapılandırmanız gerekir. Daha fazla bilgi için bkz. Linux örneğinde ikincil bir ENI yapılandırın. Aksi takdirde bu adımı atlayın.

        Not

        Bazı görüntüler yeni bağlanan ikincil bir ENI'yi otomatik olarak tanımayabilir. Bu durumda ikincil ENI'yi örnek içinden yapılandırmanız gerekir.

  4. (İsteğe Bağlı) Örnekte eRDMA yazılım yığınını yükleyin.

    Genel görüntüyü seçerken Install eRDMA Software Stack seçeneğini seçmediyseniz, Elastic RDMA Interface (ERI) özelliğini etkinleştirmek için eRDMA yazılım yığınını manuel olarak veya bir komut dosyasıyla yüklemeniz gerekir.

    • Komut dosyası ile yükleme

      GPU örneği oluşturulduktan sonra, eRDMA yazılım yığınını, GPU sürücüsünü, CUDA'yı ve cuDNN'yi ayrı ayrı yüklemek için aşağıdaki örnek komut dosyasını kullanabilirsiniz.

      #!/bin/sh
      #Please input version to install
      DRIVER_VERSION="570.133.20"
      CUDA_VERSION="12.8.1"
      CUDNN_VERSION="9.8.0.87"
      IS_INSTALL_eRDMA="TRUE"
      IS_INSTALL_RDMA="FALSE"
      INSTALL_DIR="/root/auto_install"
      #using .run to install driver and cuda
      auto_install_script="auto_install_v4.0.sh"
      script_download_url=$(curl http://100.100.100.200/latest/meta-data/source-address | head -1)"/opsx/ecs/linux/binary/script/${auto_install_script}"
      echo $script_download_url
      rm -rf $INSTALL_DIR
      mkdir -p $INSTALL_DIR
      cd $INSTALL_DIR && wget -t 10 --timeout=10 $script_download_url && bash ${INSTALL_DIR}/${auto_install_script} $DRIVER_VERSION $CUDA_VERSION $CUDNN_VERSION $IS_INSTALL_RDMA $IS_INSTALL_eRDMA
    • Manuel yükleme

      Bir GPU örneği oluşturduktan sonra OFED sürücüsünü, eRDMA sürücüsünü ve GPU sürücüsünü manuel olarak yükleyebilir ve ardından nv_peer_mem hizmet bileşenini yükleyebilirsiniz. Aşağıdaki adımları izleyin:

      1. GPU örneğine bağlanın.

        Daha fazla bilgi için bkz. Workbench kullanarak bir Linux örneğine bağlanın.

      2. OFED sürücüsünü yükleyin.

        1. Gerekli paketleri yüklemek için aşağıdaki komutu çalıştırın.

          Alibaba Cloud Linux 4

          sudo yum install -y perl-File-Find perl-File-Copy perl-sigtrap perl-File-Compare
          sudo yum install --enablerepo=alinux4-devel libdb-devel valgrind-devel -y
          sudo yum install -y libselinux-devel autoconf iptables-devel patch elfutils-devel rpm-build kernel-devel-$(uname -r) libmnl-devel flex bison automake lsof

          Alibaba Cloud Linux 3

          sudo yum install rpm-build flex iptables-devel systemd-devel gdb-headless elfutils-devel python3-Cython bison numactl-devel libmnl-devel libnl3-devel libdb-devel libselinux-devel perl-generators elfutils-libelf-devel kernel-rpm-macros valgrind-devel cmake lsof -y

          CentOS 8.5/8,4/7,9

          • CentOS 8.5/8,4

            sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/centos8/python3-Cython-0.29.32-3.16.x86_64.rpm
            sudo yum install python3-Cython-0.29.32-3.16.x86_64.rpm -y
            cyum install kernel-rpm-macros perl-generators libmnl-devel valgrind-devel rpm-build systemd-devel libdb-devel iptables-devel lsof elfutils-devel bison libnl3-devel libselinux-devel flex cmake numactl-devel -y
          • CentOS 7,9

            sudo yum install  python-devel python3-Cython kernel-rpm-macros perl-generators libmnl-devel valgrind-devel rpm-build systemd-devel libdb-devel iptables-devel lsof elfutils-devel bison libnl3-devel libselinux-devel flex cmake numactl-devel -y

          Ubuntu 24.04/22,04/20,04/18,04

          • Ubuntu 24.04

            sudo apt-get update -y
            sudo apt-get install -y pkg-config
          • Ubuntu 22,04

            sudo apt-get update -y
            sudo apt-get install -y pkg-config
          • Ubuntu 20,04

            sudo apt-get update -y
            sudo apt-get install -y pkg-config
          • Ubuntu 18,04

            sudo apt-get update
            sudo apt-get install -y pkg-config
            sudo apt install -y make dh-python libdb-dev libselinux1-dev flex dpatch swig graphviz chrpath quilt python3-distutils bison libmnl-dev libelf-dev gcc sudo python3
        2. OFED paketi yapılandırma dosyasını indirmek için aşağıdaki komutu çalıştırın.

          Alibaba Cloud Linux 4

          sudo echo '%rhel 10' > /usr/lib/rpm/macros.d/macros.alinux-compat
          sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/MLNX_OFED_SRC-26.04-0.8.5.0.tgz
          sudo tar -xf MLNX_OFED_SRC-26.04-0.8.5.0.tgz && cd MLNX_OFED_SRC-26.04-0.8.5.0/
          sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/alibaba_cloud4/4/ofed_alibaba_cloud4.conf
          sudo rm -rf SRPMS/mlnx-ofa_kernel-26.04-OFED.26.04.0.8.5.1.src.rpm
          sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/mlnx-ofa_kernel-26.04-OFED.26.04.0.8.5.1.egs.1.src.rpm  -O SRPMS/mlnx-ofa_kernel-26.04-OFED.26.04.0.8.5.1.egs.1.src.rpm

          Alibaba Cloud Linux 3

          sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/MLNX_OFED_SRC-24.10-3.2.5.0.tgz
          sudo tar -xvf MLNX_OFED_SRC-24.10-3.2.5.0.tgz && cd MLNX_OFED_SRC-24.10-3.2.5.0
          sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/alibaba_cloud3/3/ofed_alibaba_cloud3.conf
          sudo rm -rf SRPMS/mlnx-ofa_kernel-24.10-OFED.24.10.3.2.5.1.src.rpm
          sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/mlnx-ofa_kernel-24.10-OFED.24.10.3.2.5.1.egs.1.src.rpm  -O SRPMS/mlnx-ofa_kernel-24.10-OFED.24.10.3.2.5.1.egs.1.src.rpm

          CentOS 8.5/8,4/7,9

          • CentOS 8.5/8,4

            cd /root
            sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/MLNX_OFED_SRC-5.4-3.5.8.0.tgz
            sudo tar -xvf MLNX_OFED_SRC-5.4-3.5.8.0.tgz && cd MLNX_OFED_SRC-5.4-3.5.8.0/
            sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/alibaba_cloud3/3/ofed_alibaba_cloud3.conf
            sudo rm -rf SRPMS/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.src.rpm
            sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.egs.1.src.rpm  -O SRPMS/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.egs.1.src.rpm
          • CentOS 7,9

            sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/MLNX_OFED_SRC-5.4-3.5.8.0.tgz
            sudo tar -xvf MLNX_OFED_SRC-5.4-3.5.8.0.tgz && cd MLNX_OFED_SRC-5.4-3.5.8.0/
            sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/alibaba_cloud3/3/ofed_alibaba_cloud3.conf
            sudo rm -rf SRPMS/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.src.rpm
            sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.egs.1.src.rpm  -O SRPMS/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.egs.1.src.rpm

          Ubuntu 24.04/22,04/20,04/18,04

          • Ubuntu 24.04/22,04/20,04

            sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/MLNX_OFED_SRC-debian-24.10-3.2.5.0.tgz
            sudo tar -xvf MLNX_OFED_SRC-debian-24.10-3.2.5.0.tgz && cd MLNX_OFED_SRC-24.10-3.2.5.0 && curl -O http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/ofed_debian.conf
            sudo rm -rf SOURCES/mlnx-ofed-kernel_24.10.OFED.24.10.3.2.5.1.orig.tar.gz
            sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/mlnx-ofed-kernel_24.10.egs.1.OFED.24.10.3.2.5.1.orig.tar.gz -O SOURCES/mlnx-ofed-kernel_24.10.egs.1.OFED.24.10.3.2.5.1.orig.tar.gz
          • Ubuntu 18,04

            sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/MLNX_OFED_SRC-debian-5.4-3.6.8.1.tgz
            sudo tar -xvf MLNX_OFED_SRC-debian-5.4-3.6.8.1.tgz && cd MLNX_OFED_SRC-5.4-3.6.8.1 && curl -O http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/ofed_debian.conf
            sudo rm -rf SOURCES/mlnx-ofed-kernel_5.4.orig.tar.gz
            sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/mlnx-ofed-kernel_5.4.egs.orig.tar.gz -O SOURCES/mlnx-ofed-kernel_5.4.egs.orig.tar.gz
        3. OFED sürücüsünü yüklemek için işletim sisteminize uygun komutu çalıştırın.

          Alibaba Cloud Linux 4

          sudo ./install.pl --config ./ofed_alibaba_cloud4.conf --distro RHEL8 --without-depcheck --without-dkms
          sudo dracut -f

          Alibaba Cloud Linux 3

          sudo ./install.pl --config ./ofed_alibaba_cloud3.conf --distro RHEL8
          sudo dracut -f

          CentOS 8.5/8,4/7,9

          • CentOS 8.5/8,4

            sudo ./install.pl --config ./ofed_alibaba_cloud3.conf --distro RHEL8 
          • CentOS 7,9

            sudo ./install.pl --config ./ofed_alibaba_cloud3.conf --distro RHEL7 

          Ubuntu 24.04/22,04/20,04/18,04

          ${VERSION_ID} ifadesini Ubuntu sürümünüzle (örneğin 24.04) değiştirin.

          sudo curl -O http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/ofed_debian.conf
          sudo ./install.pl --config ./ofed_debian.conf --without-dkms --build-only --kernel-only 
          sudo /usr/bin/dpkg -i --force-confmiss DEBS/ubuntu`lsb_release -s -r`/x86_64/*.deb
          sudo update-initramfs -u
        4. /usr/src/ofa_kernel/ dizininin var olup olmadığını kontrol etmek için aşağıdaki komutu çalıştırın.

          • Dizin varsa sonraki adıma geçin.

            ls /usr/src/ofa_kernel/`uname -r`
          • Dizin yoksa sembolik bir bağlantı oluşturmak için aşağıdaki komutu çalıştırın ve ardından sonraki adıma geçin.

            sudo ln -s /usr/src/ofa_kernel/default /usr/src/ofa_kernel/`uname -r`
        5. Örneği yeniden başlatın.

          OFED sürücüsünü yükledikten sonra yeni çekirdek modülünün etkili olması için örneği yeniden başlatın. Daha fazla bilgi için bkz. Bir örneği yeniden başlatın.

      3. eRDMA sürücüsünü yükleyin.

        1. eRDMA sürücüsünü indirin ve yükleyin.

          sudo wget http://mirrors.cloud.aliyuncs.com/erdma/env_setup.sh
          sudo bash env_setup.sh --egs
        2. eRDMA sürücü yüklemesini eadm aracıyla doğrulamak için aşağıdaki komutu çalıştırın:

          sudo eadm ver

          Aşağıdakine benzer bir çıktı, yüklemenin başarılı olduğunu gösterir.

          [root@xxx ~]# sudo eadm ver
          Query kernel driver version: 0.2.35
          Not

          Bu konuda sürücü sürümü 0.2.35 örnek olarak kullanılmıştır. Komut "command not found" hatası döndürür veya çalışmazsa eRDMA sürücüsünü yeniden yükleyin.

      4. GPU sürücüsünü yükleyin.

        Daha fazla bilgi için bkz. GPU örneğinde Tesla sürücüsünü manuel olarak yükleyin (Linux).

      5. nv_peer_mem hizmet bileşenini yükleyin.

        • (Önerilen) GPU sürücüsü 470.xx.xx veya üzeri

          GPUDirect RDMA'yı etkinleştirmek için nv_peer_mem hizmet bileşenini yüklemeniz gerekir. NVIDIA bu bileşeni bu sürücü sürümlerine dahil ettiği için GPU sürücüsü 470.xx.xx veya üzerini kullanmanızı öneririz. nvidia_peermem modülünü yüklemek için aşağıdaki komutu çalıştırabilirsiniz.

          sudo modprobe nvidia_peermem
          # You can run lsmod|grep nvidia to check whether nvidia_peermem is loaded.
          Not

          Örnek yeniden başlatılırsa nvidia_peermem modülünü yeniden yüklemeniz gerekir.

        • 470.xx.xx öncesi GPU sürücüleri

          Hizmet bileşenini manuel olarak indirip yüklemeniz gerekir. Aşağıdaki kod, bileşenin nasıl indirileceğini, derleneceğini ve yükleneceğini gösterir.

          sudo git clone https://github.com/Mellanox/nv_peer_memory.git
          # Compile and install nv_peer_mem.ko.
          cd nv_peer_memory && make
          cp nv_peer_mem.ko /lib/modules/$(uname -r)/kernel/drivers/video
          sudo depmod -a
          sudo modprobe nv_peer_mem
          # You can run lsmod|grep nv_peer_mem to check the result.
          sudo service nv_peer_mem start
  1. Bant genişliğini doğrulayın.

    1. GPU örneğine bağlanın.

      Daha fazla bilgi için bkz. Workbench kullanarak bir Linux örneğine bağlanın.

    2. İki eRDMA NIC'in beklendiği gibi çalışıp çalışmadığını kontrol etmek için aşağıdaki komutu çalıştırın.

      sudo ibv_devinfo

      Varsayılan olarak eRDMA sürücü yükleme komut dosyası en son sürücü sürümünü yükler. eRDMA sürücüsünün daha eski bir sürümünü yüklemeniz gerekiyorsa yardım almak için destek talebi gönderin.

      Bu konuda eRDMA sürücü sürümü 0.2.37 veya üzeri örnek olarak kullanılmıştır. Aşağıdaki çıktı, doğru çalışan iki eRDMA cihazını gösterir. Bir eRDMA cihazının port state değeri PORT_ACTIVE ise cihaz doğru çalışıyor demektir.

      [ecs-xxx...xxx4gnd0hZ ~]$ sudo ibv_devinfo
      hca_id:	erdma_0
      	transport:			eRDMA (0)
      	fw_ver:				0.2.0
      	node_guid:			0216:3eff:fe36:1eb4
      	sys_image_guid:			0216:3eff:fe36:1eb4
      	vendor_id:			0x1ded
      	vendor_part_id:			4223
      	hw_ver:				0x0
      	phys_port_cnt:			1
      		port:	1
      			state:			PORT_ACTIVE (4)
      			max_mtu:		1024 (3)
      			active_mtu:		1024 (3)
      			sm_lid:			0
      			port_lid:		0
      			port_lmc:		0x00
      			link_layer:		Ethernet
      hca_id:	erdma_1
      	transport:			eRDMA (0)
      	fw_ver:				0.2.0
      	node_guid:			0216:3eff:fe43:9c2a
      	sys_image_guid:			0216:3eff:fe43:9c2a
      	vendor_id:			0x1ded
      	vendor_part_id:			4223
      	hw_ver:				0x0
      	phys_port_cnt:			1
      		port:	1
      			state:			PORT_ACTIVE (4)
      			max_mtu:		1024 (3)
      			active_mtu:		1024 (3)
      			sm_lid:			0
      			port_lid:		0
      			port_lmc:		0x00
      			link_layer:		Ethernet
      Not

      Port state değeri invalid state ise cihaz doğru çalışmıyordur. Öncelikle ikincil ENI yapılandırmasını kontrol etmenizi öneririz. Örneğin, her NIC'in doğru yapılandırma ve IP adresine sahip olduğunu doğrulamak için ifconfig komutunu çalıştırın.

    3. perftest aracını yüklemek için aşağıdaki komutu çalıştırın.

      sudo yum install perftest -y
    4. RDMA ağ bant genişliğinin donanım beklentilerini karşılayıp karşılamadığını test etmek için aşağıdaki komutları çalıştırın.

      1. Sunucuda, istemci bağlantı isteklerini dinlemek için aşağıdaki komutu çalıştırın.

        sudo ib_write_bw -d erdma_0 -F -q 16 --run_infinitely --report_gbits -p 18515
      2. İstemcide, bağlantı istekleri ve veri paketleri göndermek için aşağıdaki komutu çalıştırın.

        sudo ib_write_bw -d erdma_0 -F -q 16 --run_infinitely --report_gbits -p 18515 server_ip

        Bu komutta server_ip sunucunun ERI etkinleştirilmiş ENI'sinin özel IP adresidir. Bu IP adresini bulmak için bkz. IP adreslerini görüntüleyin.

      Not

      Yukarıdaki perftest kıyaslaması iletişim için bir NIC kullanır. İş yükünüz iletişim için iki NIC gerektiriyorsa iki perftest işlemi başlatmanız gerekir. Ardından, her işlem için bir eRDMA NIC belirtmek üzere -d parametresini ve farklı iletişim bağlantı noktaları belirtmek üzere -p parametresini kullanın. Daha fazla bilgi için bkz. perftest Details.

      Test sonuçları ortalama bant genişliğini içerir. Aşağıdakine benzer bir çıktı, eRDMA iletişiminin normal olduğunu gösterir.

      Komut çıktısı ayrıntıları

      ---------------------------------------------------------------------------------------
                          RDMA_Write BW Test
       Dual-port       : OFF          Device         : erdma_0
       Number of qps   : 16           Transport type : IB
       Connection type : RC           Using SRQ      : OFF
       PCIe relax order: ON
       ibv_wr* API     : OFF
       TX depth        : 128
       CQ Moderation   : 1
       Mtu             : 1024[B]
       Link type       : Ethernet
       GID index       : 1
       Max inline data : 0[B]
       rdma_cm QPs     : OFF
       Data ex. method : Ethernet
      ---------------------------------------------------------------------------------------
       local address: LID 0000 QPN 0x0002 PSN 0xa66b22 RKey 0x000100 VAddr 0x007f09922fd000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x0003 PSN 0x3b9364 RKey 0x000100 VAddr 0x007f099230d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x0004 PSN 0x6b1ade RKey 0x000100 VAddr 0x007f099231d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x0005 PSN 0x8c83d5 RKey 0x000100 VAddr 0x007f099232d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x0006 PSN 0x1335c4 RKey 0x000100 VAddr 0x007f099233d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x0007 PSN 0xc451d6 RKey 0x000100 VAddr 0x007f099234d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x0008 PSN 0x4edd7d RKey 0x000100 VAddr 0x007f099235d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x0009 PSN 0x93d832 RKey 0x000100 VAddr 0x007f099236d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x000a PSN 0x16d2ee RKey 0x000100 VAddr 0x007f099237d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x000b PSN 0x6820d8 RKey 0x000100 VAddr 0x007f099238d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x000c PSN 0x9419c RKey 0x000100 VAddr 0x007f099239d000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x000d PSN 0xedd7ff RKey 0x000100 VAddr 0x007f09923ad000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x000e PSN 0x70ff7f RKey 0x000100 VAddr 0x007f09923bd000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x000f PSN 0x8ccc0 RKey 0x000100 VAddr 0x007f09923cd000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x0010 PSN 0x33327e RKey 0x000100 VAddr 0x007f09923dd000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       local address: LID 0000 QPN 0x0011 PSN 0x9b836a RKey 0x000100 VAddr 0x007f09923ed000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:146
       remote address: LID 0000 QPN 0x0002 PSN 0x651666 RKey 0x000100 VAddr 0x007f5011099000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x0003 PSN 0xf99758 RKey 0x000100 VAddr 0x007f50110a9000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x0004 PSN 0xd001c2 RKey 0x000100 VAddr 0x007f50110b9000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x0005 PSN 0x23aae9 RKey 0x000100 VAddr 0x007f50110c9000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x0006 PSN 0xfad148 RKey 0x000100 VAddr 0x007f50110d9000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x0007 PSN 0xca210a RKey 0x000100 VAddr 0x007f50110e9000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x0008 PSN 0xe0cea1 RKey 0x000100 VAddr 0x007f50110f9000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x0009 PSN 0x8ddc86 RKey 0x000100 VAddr 0x007f5011109000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x000a PSN 0xde22b2 RKey 0x000100 VAddr 0x007f5011119000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x000b PSN 0x9f2f4c RKey 0x000100 VAddr 0x007f5011129000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x000c PSN 0x66a100 RKey 0x000100 VAddr 0x007f5011139000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x000d PSN 0x934d93 RKey 0x000100 VAddr 0x007f5011149000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x000e PSN 0xf70783 RKey 0x000100 VAddr 0x007f5011159000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x000f PSN 0xfdce74 RKey 0x000100 VAddr 0x007f5011169000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x0010 PSN 0xfca422 RKey 0x000100 VAddr 0x007f5011179000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
       remote address: LID 0000 QPN 0x0011 PSN 0xaa3e3e RKey 0x000100 VAddr 0x007f5011189000
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:01:149
      ---------------------------------------------------------------------------------------
       #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
       65536      910045           0.00               95.42              0.182003

Test ve doğrulama

Bu konuda, eRDMA etkinleştirilmiş GPU örneklerinin performansını test etmek ve doğrulamak için nccl-tests örnek olarak kullanılmıştır. nccl-tests hakkında daha fazla bilgi için bkz. nccl-tests.

  1. NCCL'yi yüklemek için aşağıdaki komutları çalıştırın.

    NCCL'yi kaynak koddan derleyip yükleyin:

    Not

    Paketi resmi NVIDIA NCCL web sitesinden de indirip yükleyebilirsiniz.

    Bu örnekte NCCL /usr/local/nccl dizinine yüklenir. Gereksinimlerinize göre farklı bir yükleme yolu belirtebilirsiniz.

    # build nccl
    cd /root
    sudo git clone https://github.com/NVIDIA/nccl.git
    cd nccl/
    sudo make -j src.lib PREFIX=/usr/local/nccl
    sudo make install PREFIX=/usr/local/nccl
  2. NCCL ve libnccl.so kitaplığının yüklü olduğunu doğrulamak için aşağıdaki komutları çalıştırın.

    # Check for NCCL
    ls /usr/local/nccl
    # Check for the libnccl.so library
    ls /usr/local/nccl/lib
  3. Open MPI'yi ve gerekli derleyicileri yüklemek için aşağıdaki komutları çalıştırın.

    sudo wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.3.tar.gz
    sudo tar -xzf openmpi-4.1.3.tar.gz
    cd openmpi-4.1.3
    sudo ./configure --prefix=/usr/local/openmpi
    sudo make -j && make install
  4. Ortam değişkenlerini ayarlamak için aşağıdaki komutları çalıştırın.

    NCCL_HOME=/usr/local/nccl
    CUDA_HOME=/usr/local/cuda
    MPI_HOME=/usr/local/openmpi
    export LD_LIBRARY_PATH=${NCCL_HOME}/lib:${CUDA_HOME}/lib64:${MPI_HOME}/lib:$LD_LIBRARY_PATH
    export PATH=${CUDA_HOME}/bin:${MPI_HOME}/bin:$PATH

    Yukarıdaki komutlar aşağıdaki örnek yolları kullanır: NCCL_HOME NCCL yükleme yoluna (/usr/local/nccl), CUDA_HOME CUDA yükleme yoluna (/usr/local/cuda) ve MPI_HOME Open MPI yükleme yoluna (/usr/local/openmpi) işaret eder. Bu yolları gerçek yükleme yollarınızla değiştirin.

    Komutu düzenlemeyi tamamladıktan sonra, örnekteki ~/.bashrc dosyasını düzenleyerek PATH ve LD_LIBRARY_PATH ayarlayın. Ardından, ortam değişkeni ayarlarının etkili olması için aşağıdaki komutu çalıştırın.

    source ~/.bashrc
  5. Test kodunu indirmek ve derlemek için aşağıdaki komutları çalıştırın.

    sudo git clone https://github.com/NVIDIA/nccl-tests
    cd nccl-tests/
    sudo make MPI=1 CUDA_HOME=/usr/local/cuda MPI_HOME=/usr/local/openmpi
  6. Örnekler arasında parolasız SSH erişimi ayarlamak için aşağıdaki komutları çalıştırın.

    Parolasız SSH erişimi ayarlamak için host1'de bir genel anahtar oluşturun ve bunu host2'ye kopyalayın.

    # On host1
    ssh-keygen
    ssh-copy-id -i ~/.ssh/id_rsa.pub ${host2}
    ssh root@${host2}   # On host1, run this command to test the connection. A successful login without a password prompt confirms that the setup is complete.
  7. NCCL all-reduce performansını test etmek için aşağıdaki komutu çalıştırın.

    # Replace host1 and host2 with the IP addresses of your instances.
    mpirun --allow-run-as-root -np 16 -npernode 8 -H host1:8,host2:8 \
    --bind-to none \
    -mca btl_tcp_if_include eth0 \
    -x NCCL_SOCKET_IFNAME=eth0 \
    -x NCCL_GIN_TYPE=0 \
    -x NCCL_DEBUG=INFO \
    -x LD_LIBRARY_PATH \
    -x PATH \
    ./build/all_reduce_perf -b 4M -e 4M -f 2 -g 1 -t 1 -n 20

eRDMA yapılandırma doğrulaması

Temel eRDMA yapılandırmasını tamamladıktan sonra ortamınızı doğrulamak ve eRDMA'nın doğru çalıştığından emin olmak için aşağıdaki kontrol listesini kullanın.

Bu bölüm aşağıdaki eRDMA uyumlu GPU elastik bare metal örnek türleri için geçerlidir: ebmgn9g, ebmgn9gc, ebmgn9ge, ebmgn8is ve ebmgn8v.

Tek tıkla kontrol komut dosyası (Önerilen)

Aşağıdaki öğeleri hızlıca doğrulamak için bu tek tıkla komut dosyasını kullanın:

sudo wget http://mirrors.cloud.aliyuncs.com/erdma/tools/env_check.py
sudo python3 env_check.py -s egs_l20n

Tüm kontroller PASS gösteriyorsa ortam doğru yapılandırılmıştır. JSON biçimli çıktıya ihtiyacınız varsa --json parametresini ekleyebilirsiniz.

Not

Bu komut dosyası şu anda GPU ACS'nin devre dışı bırakılıp bırakılmadığını kontrol etmez. Bunu manuel olarak onaylamanız gerekir. Ayrıca NCCL çalışma zamanında NCCL_GRAPH_FILE ortam değişkenini manuel olarak belirtmeniz gerekir.

Kategori

Öğe

Doğrulama yöntemi

Açıklama

Ağ arayüzü yapılandırması

Örnekte iki eRDMA ağ arayüzü bulunur

ibv_devices komutunu çalıştırın ve çıktıda erdma_0 ve erdma_1 cihazlarının bulunduğunu doğrulayın.

Konsoldan bir örnek oluşturduğunuzda varsayılan olarak iki eRDMA ağ arayüzü yapılandırılır. Ek bir işlem gerekmez.

Ağ arayüzü durumu PORT_ACTIVE durumundadır

Tüm bağlantı noktalarının durumunun PORT_ACTIVE olduğunu doğrulamak için aşağıdaki komutu çalıştırın:

ibv_devinfo | grep state

Kontrol başarısız olursa eRDMA ağ arayüzüne karşılık gelen Ethernet cihazının UP durumunda olduğunu onaylamak için ifconfig komutunu çalıştırın.

İki ağ arayüzü farklı NUMA düğümlerine bağlıdır

Aşağıdaki komutu çalıştırın ve dönen değerlerin sırasıyla 0 ve 1 olduğunu doğrulayın:

cat /sys/class/infiniband/erdma_0/device/numa_node
    cat /sys/class/infiniband/erdma_1/device/numa_node

Her iki komut da 0 döndürürse ikincil ağ arayüzü yanlış bir NUMA düğümüne bağlıdır. Bunu düzeltmek için şu adımları izleyin:

  1. İkincil ağ arayüzünü ayırın.

  2. AttachNetworkInterface API'sini çağırarak ikincil ağ arayüzünü yeniden bağlayın ve NetworkCardIndex parametresini 1 olarak ayarlayın.

Jumbo çerçeveler etkinleştirilmiştir

Ağ arayüzlerinin MTU değerinin 4096 olduğunu doğrulamak için aşağıdaki komutu çalıştırın:

ibv_devinfo | grep mtu

MTU 4096 değilse jumbo çerçeveleri etkinleştirin ve ardından kontrolü tekrar çalıştırın.

MPCC tıkanıklık kontrol algoritması etkinleştirilmiştir

Tıkanıklık kontrol algoritmasını kontrol etmek için aşağıdaki komutları çalıştırın:

eadm conf -d erdma_0 -t cc
eadm conf -d erdma_1 -t cc

eRDMA sürücüsü 1.5.6 ve sonraki sürümler varsayılan olarak MPCC algoritmasını kullanır.

MPCC etkinleştirilmemişse bunu manuel olarak etkinleştirmek için aşağıdaki komutları çalıştırın:

eadm conf -d erdma_0 -t cc -v 4
eadm conf -d erdma_1 -t cc -v 4

eRDMA ağ arayüzleri için IP adresi çakışması yoktur

Her eRDMA ağ arayüzünün benzersiz bir IP adresine sahip olduğunu doğrulamak için show_gids komutunu çalıştırın.

Bu sorun genellikle ACK Terway ağ eklentisini kullandığınızda ortaya çıkar. Bu sorunla karşılaşırsanız çözüm için bkz. Terway beyaz liste yapılandırması.

NCCL

NCCL topoloji dosyasını belirtin
(yalnızca ebmgn9g, ebmgn9gc ve ebmgn9ge örnek türleri için gereklidir)















Topoloji dosyasını (l20n.xml) örnekteki yerel bir yola kaydedin, örneğin /root/l20n.xml.

Bir NCCL görevini başlatmadan önce aşağıdaki ortam değişkenini ayarlayın:

export NCCL_GRAPH_FILE=/root/l20n.xml

Topoloji dosyası indirme URL'leri:

GPU

P2P iletişim performansını artırmak için GPU ACS'yi (PCI Access Control Services) devre dışı bırakın
(yalnızca ebmgn9g, ebmgn9gc ve ebmgn9ge örnek türleri için gereklidir)















ACS durumunu kontrol etmek için aşağıdaki komutu çalıştırın:

lspci -vvv | grep ACSCtl

SrcValid- görüntüleniyorsa ACS devre dışı bırakılmıştır ve işlem gerekmez.

SrcValid+ görüntüleniyorsa ACS kapatılmamış demektir. Manuel olarak kapatmak için aşağıdaki komut dosyasını çalıştırın:

for BDF in $(lspci -d "*:*:*" | awk '{print $1}'); do
      sudo setpci -v -s ${BDF} ECAP_ACS+0x6.w > /dev/null 2>&1
      if [ $? -ne 0 ]; then
        continue
      fi
      sudo setpci -v -s ${BDF} ECAP_ACS+0x6.w=0000
    done

Referanslar

  • Ağ topolojinizi değiştirmeden ultra düşük gecikme süresi, yüksek aktarım hızı ve esnek bir RDMA ağ hizmeti için kurumsal düzeyde bir örnekte eRDMA'yı yapılandırın. Daha fazla bilgi için bkz. Kurumsal düzeyde örneklerde eRDMA'yı etkinleştirin.

  • Konteynerlerde büyük ölçekli veri aktarımları ve yüksek performanslı ağ iletişimi gerektiren uygulamalar için eRDMA'yı bir konteyner (Docker) ortamına entegre edebilirsiniz. Bu süreç, konteynerleştirilmiş uygulamaların işletim sistemi çekirdeğini atlayarak doğrudan ana bilgisayarın eRDMA cihazlarına erişmesine olanak tanır ve daha hızlı veri aktarımı ile daha verimli iletişim sağlar. Daha fazla bilgi için bkz. Bir konteynerde (Docker) eRDMA'yı etkinleştirin.

  • eRDMA'yı izlemek ve teşhis etmek için bkz. eRDMA'yı izleyin ve teşhis edin.