您可以在同一個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