기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 AWS Deep Learning AMIs 인스턴스 시작 EFA
최신 BaseDLAMI는 와 함께 사용할 준비가 EFA되었으며 필요한 드라이버, 커널 모듈, libfabric, openmpi 및 GPU 인스턴스용 NCCL OFI 플러그인
릴리스 정보 DLAMI 에서 지원되는 기본 CUDA 버전을 찾을 수 있습니다.
참고:
-
mpirun
에서 를 사용하여 NCCL 애플리케이션을 실행할 때 EFA 지원되는 설치의 전체 경로를 다음과 같이 지정EFA해야 합니다./opt/amazon/openmpi/bin/mpirun <command>
-
애플리케이션이 를 사용할 수 있도록 하려면 와 같이
mpirun
명령FI_PROVIDER="efa"
에 를 EFA추가합니다EFA 에서 사용 DLAMI.
EFA를 사용한 보안 그룹 준비
EFA 에는 보안 그룹 자체에서 주고받는 모든 인바운드 및 아웃바운드 트래픽을 허용하는 보안 그룹이 필요합니다. 자세한 내용은 EFA 설명서 섹션을 참조하세요.
-
에서 Amazon EC2 콘솔을 엽니다https://console.aws.amazon.com/ec2/
. -
탐색 창에서 보안 그룹을 선택한 다음, 보안 그룹 생성을 선택합니다.
-
보안 그룹 생성 창에서 다음을 수행하세요.
-
보안 그룹 이름의 경우
EFA-enabled security group
과 같은 보안 그룹의 고유한 이름을 입력합니다. -
(선택 사항) 설명에 보안 그룹에 대한 간략한 설명을 입력합니다.
-
에서 EFA사용 가능한 인스턴스를 시작할 VPC를 VPC선택합니다.
-
생성(Create)을 선택합니다.
-
-
생성한 보안 그룹을 선택하고 설명 탭에서 그룹 ID를 복사합니다.
-
인바운드 및 아웃바운드 탭에서 다음을 수행합니다.
-
편집을 선택합니다.
-
유형(Type)에서 모든 트래픽(All traffic)을 선택합니다.
-
소스(Source)에서 사용자 지정(Custom)을 선택합니다.
-
복사한 보안 그룹 ID를 필드에 붙여넣습니다.
-
저장(Save)을 선택합니다.
-
-
Linux 인스턴스에 대한 인바운드 트래픽 권한 부여를 참조하여 인바운드 트래픽을 활성화합니다. 이 단계를 건너뛰면 DLAMI 인스턴스와 통신할 수 없습니다.
인스턴스 시작
EFA 의 AWS Deep Learning AMIs 는 현재 다음 인스턴스 유형 및 운영 체제에서 지원됩니다.
-
P3dn .24xlarge: Amazon Linux 2, Ubuntu 20.04
-
P4d .24xlarge: Amazon Linux 2, Ubuntu 20.04
-
P5.48xlarge: Amazon Linux 2, Ubuntu 20.04
다음 섹션에서는 EFA 활성화된 DLAMI 인스턴스를 시작하는 방법을 보여줍니다. EFA 활성화된 인스턴스를 시작하는 방법에 대한 자세한 내용은 클러스터 배치 그룹으로 시작 EFA- 활성화된 인스턴스를 참조하세요.
-
에서 Amazon EC2 콘솔을 엽니다https://console.aws.amazon.com/ec2/
. -
인스턴스 시작을 선택합니다.
-
페이지 선택AMI에서 DLAMI 릴리스 정보 DLAMI 페이지에서 지원되는 를 선택합니다.
-
인스턴스 유형 선택 페이지에서 다음과 같이 지원되는 인스턴스 유형 중 하나를 선택하고 다음: 인스턴스 세부 정보 구성을 선택합니다. 지원되는 인스턴스 목록은 이 링크를 참조하세요. EFA 및 시작하기 MPI
-
인스턴스 세부 정보 구성 페이지에서 다음을 수행합니다.
-
인스턴스 수 에 시작하려는 EFA활성화된 인스턴스 수를 입력합니다.
-
네트워크 및 서브넷 에서 인스턴스를 시작할 VPC 및 서브넷을 선택합니다.
-
[선택 사항] 배치 그룹 에서 배치 그룹에 인스턴스 추가를 선택합니다. 최상의 성능을 위해 배치 그룹 내에서 인스턴스를 시작합니다.
-
[선택 사항] 배치 그룹 이름 에서 새 배치 그룹에 추가 를 선택하고 배치 그룹의 설명 이름을 입력한 다음 배치 그룹 전략 에서 클러스터 를 선택합니다.
-
이 페이지에서 “Elastic Fabric Adapter”를 활성화해야 합니다. 이 옵션이 비활성화된 경우 선택한 인스턴스 유형을 지원하는 서브넷으로 서브넷을 변경합니다.
-
네트워크 인터페이스 항목의 디바이스 eth0에서 새 네트워크 인터페이스를 선택합니다. 선택적으로 기본 IPv4 주소와 하나 이상의 보조 IPv4 주소를 지정할 수 있습니다. 연결된 IPv6 CIDR 블록이 있는 서브넷으로 인스턴스를 시작하는 경우 선택적으로 기본 IPv6 주소와 하나 이상의 보조 IPv6 주소를 지정할 수 있습니다.
-
다음: 스토리지 추가를 선택합니다.
-
-
스토리지 추가 페이지에서 에서 지정한 볼륨AMI(예: 루트 디바이스 볼륨) 외에도 인스턴스에 연결할 볼륨을 지정한 다음 다음 다음: 태그 추가를 선택합니다.
-
태그 추가 페이지에서 사용자에게 친숙한 이름 등의 인스턴스 태그를 지정한 후 다음: 보안 그룹 구성(Next: Configure Security Group)을 선택합니다.
-
보안 그룹 구성 페이지의 보안 그룹 할당에서 기존 보안 그룹 선택을 선택한 다음 이전에 생성한 보안 그룹을 선택합니다.
-
[검토 및 시작(Review and Launch)]를 선택합니다.
-
인스턴스 시작 검토 페이지에서 설정을 검토한 후 시작을 선택하여 키 페어를 선택하고 인스턴스를 시작합니다.
EFA 첨부 파일 확인
콘솔에서
인스턴스를 시작한 후 AWS 콘솔에서 인스턴스 세부 정보를 확인합니다. 이렇게 하려면 EC2 콘솔에서 인스턴스를 선택하고 페이지의 하단 창에서 설명 탭을 확인합니다. ‘Network Interfaces: eth0’ 매개 변수를 찾아 eth0을 클릭하면 팝업이 열립니다. 'Elastic Fabric Adapter'가 활성화되어 있는지 확인합니다.
EFA 가 활성화되지 않은 경우 다음 중 하나를 통해 이 문제를 해결할 수 있습니다.
-
EC2 인스턴스를 종료하고 동일한 단계로 새 인스턴스를 시작합니다. EFA이 연결되어 있는지 확인합니다.
-
기존 인스턴스에 EFA를 연결합니다.
-
EC2 콘솔에서 네트워크 인터페이스로 이동합니다.
-
Create a Network Interface(네트워크 인터페이스 생성)를 클릭합니다.
-
인스턴스가 있는 서브넷과 동일한 서브넷을 선택합니다.
-
‘Elastic Fabric Adapter’를 활성화하고 생성을 클릭합니다.
-
EC2 인스턴스 탭으로 돌아가 인스턴스를 선택합니다.
-
를 연결하기 전에 작업: 인스턴스 상태로 이동하여 인스턴스를 중지합니다EFA.
-
작업에서 네트워킹: 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
응답이 중단되거나 작업이 완료되지 않으면 보안 그룹에 올바른 인바운드/아웃바운드 규칙이 있는지 확인합니다.