本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 EFA 啟動 AWS Deep Learning AMI 執行個體
最新的基礎 DLAMI 已準備好與 EFA 搭配使用,並隨附適用於 GPU 執行個體的必要驅動程式、核心模組、libFabric、openmpi 和 N
您可以在發行說明中找到支援的基礎 DLAMI 的 CUDA 版本。
請注意:
-
mpirun
在 EFA 上使用執行 NCCL 應用程式時,您必須將 EFA 支援安裝的完整路徑指定為:/opt/amazon/openmpi/bin/mpirun <command>
-
若要讓您的應用程式能夠使用 EFA,請新增
FI_PROVIDER="efa"
至mpirun
命令,如 使用全民福利局於全面 DLAMI 中所示。
準備已啟用 EFA 的安全性群組
EFA 需要一個安全性群組,允許進出安全性群組本身的所有輸入和輸出流量。如需詳細資訊,請參閱 EFA 文件。
-
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Security Groups (安全群組),然後選擇 Create Security Group (建立安全群組)。
-
在 Create Security Group (建立安全群組) 視窗中,執行下列動作:
-
對於 Security group name (安全群組名稱),輸入安全群組的描述性名稱,例如
EFA-enabled security group
。 -
(選用) 對於 Description (描述),輸入安全群組的簡短描述。
-
對於 VPC,選取您打算讓具備 EFA 功能的執行個體在其中啟動的 VPC。
-
選擇 Create (建立)。
-
-
選取您建立的安全群組,在 Description (描述) 索引標籤上,複製 Group ID (群組 ID)。
-
在「入埠」和「出埠」索引標籤上,執行下列動作:
-
選擇 Edit (編輯)。
-
針對 Type (類型),選擇 All traffic (所有流量)。
-
對於 Source (資源),選擇 Custom (自訂)。
-
將您複製的安全群組 ID 貼到欄位中。
-
選擇儲存。
-
-
參照 授權 Linux 執行個體的傳入流量來啟用傳入流量。如果跳過此步驟,將無法與 DLAMI 執行個體進行通訊。
啟動您的執行個體
上的 EFA 目前支援下列執行個體類型和作業系統: AWS Deep Learning AMI
-
全天候:Amazon Linux 2
-
大型:Amazon Linux 2
-
大:Amazon Linux 2,
下一節說明如何啟動已啟用 EFA 的 DLAMI 執行個體。如需啟動 EFA 啟用執行個體的詳細資訊,請參閱將啟用 EFA 的執行個體啟動至叢集置放群組。
-
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
選擇 Launch Instance (啟動執行個體)。
-
在「選擇 AMI」頁面上,選取 DLAMI 版本說明頁面上支援的 DLAM I
-
在 [選擇執行個體類型] 頁面上,選取下列其中一個支援的執行個體類型,然後選擇下一步:設定執行個體詳細資訊 如需支援的執行個體清單,請參閱此連結:開始使用 EFA 和 MPI
-
在 Configure Instance Details (設定執行個體詳細資訊) 頁面上,執行下列操作:
-
對於 Number of instances (執行個體的數目),輸入要啟動的具備 EFA 功能的執行個體數。
-
對於 Network (網路) 和 Subnet (子網),選取要在其中啟動執行個體的 VPC 和子網。
-
[選擇性] 對於「放置」群組,選取「將例證新增至放置群組」。為獲得最佳效能,請在置放群組內啟動執行個體。
-
[選擇性] 在「放置群組名稱」中,選取「新增至新的放置群組」,輸入放置群組的描述性名稱,然後針對「放置群組策略」選取叢集。
-
確保在此頁面上啟用 「彈性織物適配器」。如果停用此選項,請將子網路變更為支援您所選執行個體類型的子網路。
-
在 Network Interfaces (網路介面) 區段中,針對裝置 eth0,選擇 New network interface (新網路介面)。您可以選擇性指定一個主要 IPv4 地址,以及一或多個次要 IPv4 地址。如果您在有相關聯 IPv6 CIDR 區塊的子網中啟動執行個體,您可以選擇性指定一個主要 IPv6 地址,以及一或多個次要 IPv6 地址。
-
選擇 Next: Add Storage (下一步:新增儲存體)。
-
-
在 Add Storage (新增儲存體) 頁面上,除了 AMI 指定的磁碟區 (例如根設備磁碟區),指定要連接到執行個體的磁碟區,然後選擇 Next: Add Tags (下一步:新增標籤)。
-
在 Add Tags (新增標籤) 頁面上,為執行個體指定標籤 (例如使用者易記的名稱),然後選擇 Next: Configure Security Group (下一步:設定安全群組)。
-
在 [設定安全性群組] 頁面上,對於 [指派安全性群組],選取 [選取現有的安全性群組],然後選取先前建立的安全性群組。
-
選擇 Review and Launch (檢閱和啟動)。
-
在 Review Instance Launch (檢閱執行個體啟動) 頁面上,檢閱設定,然後選擇 Launch (啟動),以選擇金鑰對並啟動執行個體。
驗證 EFA 附件
從主控台
啟動執行個體之後,請在 AWS 主控台中檢查執行個體詳細資料。若要執行此操作,在 EC2 主控台中選取執行個體,然後查看頁面下方窗格中的 [Description (描述)] 索引標籤。尋找參數 “網路界面:eth0”,然後按一下 eth0 開啟一個彈出式畫面。確保「彈性織物適配器」已啟用。
如果未啟用 EFA,您可以透過以下任一方式修正此問題:
-
終止 EC2 執行個體並按照相同的步驟啟動新的執行個體。請確定已連接 EFA。
-
將 EFA 連接至現有的執行個體。
-
在 EC2 主控台中,移至 [Network Interfaces (網路界面)]。
-
按一下 [Create a Network Interface (建立網路界面)]。
-
選取您的執行個體所在的相同子網路。
-
確保啟用「彈性織物適配器」,然後單擊創建。
-
返回 [EC2 Instances (EC2 執行個體)] 索引標籤並選取您的執行個體。
-
移至「動作:執行個體狀態」,並在連接 EFA 之前停止執行個體。
-
從 [Actions (動作)] 中,選取 [Networking: Attach Network Interface (聯網:連接網路界面)]。
-
選擇您剛建立的界面,然後按一下連接。
-
重新啟動您的執行個體。
-
從執行個體
DLAMI 上已經存在以下測試腳本。執行它以確保核心模組已正確載入。
$ fi_info -p efa
您的輸出應該類似以下內容:
provider: efa fabric: EFA-fe80::e5:56ff:fe34:56a8 domain: efa_0-rdm version: 2.0 type: FI_EP_RDM protocol: FI_PROTO_EFA provider: efa fabric: EFA-fe80::e5:56ff:fe34:56a8 domain: efa_0-dgrm version: 2.0 type: FI_EP_DGRAM protocol: FI_PROTO_EFA provider: efa;ofi_rxd fabric: EFA-fe80::e5:56ff:fe34:56a8 domain: efa_0-dgrm version: 1.0 type: FI_EP_RDM protocol: FI_PROTO_RXD
確認安全群組組態
DLAMI 上已經存在以下測試腳本。執行它以確保您建立的安全群組已正確設定。
$ cd /opt/amazon/efa/test/ $ ./efa_test.sh
您的輸出應該類似以下內容:
Starting server... Starting client... bytes #sent #ack total time MB/sec usec/xfer Mxfers/sec 64 10 =10 1.2k 0.02s 0.06 1123.55 0.00 256 10 =10 5k 0.00s 17.66 14.50 0.07 1k 10 =10 20k 0.00s 67.81 15.10 0.07 4k 10 =10 80k 0.00s 237.45 17.25 0.06 64k 10 =10 1.2m 0.00s 921.10 71.15 0.01 1m 10 =10 20m 0.01s 2122.41 494.05 0.00
如果它停止回應或未完成,請確定您的安全性群組具有正確的入站/輸出規則。