绑定多个EAIS实例

您可以在同一个ECS实例上绑定多个EAIS实例,然后远程登录到ECS实例上指定EAIS实例来运行您的业务。

前提条件

背景信息

一个ECS支持绑定多个EAIS实例,且绑定的多个EAIS实例之间无规格限制。您可以通过购买多个EAIS实例的方式来提供GPU能力,满足您的业务需求。通过该方式,您只需要购买一个ECS实例,并且当您不需要EAIS实例时还可以前往EAIS控制台解绑并释放EAIS实例,将会大大降低您的使用成本。

说明

如果您只需要绑定一个EAIS实例,具体操作,请参见绑定一个EAIS实例

当您在ECS实例上绑定了多个EAIS实例时,ECS实例将会自动为EAIS实例分配编号。您可以通过在ECS实例上指定EAIS实例编号的方式,指定使用某个EAIS实例来运行进程,具体操作,请参见使用EAIS进行PyTorch模型推理或训练。EAIS实例的编号说明如下:

  • EAIS实例的编号与您绑定的EAIS实例的创建时间有关。在当前已绑定的EAIS实例中,以EAIS实例的创建时间进行排序,最早创建的EAIS实例编号为0,依次往后编号。

  • EAIS实例的编号不是固定的,EAIS编号可能会随新增绑定EAIS实例或解绑EAIS实例动态的进行调整。

    • 新增绑定EAIS实例:

      编号为0的EAIS实例一定是当前已绑定的EAIS实例中创建时间最早的,如果新增绑定了更早的EAIS实例,则当前编号为0的EAIS实例编号将会从0变为1,而新增绑定的EAIS实例编号将被分配为0,其余EAIS实例的编号自动往后编号,以此类推。

    • 解绑EAIS实例:

      解绑EAIS实例后,剩下的EAIS实例将会按照当前EAIS实例的创建时间重新进行排序,创建时间最早的EAIS编号为0,依次往后编号。

以在同一天创建了3个名称分别为eais_a(上午9点创建)、eais_b(上午10点创建)和eais_c(下午1点创建)的EAIS实例,然后执行绑定EAIS实例至ECS实例和从ECS实例上解绑EAIS实例操作为例,EAIS实例编号变化如图所示。多个EAIS的编号示意图..png

使用限制

  • 仅使用PyTorch模型时,支持在一个ECS上绑定多个EAIS实例,且最多可以绑定256个EAIS实例。

    说明

    EAIS实例绑定至ECS实例后,该ECS实例仅支持资源配置变更,具体操作,请参见按量付费实例变配规格按量付费实例修改带宽

  • 在ECS实例上,支持不同进程使用不同的EAIS实例或多个进程同时使用一个EAIS实例,但不支持一个进程同时使用多个EAIS实例。

操作步骤

步骤一:绑定EAIS实例至ECS实例

  1. 登录EAIS控制台

  2. 弹性加速计算实例 EAIS页面左上角选择创建的实例所在地域。

  3. 在实例列表中,选择需要绑定ECS实例的EAIS实例,单击操作列下的绑定

  4. 在弹出的对话框中,选择待绑定的目标ECS实例。

  5. 单击确定

    EAIS实例列表每15秒自动刷新,当实例状态由绑定中变为已绑定时,表示实例绑定成功。

  6. 重复执行步骤1~5,直至您的EAIS实例绑定完毕。

步骤二:启动EAIS实例

使用EAIS控制台或调用CreateEaisEi创建的EAIS实例必须要启动后,才能在ECS实例上查看EAIS实例的信息。具体操作,请参见启动EAIS实例StartEaisEi

后续步骤

当您将EAIS实例绑定至ECS实例后,您可以在ECS实例上查看EAIS实例的信息,然后根据PyTorch官方提供的指定gpu id的方式来使用进行PyTorch模型推理或训练,具体操作如下:

  1. 在ECS实例上查看EAIS实例信息。

    1. 远程登录ECS实例,并搭建好EAIS运行环境。

      具体操作,请参见使用EAIS推理PyTorch模型(Python)使用EAIS推理PyTorch模型(C++)使用EAIS训练PyTorch模型

    2. 执行如下命令,获取所有绑定到ECS实例上的EAIS实例信息。

      eais_smi

      可以查看EAIS实例规格、EAIS GPU使用率等,以成功绑定了一个eais.ei-a6.2xlarge和一个eais.ei-a6.4xlarge规格的EAIS实例为例,回显如下。多个EAIS实例..png

  2. 使用EAIS进行PyTorch模型推理或训练。

    当您绑定了多个EAIS至一个ECS实例上,如果您想使用已绑定的多个EAIS实例中的某一实例,您可以参考PyTorch官方提供的指定gpu id的方式来使用EAIS。假设您希望使用编号为1,即第二个绑定的EAIS实例来处理您的GPU任务,您可以按如下方式指定EAIS实例:

    • 假设您运行您的业务程序的命令为python3 test.py,则您可以通过如下2种方法来指定EAIS实例:

      • 方法一:添加一个环境变量来指定使用的EAIS实例。

        CUDA_VISIBLE_DEVICES=1 python3 test.py
      • 方法二:在您的test.py脚本首行,新增如下代码:

        import os
        os.environ['CUDA_VISIBLE_DEVICES'] = '1'
        
    • 如果您是使用Docker来运行您的业务程序,则您可以在启动Docker时,添加一个环境变量来指定使用的EAIS实例,示例如下:

      docker run -e CUDA_VISIBLE_DEVICES=1

相关文档