阿里云服务器在GPU实例上配置eRDMA-[云淘科技_教程]

GPU实例绑定弹性RDMA网卡(ERI)后,各GPU实例间在VPC网络下可以实现RDMA直通加速互联,相比传统的RDMA,eRDMA可以提供更高效的数据传输服务,有效提升GPU实例之间的通信效率并缩短任务处理时间。本文介绍如何在GPU实例上配置eRDMA。

背景信息

使用本教程前,请您了解以下内容。

  • 弹性RDMA网卡(Elastic RDMA Interface,简称ERI)是一种可以绑定到ECS实例的虚拟网卡。更多信息,请参见功能简介。

  • 弹性网卡(Elastic Network Interfaces,简称ENI)是专有网络VPC中的虚拟网络接口,用于连接云服务器与专有网络。更多信息,请参见弹性网卡概述。

  • 弹性RDMA(Elastic Remote Direct Memory Access,简称eRDMA)是阿里云提供的低延迟、大吞吐、高弹性的高性能RDMA网络服务。更多信息,请参见eRDMA概述。

操作步骤

  1. 创建支持ERI的GPU实例。

    具体操作,请参见创建配备GPU驱动的GPU实例(Linux)。

    需要注意的配置项

    配置项

    说明

    地域及可用区

    支持选择华南1(深圳)、华北2(北京)及对应的可用区。

    实例规格

    支持ERI的实例规格如下:

    • ebmgn7ex

    • ebmgn7ix

    镜像

    支持以下镜像(任选一款):

    • CentOS 8.5/8.4/7.9

    • Ubuntu 20.04/18.04

    • Alibaba Cloud Linux 3

    eRDMA设备数量

    每个实例最大支持2个eRDMA网卡设备。

    热插拔特性

    ERI网卡只支持热插入,不支持热拔出。

    其他限制

    • ERI设置不支持IPv6地址。

    • 两个实例之间通过ERI通信,通信链路中间不支持跨网元设备(例如负载均衡SLB等)。

    启用ERI的主网卡和辅助网卡

    创建GPU实例过程中,在带宽和安全组配置向导页面配置弹性网卡时,会默认创建一块eRDMA主网卡和一块eRDMA辅助网卡,并且主网卡和辅助网卡右侧的弹性RDMA接口选项会默认被自动选中。阿里云服务器在GPU实例上配置eRDMA-[云淘科技_教程]

    说明

    • GPU实例开启后不支持启用或关闭某一弹性网卡的弹性RDMA能力。

    • 开启了弹性RDMA能力后的2张网卡会自动绑定到不同的通道上,无需您单独指定。

    • 主网卡不支持从GPU实例中解绑,只能随GPU实例一起创建和释放。

    在实例购买页使能弹性RDMA网卡(ERI)

    在创建GPU实例过程中,使能弹性RDMA网卡(ERI)功能时,您需要注意以下几点:

    • 目前仅部分公共镜像支持安装eRDMA软件栈,例如Alibaba Cloud Linux 3、CentOS 7.9、CentOS 8.4、CentOS 8.5、Ubuntu 18.04和Ubuntu 20.04镜像。

    • 公共镜像页签下,如果选择了支持安装eRDMA软件栈的镜像操作系统及版本(即可选中安装eRDMA软件栈选项),但未选中安装eRDMA软件栈选项,则实例创建后您可通过脚本安装方式或手动安装方式安装eRDMA软件栈,来使能eRDMA网卡。

    • 公共镜像页签下,如果选择了不支持安装eRDMA软件栈的镜像操作系统及版本(即无法选中安装eRDMA软件栈选项),则实例创建后您无法通过脚本安装方式或手动安装方式来使能eRDMA网卡。

    • 公共镜像页签下,如果未选中安装eRDMA软件栈选项,则您可以选择更多的镜像操作系统及版本。

    在实例购买页,选择了支持弹性RDMA网卡的实例(例如ebmgn7ex)后,如果选择公共镜像时,默认同时选中安装GPU驱动安装eRDMA软件栈选项,则该实例创建完成后,系统会自动在实例内部安装GPU驱动、CUDA、cuDNN以及eRDMA软件栈。

    阿里云服务器在GPU实例上配置eRDMA-[云淘科技_教程]

  2. (可选)单独创建并启用ERI的辅助弹性网卡。

    如果在创建GPU实例时关闭了弹性网卡的弹性RDMA能力(即未选中弹性RDMA接口),则您可以通过控制台或OpenAPI任一方式单独创建并启用ERI的辅助弹性网卡。

    说明

    • 创建GPU实例时,如果主网卡和辅助网卡均未选中弹性RDMA接口,则创建实例后,您可以再单独创建并启用2个eRDMA辅助弹性网卡。

    • 创建GPU实例时,如果主网卡或辅助网卡其中一个网卡未选中弹性RDMA接口,则创建实例后,您只能再单独创建并启用1个eRDMA辅助弹性网卡。

    通过OpenAPI方式创建并挂载eRDMA网卡到GPU实例时,每个GPU实例最多支持2张eRDMA网卡,且需要分别通过NetworkCardIndex参数绑定到不同的通道上。而通过控制台方式创建和挂载eRDMA网卡到GPU实例时,不支持绑定到不同通道,会导致2张eRDMA网卡总带宽减少一半,故建议您使用OpenAPI的方式挂载eRDMA网卡。

    (推荐)OpenAPI方式

    1. 创建弹性RDMA网卡。

      具体操作,请参见CreateNetworkInterface。主要参数说明如下:

      参数

      说明

      RegionId

      实例所在地域的ID。

      VSwitchId

      指定VPC的交换机ID。弹性网卡的私网IP地址在交换机的IP地址段内的空闲地址中取值。

      SecurityGroupId

      加入一个安全组。安全组和弹性网卡必须在同一个专有网络VPC中。

      NetworkInterfaceTrafficMode

      弹性网卡的通讯模式。取值范围:

      • Standard:使用TCP通讯模式。

      • HighPerformance:开启ERI(Elastic RDMA Interface)接口,使用RDMA通讯模式。

      本步骤选择HighPerformance模式。

      调用成功后,请记录返回数据中生成的弹性网卡ID(即NetworkInterfaceId对应的返回值)。

    2. 绑定eRDMA弹性网卡。

      具体操作,请参见AttachNetworkInterface。主要参数说明如下所示:

      参数

      说明

      RegionId

      实例所在地域的ID。

      NetworkInterfaceId

      弹性网卡ID。即已新创建的弹性RDMA网卡。

      InstanceId

      实例ID。

      NetworkCardIndex

      网卡指定的物理网卡索引。创建弹性RDMA网卡时,在绑定到某个实例时需要您手动指定通道(即物理网卡索引),当前通道可以指定为0或1(2张弹性RDMA指定不同的值)。

      说明

      为了获取最大网络带宽,您需要指定2张RDMA网卡绑定到不同的通道。

      调用成功(即挂载成功)后,在GPU实例的弹性网卡页签下,您可以看到挂载的弹性RDMA网卡。阿里云服务器在GPU实例上配置eRDMA-[云淘科技_教程]

    控制台方式

    1. 创建辅助弹性网卡。

      具体操作,请参见创建弹性网卡。在创建并启用ERI的辅助弹性网卡时,打开增加弹性RDMA接口开关。ERI会共用该辅助弹性网卡的设置,包括弹性网卡的IP、应用于弹性网卡的安全组规则等。阿里云服务器在GPU实例上配置eRDMA-[云淘科技_教程]

    2. 将辅助弹性网卡绑定至GPU实例。

      具体操作,请参见绑定弹性网卡。

      说明

      单台实例最多绑定2个启用ERI的辅助弹性网卡。

      将启用ERI的辅助弹性网卡绑定至GPU实例后,如需解绑,必须先停止该实例。具体操作,请参见停止实例。

  3. 远程连接GPU实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例。

  4. (条件必选)部分镜像可能无法自动识别新绑定的辅助弹性网卡,您需要在实例内配置辅助弹性网卡。

    您可以执行ifconfig命令查看新绑定的辅助弹性网卡。

    • 如果显示新绑定的辅助弹性网卡,请直接执行步骤5。

    • 如果不能显示新绑定的辅助弹性网卡,请手动配置辅助弹性网卡。具体操作,请参见配置辅助弹性网卡。

  5. (可选)在实例内使能弹性RDMA网卡(ERI)。

    在实例购买页,如果选择公共镜像时未选中安装eRDMA软件栈选项,则您可以选择脚本安装方式或手动安装方式安装eRDMA软件栈,来使能弹性RDMA网卡(ERI)。

    脚本安装方式

    GPU实例创建完成后,您可以通过脚本安装方式单独安装eRDMA软件栈、GPU驱动、CUDA以及cuDNN等软件,脚本示例如下所示。其中,关于DRIVER_VERSIONCUDA_VERSIONCUDNN_VERSION的版本选择,请参见可选版本说明。

    #!/bin/sh
    
    #Please input version to install
    DRIVER_VERSION="470.161.03"
    CUDA_VERSION="11.4.1"
    CUDNN_VERSION="8.2.4"
    IS_INSTALL_eRDMA="TRUE"
    IS_INSTALL_RDMA="FALSE"
    IS_INSTALL_AIACC_TRAIN="FALSE"
    IS_INSTALL_AIACC_INFERENCE="FALSE"
    IS_INSTALL_RAPIDS="FALSE"
    INSTALL_DIR="/root/auto_install"
    
    #using .run to install driver and cuda
    auto_install_script="auto_install.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
    
    mkdir $INSTALL_DIR && cd $INSTALL_DIR
    wget -t 10 --timeout=10 $script_download_url && sh ${INSTALL_DIR}/${auto_install_script} $DRIVER_VERSION $CUDA_VERSION $CUDNN_VERSION $IS_INSTALL_AIACC_TRAIN $IS_INSTALL_AIACC_INFERENCE $IS_INSTALL_RDMA $IS_INSTALL_eRDMA $IS_INSTALL_RAPIDS

    手动安装方式

    GPU实例创建完成后,您可以通过手动安装方式单独安装OFED驱动、eRDMA驱动、GPU驱动以及加载nv_peer_mem服务组件,具体操作如下所示。

    1. 安装OFED驱动。

      1. 运行以下命令,安装依赖软件包。

        根据不同镜像,执行相应命令来安装依赖。

        镜像

        命令

        Centos 8.5

        yum install -y dkms cmake gcc-c++ libdb-devel iptables-devel gdb-headless bison libmnl-devel elfutils-devel flex libselinux-devel kernel-rpm-macros rpm-build elfutils-libelf-devel

        Centos 8.4

        dnf config-manager --enable epel              #使能epel
        dnf config-manager --set-enabled powertools   #使能powertools
        
        yum install -y dkms gcc-c++ cmake libarchive kernel-rpm-macros perl-generators python3-Cython
        yum install -y libselinux-devel numactl-devel bison elfutils-devel systemd-devel libdb-devel flex rpm-build gdb-headless libmnl-devel valgrind-devel libnl3-devel iptables-devel

        Centos 7.9

        yum install -y python-devel libmnl-devel valgrind-devel rpm-build systemd-devel libdb-devel iptables-devel lsof libselinux-devel flex cmake elfutils-devel bison libnl3-devel numactl-devel
        • Ubuntu 18.04

        • Ubuntu 20.04

        apt-get update
        apt-get install -y pkg-config
        apt-get autoremove -y librbd1 fio librados2
        apt install dkms libnl-3-dev libnl-route-3-dev cmake -y

        Alibaba Cloud Linux 3

        yum install -y libmnl-devel bison systemd-devel iptables-devel elfutils-libelf-devel libselinux-devel libnl3-devel lsof libdb-devel numactl-devel elfutils-devel cmake flex
        yum install -y valgrind-devel python3-Cython perl-generators rpm-build gdb-headless kernel-rpm-macros
      2. 执行以下命令,下载并安装OFED驱动。

        根据不同镜像,选择执行相应命令来下载并安装OFED驱动。

        镜像

        命令

        Centos 8.5

        wget https://content.mellanox.com/ofed/MLNX_OFED-5.4-3.5.8.0/MLNX_OFED_LINUX-5.4-3.5.8.0-rhel8.5-x86_64.tgz
        tar -zxf MLNX_OFED_LINUX-5.4-3.5.8.0-rhel8.5-x86_64.tgz
        cd MLNX_OFED_LINUX-5.4-3.5.8.0-rhel8.5-x86_64
        ./mlnxofedinstall --kernel-only --without-fw-update -q

        Centos 8.4

        wget https://content.mellanox.com/ofed/MLNX_OFED-5.4-3.5.8.0/MLNX_OFED_LINUX-5.4-3.5.8.0-rhel8.4-x86_64.tgz
        tar -zxf MLNX_OFED_LINUX-5.4-3.5.8.0-rhel8.4-x86_64.tgz
        cd MLNX_OFED_LINUX-5.4-3.5.8.0-rhel8.4-x86_64
        ./mlnxofedinstall --kernel-only --without-fw-update -q

        Centos 7.9

        wget https://content.mellanox.com/ofed/MLNX_OFED-5.4-3.5.8.0/MLNX_OFED_LINUX-5.4-3.5.8.0-rhel7.9-x86_64.tgz
        tar -zxf MLNX_OFED_LINUX-5.4-3.5.8.0-rhel7.9-x86_64.tgz
        cd MLNX_OFED_LINUX-5.4-3.5.8.0-rhel7.9-x86_64
        ./mlnxofedinstall --kernel-only --without-fw-update -q

        Ubuntu 18.04

        wget https://content.mellanox.com/ofed/MLNX_OFED-5.4-3.5.8.0/MLNX_OFED_LINUX-5.4-3.5.8.0-ubuntu18.04-x86_64.tgz
        tar -zxf MLNX_OFED_LINUX-5.4-3.5.8.0-ubuntu18.04-x86_64.tgz
        cd MLNX_OFED_LINUX-5.4-3.5.8.0-ubuntu18.04-x86_64
        ./mlnxofedinstall --kernel-only --without-fw-update -q

        Ubuntu 20.04

        wget https://content.mellanox.com/ofed/MLNX_OFED-5.4-3.5.8.0/MLNX_OFED_LINUX-5.4-3.5.8.0-ubuntu20.04-x86_64.tgz
        tar -zxf MLNX_OFED_LINUX-5.4-3.5.8.0-ubuntu20.04-x86_64.tgz
        cd MLNX_OFED_LINUX-5.4-3.5.8.0-ubuntu20.04-x86_64
        ./mlnxofedinstall --kernel-only --without-fw-update -q

        Alibaba Cloud Linux 3(通过源码编译的方式安装)

        wget https://content.mellanox.com/ofed/MLNX_OFED-5.4-3.5.8.0/MLNX_OFED_SRC-5.4-3.5.8.0.tgz
        tar -zxf MLNX_OFED_SRC-5.4-3.5.8.0.tgz
        cd MLNX_OFED_SRC-5.4-3.5.8.0
        ./install.pl --config ofed.conf --distro RHEL8

        其中,ofed.conf文件内容如下所示:

        libibverbs=y
        libibverbs-utils=y
        librdmacm=n
        librdmacm-utils=n
        mstflint=n
        ofed-docs=y
        ofed-scripts=y
        mlnx-tools=n
        mlnx-ethtool=n
        mlnx-iproute2=y
        mlnx-ofa_kernel=y
        mlnx-ofa_kernel-devel=y
        kernel-mft-mlnx=n
        mlnx-nvme=n
        core=y
        mlxfw=n
        mlx5=n
        ipoib=n
      3. 重启实例。

        OFED驱动安装完成后,您需要重启实例,确保新的内核模块生效。具体操作,请参见重启实例。

    2. 安装eRDMA驱动。

      1. 执行以下命令,下载并安装eRDMA驱动。

        wget http://mirrors.cloud.aliyuncs.com/erdma/env_setup.sh
        
        bash env_setup.sh --egs
      2. 执行以下命令,通过eadm工具确认eRDMA驱动是否正常安装。

        eadm ver

        返回结果如下所示,表示驱动已正常安装。阿里云服务器在GPU实例上配置eRDMA-[云淘科技_教程]

        说明

        本示例以驱动版本为0.2.35为例。如果返回结果提示没有本命令或者执行失败,请您重新安装eRDMA驱动。

    3. 安装GPU驱动。

      具体操作,请参见在GPU计算型实例中安装GPU驱动(Linux)。

    4. 加载nv_peer_mem服务组件。

      • (推荐)GPU驱动为470.xx.xx及以上版本

        使能GPU Direct RDMA需要加载nv_peer_mem服务组件,建议使用470.xx.xx及以上版本的GPU驱动,因为NVIDIA在驱动版本为470.xx.xx及以上版本中已预装了该服务组件。您可以直接按照以下步骤加载nvidia_peermem模块。

        modprobe nvidia_peermem
        # 可通过lsmod|grep nvidia检查是否已成功加载nvidia_peermem

        说明

        如果机器重启后,您需要重新加载nvidia_peermem模块。

      • GPU驱动为470.xx.xx以下版本

        您需要手动下载并安装相应服务组件,下载及编译安装方法如下所示。

        git clone https://github.com/Mellanox/nv_peer_memory.git
        # 编译并安装nv_peer_mem.ko
        cd nv_peer_memory && make
        cp nv_peer_mem.ko /lib/modules/$(uname -r)/kernel/drivers/video
        depmod -a
        modprobe nv_peer_mem
        # 可通过lsmod|grep nv_peer_mem检查
        service nv_peer_mem start
  6. 带宽验证。

    1. 执行以下命令,检查2块eRDMA网卡是否正常。

      ibv_devinfo
      • eRDMA驱动为0.2.37及以上版本(例如0.2.37版本)

        eRDMA驱动安装脚本默认安装最新版本的驱动,如果您需要安装旧版本eRDMA驱动,请提交工单获取帮助。

        显示结果如下所示,表示2块eRDMA网卡正常存在。其中,2个eRDMA设备的端口state均为PORT_ACTIVE时,表示eRDMA网卡状态正常。

        阿里云服务器在GPU实例上配置eRDMA-[云淘科技_教程]

        说明

        如果eRDMA设备的端口stateinvalid state时,表示该eRDMA网卡状态异常,建议先检查辅助网卡是否配置正确。例如,通过执行ifconfig命令查看是否存在eth1网络和IP地址。

      • eRDMA驱动为0.2.37以下版本(例如0.2.36版本)

        显示结果如下所示,表示2块eRDMA网卡正常存在。其中,2个eRDMA设备的端口state均为PORT_ACTIVE时,表示该eRDMA网卡状态正常。

        阿里云服务器在GPU实例上配置eRDMA-[云淘科技_教程]

        说明

        如果eRDMA设备的端口stateinvalid state时,表示该eRDMA网卡状态异常,建议先检查辅助网卡是否配置正确。例如,通过执行ifconfig命令查看是否存在eth1网络和IP地址。

    2. 执行以下命令,安装perftest测试工具。

      本步骤以CentOS系统为例。

      yum install perftest -y
    3. 执行以下命令,测试RDMA网络带宽是否符合对应硬件的预期表现。

      说明

      perftest默认使用第1张网卡通信,如果您业务需要启用2张网卡进行通信,则需要同时启动2个perftest进程,并通过--ib-dev参数为2个进程各指定1张eRDMA网卡。更多信息,请参见perftest详情。

      服务器端命令

      ib_send_bw -q 32 -n 100 --report_gbits

      类似回显信息如下:

      # ib_send_bw -q 32 -n 100 --report_gbits
      ---------------------------------------------------------------------------------------
                          Send BW Test
       Dual-port       : OFF        Device         : rocep16s0
       Number of qps   : 32        Transport type : IB
       Connection type : RC        Using SRQ      : OFF
       PCIe relax order: Unsupported
       ibv_wr* API     : OFF
       TX depth        : 100
       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 0x0024 PSN 0x3d66a7
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:172:16:05:90
       local address: LID 0000 QPN 0x0025 PSN 0x909c3c
       ......
      remote address: LID 0000 QPN 0x0043 PSN 0x8b8cd7
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:172:16:05:87
      ---------------------------------------------------------------------------------------
       #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
        65536      3200             98.13              96.96             0.184930
      ---------------------------------------------------------------------------------------

      客户端命令

      ib_send_bw -q 32 -n 100 --report_gbits server_ip  # server_ip为服务器eRDMA网卡的IP地址

      类似回显信息如下:

      # ib_send_bw -q 32 -n 100 --report_gbits 172.20.20.86
      
      ************************************
      * Waiting for client to connect... *
      ************************************
      ---------------------------------------------------------------------------------------
                          Send BW Test
       Dual-port       : OFF        Device         : rocep16s0
       Number of qps   : 32        Transport type : IB
       Connection type : RC        Using SRQ      : OFF
       PCIe relax order: Unsupported
       ibv_wr* API     : OFF
       RX depth        : 100
       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 0x0024 PSN 0xf13bb3
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:172:16:05:87
       local address: LID 0000 QPN 0x0025 PSN 0x24a721
       ......
       remote address: LID 0000 QPN 0x0043 PSN 0x89e20e
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:172:16:05:90
      ---------------------------------------------------------------------------------------
       #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
       65536      3200             0.00               98.75             0.188350
      ---------------------------------------------------------------------------------------

