您可以在同一个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实例编号变化如图所示。
使用限制
仅使用PyTorch模型时,支持在一个ECS上绑定多个EAIS实例,且最多可以绑定256个EAIS实例。
说明EAIS实例绑定至ECS实例后,该ECS实例仅支持资源配置变更,具体操作,请参见按量付费实例变配规格和按量付费实例修改带宽。
在ECS实例上,支持不同进程使用不同的EAIS实例或多个进程同时使用一个EAIS实例,但不支持一个进程同时使用多个EAIS实例。
操作步骤
步骤一:绑定EAIS实例至ECS实例
登录EAIS控制台。
在弹性加速计算实例 EAIS页面左上角选择创建的实例所在地域。
在实例列表中,选择需要绑定ECS实例的EAIS实例,单击操作列下的绑定。
在弹出的对话框中,选择待绑定的目标ECS实例。
单击确定。
EAIS实例列表每15秒自动刷新,当实例状态由绑定中变为已绑定时,表示实例绑定成功。
重复执行步骤1~5,直至您的EAIS实例绑定完毕。
步骤二:启动EAIS实例
使用EAIS控制台或调用CreateEaisEi创建的EAIS实例必须要启动后,才能在ECS实例上查看EAIS实例的信息。具体操作,请参见启动EAIS实例或StartEaisEi。
后续步骤
当您将EAIS实例绑定至ECS实例后,您可以在ECS实例上查看EAIS实例的信息,然后根据PyTorch官方提供的指定gpu id
的方式来使用进行PyTorch模型推理或训练,具体操作如下:
在ECS实例上查看EAIS实例信息。
远程登录ECS实例,并搭建好EAIS运行环境。
具体操作,请参见使用EAIS推理PyTorch模型(Python)、使用EAIS推理PyTorch模型(C++)或使用EAIS训练PyTorch模型。
执行如下命令,获取所有绑定到ECS实例上的EAIS实例信息。
eais_smi
可以查看EAIS实例规格、EAIS GPU使用率等,以成功绑定了一个eais.ei-a6.2xlarge和一个eais.ei-a6.4xlarge规格的EAIS实例为例,回显如下。
使用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