测试验证

为测试和验证配备eRDMA网络的GPU实例在应用中的实际表现,本文以nccl-tests为例,展示如何在实际业务中使用eRDMA的具体操作。关于nccl-tests的更多信息,请参见nccl-tests。

  1. 执行以下命令,安装nccl。

    通过下载并编译源码安装nccl,源码编译的方式如下:

    说明

    您也可以在NVIDIA官网NVIDIA NCCL下载安装包,然后进行安装。

    # build nccl
    cd /root
    git clone https://github.com/NVIDIA/nccl.git
    cd nccl/
    make -j src.lib PREFIX=/usr/local/nccl
    make install PREFIX=/usr/local/nccl
    # 通过ls /usr/local/nccl/lib查看libnccl.so库
  2. 执行以下命令,安装OpenMPI及编译器。

    wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.3.tar.gz
    tar -xzf openmpi-4.1.3.tar.gz
    cd openmpi-4.1.3
    ./configure --prefix=/usr/local/openmpi
    make -j && make install
  3. 执行以下命令,设置环境变量。

    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

    在实例内部进入~/.bashrc文件、设置PATH和LD_LIBRARY_PATH,其中,NCCL_HOME、CUDA_HOME、MPI_HOME需要根据实际情况填写。编辑完成后,执行以下命令使环境变量设置生效。

    source ~/.bashrc
  4. 执行以下命令,下载并编译测试代码。

    git clone https://github.com/NVIDIA/nccl-tests
    cd nccl-tests/
    make MPI=1 CUDA_HOME=/usr/local/cuda MPI_HOME=/usr/local/openmpi
  5. 执行以下命令,建立实例之间的SSH互信。

    在host1生成公钥后并拷贝到host2上来建立实例之间的SSH互信。

    #在host1执行
    ssh-keygen
    ssh-copy-id -i ~/.ssh/id_rsa.pub ${host2}
    
    ssh root@{host2}   # 在host1执行,测试一下是否可以无密码连接host2。如果是,表示已建立实例之间的SSH互信。
  6. 执行如下命令,测试NCCL all_reduce效果。

    # 将host1, host2替换为您对应的IP地址
    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_DEBUG=INFO \
    -x LD_LIBRARY_PATH \
    -x PATH \
    ./build/all_reduce_perf -b 4M -e 4M -f 2 -g 1 -t 1 -n 20

相关文档

  • 在企业级ECS实例上配置eRDMA,可实现无需更改业务组网,即可在原有网络下体验超低延迟、大吞吐、高弹性的高性能RDMA网络服务。具体操作,请参见在企业级实例上配置eRDMA。

  • 容器中需要大规模数据传输和高性能网络通信的应用场景中,将eRDMA功能引入容器(Docker)环境可实现容器应用程序绕过操作系统内核直接访问主机的物理eRDMA设备,从而提供更快的数据传输和通信效率。具体操作,请参见在容器(Docker)中配置eRDMA。

  • 如需监测或诊断eRDMA,方便您对eRDMA的运行状态进行实时监控。具体操作,请参见监测和诊断eRDMA。

关于阿里云ecs服务器的内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/9312.html

(0)
匿名
上一篇 2023年12月12日 下午2:42
下一篇 2023年12月13日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。