

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Adaptor Kain Elastis untuk AI/ML dan beban kerja HPC di Amazon EC2
<a name="efa"></a>

Elastic Fabric Adapter (EFA) adalah perangkat jaringan yang dapat Anda lampirkan ke instans Amazon EC2 untuk mempercepat aplikasi Artificial Intelligence (AI), Machine Learning (ML), dan High Performance Computing (HPC). EFA memungkinkan Anda mencapai kinerja aplikasi klaster AI/ML/HPC lokal, dengan skalabilitas, fleksibilitas, dan elastisitas yang disediakan oleh Cloud. AWS 

EFA memberikan latensi yang lebih rendah dan lebih konsisten serta throughput yang lebih tinggi dibandingkan transportasi TCP yang secara tradisional digunakan dalam sistem HPC berbasis cloud. Ini meningkatkan kinerja komunikasi antar-instance yang sangat penting untuk penskalaan AI/ML dan aplikasi HPC. Hal ini dioptimalkan untuk bekerja pada infrastruktur AWS jaringan yang ada dan dapat skala tergantung pada persyaratan aplikasi.

EFA terintegrasi dengan Libfabric, dan mendukung Nvidia Collective Communications Library (NCCL) dan NVIDIA Inference Xfer Library (NIXL) untuk aplikasi AI dan ML, dan Open MPI 4.1 dan yang lebih baru dan Intel MPI 2019 Update 5 dan yang lebih baru untuk aplikasi HPC. NCCL dan MPI terintegrasi dengan Libfabric 1.7.0 dan yang lebih baru. NIXL terintegrasi dengan Libfabric 1.21.0 dan yang lebih baru.

EFA mendukung penulisan RDMA (Remote Direct Memory Access) pada sebagian besar jenis instans yang didukung yang memiliki Nitro versi 4 dan yang lebih baru. Pembacaan RDMA didukung pada semua instance dengan Nitro versi 4 dan yang lebih baru. Untuk informasi selengkapnya, lihat [Tipe instans yang didukung](#efa-instance-types).

**Topics**
+ [Dasar-dasar EFA](#efa-basics)
+ [Antarmuka dan pustaka yang didukung](#efa-mpi)
+ [Tipe instans yang didukung](#efa-instance-types)
+ [Sistem operasi yang didukung](#efa-os)
+ [Batasan EFA](#efa-limits)
+ [Harga EFA](#efa-pricing)
+ [Memulai dengan EFA dan MPI](efa-start.md)
+ [Memulai dengan EFA dan NCCL](efa-start-nccl.md)
+ [Memulai dengan EFA dan NIXL](efa-start-nixl.md)
+ [Maksimalkan bandwidth jaringan](efa-acc-inst-types.md)
+ [Buat dan lampirkan EFA](create-efa.md)
+ [Lepaskan dan hapus EFA](detach-efa.md)
+ [Memantau EFA](efa-working-monitor.md)
+ [Verifikasi penginstal EFA](efa-verify.md)
+ [Catatan rilis](efa-changelog.md)

## Dasar-dasar EFA
<a name="efa-basics"></a>

Perangkat EFA dapat dilampirkan ke instans EC2 dengan dua cara:

1. Menggunakan antarmuka EFA tradisional, juga disebut EFA dengan ENA, yang menciptakan perangkat EFA dan perangkat ENA.

1. Menggunakan antarmuka khusus EFA, yang hanya menciptakan perangkat EFA.

Perangkat EFA menyediakan kemampuan seperti built-in OS-bypass dan kontrol kemacetan melalui protokol Scalable Reliable Datagram (SRD). Fitur perangkat EFA memungkinkan fungsionalitas transportasi latensi rendah dan andal yang memungkinkan antarmuka EFA memberikan kinerja aplikasi yang lebih baik untuk aplikasi HPC dan ML di Amazon EC2. Sedangkan perangkat ENA menawarkan jaringan IP tradisional.

![\[Mengontraskan tumpukan perangkat lunak HPC tradisional dengan tumpukan yang menggunakan EFA.\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/images/efa_stack.png)


Secara tradisional, AI/ML aplikasi menggunakan NCCL dan NIXL (untuk inferensi terpilah). Aplikasi HPC menggunakan Message Passing Interface (MPI) untuk berinteraksi dengan transportasi jaringan sistem. Di AWS cloud, ini berarti bahwa antarmuka aplikasi dengan NCCL, NIXL, atau MPI, yang kemudian menggunakan TCP/IP tumpukan sistem operasi dan driver perangkat ENA untuk mengaktifkan komunikasi jaringan antar instance.

Dengan EFA tradisional (EFA dengan ENA) atau antarmuka khusus EFA, AI/ML aplikasi menggunakan NCCL dan NIXL (untuk inferensi terpilah). Aplikasi HPC menggunakan MPI, untuk berinteraksi langsung dengan API Libfabric. API Libfabric memintas kernel sistem operasi dan berkomunikasi secara langsung dengan perangkat ITEFA untuk menempatkan paket pada jaringan. Ini mengurangi overhead dan memungkinkan AI/ML dan aplikasi HPC berjalan lebih efisien.

**catatan**  
Libfabric adalah komponen inti dari kerangka OpenFabrics Interfaces (OFI), yang mendefinisikan dan mengekspor API ruang pengguna OFI. Untuk informasi lebih lanjut, lihat situs web [Libfabric OpenFabrics](https://ofiwg.github.io/libfabric/).

### Perbedaan antara antarmuka jaringan ENA, EFA, dan EFA
<a name="efa-differences"></a>

Amazon EC2 menyediakan dua jenis antarmuka jaringan:
+ Antarmuka **ENA** menyediakan semua jaringan IP tradisional dan fitur routing yang diperlukan untuk mendukung jaringan IP untuk VPC. Untuk informasi selengkapnya, lihat [Aktifkan jaringan yang disempurnakan dengan ENA pada instans EC2 Anda](enhanced-networking-ena.md).
+ Antarmuka **EFA** (EFA dengan ENA) menyediakan perangkat ENA untuk jaringan IP dan perangkat EFA untuk komunikasi latensi rendah dan throughput tinggi.
+ Antarmuka khusus **EFA hanya** mendukung kemampuan perangkat EFA, tanpa perangkat ENA untuk jaringan IP tradisional.

Tabel berikut memberikan perbandingan antarmuka jaringan ENA, EFA, dan EFA saja.


|  | ENA | EFA (EFA dengan ENA) | Khusus EFA | 
| --- | --- | --- | --- | 
| Mendukung fungsionalitas jaringan IP | Ya | Ya | Tidak | 
| Dapat ditugaskan IPv4 atau IPv6 alamat | Ya | Ya | Tidak | 
| Dapat digunakan sebagai antarmuka jaringan utama misalnya | Ya | Ya | Tidak | 
| Menghitung batas lampiran ENI misalnya | Ya | Ya | Ya | 
| Dukungan tipe instans | Didukung pada semua jenis instans berbasis Nitro | [Jenis instans yang didukung](#efa-instance-types) | [Jenis instans yang didukung](#efa-instance-types) | 
| Penamaan parameter di EC2 APIs | interface | efa | efa-only | 
| Penamaan bidang di konsol EC2 | Tidak ada pilihan | EFA dengan ENA | Khusus EFA | 

## Antarmuka dan pustaka yang didukung
<a name="efa-mpi"></a>

EFAs mendukung antarmuka dan pustaka berikut:
+ Buka MPI 4.1 dan yang lebih baru
+ Pembaruan 5 Intel MPI 2019 dan versi yang lebih baru
+ NVIDIA Collective Communications Library (NCCL) 2.4.2 dan yang lebih baru
+ NVIDIA Inference Xfer Library (NIXL) 1.0.0 dan yang lebih baru
+ AWS Neuron SDK versi 2.3 dan yang lebih baru

## Tipe instans yang didukung
<a name="efa-instance-types"></a>

Semua jenis contoh berikut mendukung EFA. Selain itu, tabel menunjukkan dukungan baca RDMA dan penulisan RDMA untuk jenis instance.

------
#### [ Nitro v6 ]


| Tipe instans | Dukungan baca RDMA | Dukungan tulis RDMA | 
| --- |--- |--- |
| Tujuan Umum | 
| --- |
| m8a.48xlarge | Ya | Ya | 
| m8a.logam-48xl | Ya | Ya | 
| m8azn.24xlarge | Ya | Ya | 
| m8azn.metal-24xl | Ya | Ya | 
| m8gb.16xlarge | Ya | Ya | 
| m8gb.24xlarge | Ya | Ya | 
| m8gb.48xlarge | Ya | Ya | 
| m8gb.metal-24xl | Ya | Ya | 
| m8gb.logam-48xl | Ya | Ya | 
| m8gn.16xlarge | Ya | Ya | 
| m8gn.24xlarge | Ya | Ya | 
| m8gn.48xlarge | Ya | Ya | 
| m8gn.metal-24xl | Ya | Ya | 
| m8gn.metal-48xl | Ya | Ya | 
| m8i.48xlarge | Ya | Ya | 
| m8i.96xlarge | Ya | Ya | 
| m8i.logam-48xl | Ya | Ya | 
| m8i.logam-96xl | Ya | Ya | 
| m8id.48xlarge | Ya | Ya | 
| m8id.96xlarge | Ya | Ya | 
| m8id.metal-48xl | Ya | Ya | 
| m8id.metal-96xl | Ya | Ya | 
| Komputasi yang Dioptimalkan | 
| --- |
| c8a.48xlarge | Ya | Ya | 
| c8a.metal-48xl | Ya | Ya | 
| c8gb.16xlarge | Ya | Ya | 
| c8gb.24xlarge | Ya | Ya | 
| c8gb.48xlarge | Ya | Ya | 
| c8gb.metal-24xl | Ya | Ya | 
| c8gb.metal-48xl | Ya | Ya | 
| c8gn.16xlarge | Ya | Ya | 
| c8gn.24xlarge | Ya | Ya | 
| c8gn.48xlarge | Ya | Ya | 
| c8gn.metal-24xl | Ya | Ya | 
| c8gn.metal-48xl | Ya | Ya | 
| c8i.48xlarge | Ya | Ya | 
| c8i.96xlarge | Ya | Ya | 
| c8i.logam-48xl | Ya | Ya | 
| c8i.logam-96xl | Ya | Ya | 
| c8id.48xlarge | Ya | Ya | 
| c8id.96xlarge | Ya | Ya | 
| c8id.metal-48xl | Ya | Ya | 
| c8id.metal-96xl | Ya | Ya | 
| Memori Dioptimalkan | 
| --- |
| r8a.48xlarge | Ya | Ya | 
| r8a.metal-48xl | Ya | Ya | 
| r8gb.16xlarge | Ya | Ya | 
| r8gb.24xlarge | Ya | Ya | 
| r8gb.48xlarge | Ya | Ya | 
| r8gb.metal-24xl | Ya | Ya | 
| r8gb.metal-48xl | Ya | Ya | 
| r8gn.16xlarge | Ya | Ya | 
| r8gn.24xlarge | Ya | Ya | 
| r8gn.48xlarge | Ya | Ya | 
| r8gn.metal-24xl | Ya | Ya | 
| r8gn.metal-48xl | Ya | Ya | 
| r8i.48xlarge | Ya | Ya | 
| r8i.96xlarge | Ya | Ya | 
| r8i.logam-48xl | Ya | Ya | 
| r8i.logam-96xl | Ya | Ya | 
| r8id.48xlarge | Ya | Ya | 
| r8id.96xlarge | Ya | Ya | 
| r8id.metal-48xl | Ya | Ya | 
| r8id.metal-96xl | Ya | Ya | 
| x8aedz.24xlarge | Ya | Ya | 
| x8aedz.metal-24xl | Ya | Ya | 
| x8i.48xlarge | Ya | Ya | 
| x8i.64xlarge | Ya | Ya | 
| x8i.96xlarge | Ya | Ya | 
| x8i.logam-48xl | Ya | Ya | 
| x8i.logam-96xl | Ya | Ya | 
| Penyimpanan Dioptimalkan | 
| --- |
| i8ge.48xlarge | Ya | Tidak | 
| i8ge.metal-48xl | Ya | Tidak | 
| Komputasi yang Dipercepat | 
| --- |
| g7e.8xlarge | Ya | Ya | 
| g7e.12xlarge | Ya | Ya | 
| g7e.24xlarge | Ya | Ya | 
| g7e.48xlarge | Ya | Ya | 
| p6-b200.48xlarge | Ya | Ya | 
| p6-b300.48xlarge | Ya | Ya | 
| Komputasi Performa Tinggi | 
| --- |
| hpc8a.96xlarge | Ya | Ya | 

------
#### [ Nitro v5 ]


| Tipe instans | Dukungan baca RDMA | Dukungan tulis RDMA | 
| --- |--- |--- |
| Tujuan Umum | 
| --- |
| m8g.24xlarge | Ya | Tidak | 
| m8g.48xlarge | Ya | Tidak | 
| m8g.logam-24xl | Ya | Tidak | 
| m8g.logam-48xl | Ya | Tidak | 
| m8gd.24xlarge | Tidak | Tidak | 
| m8gd.48xlarge | Tidak | Tidak | 
| m8gd.metal-24xl | Tidak | Tidak | 
| m8gd.metal-48xl | Tidak | Tidak | 
| Komputasi yang Dioptimalkan | 
| --- |
| c7gn.16xlarge | Ya | Tidak | 
| c7gn.logam | Ya | Tidak | 
| c8g.24xlarge | Ya | Tidak | 
| c8g.48xlarge | Ya | Tidak | 
| c8g.logam-24xl | Ya | Tidak | 
| c8g.logam-48xl | Ya | Tidak | 
| c8gd.24xlarge | Tidak | Tidak | 
| c8gd.48xlarge | Tidak | Tidak | 
| c8gd.metal-24xl | Tidak | Tidak | 
| c8gd.metal-48xl | Tidak | Tidak | 
| Memori Dioptimalkan | 
| --- |
| r8g.24xlarge | Tidak | Tidak | 
| r8g.48xlarge | Tidak | Tidak | 
| r8g.logam-24xl | Tidak | Tidak | 
| r8g.logam-48xl | Tidak | Tidak | 
| r8gd.24xlarge | Tidak | Tidak | 
| r8gd.48xlarge | Tidak | Tidak | 
| r8gd.metal-24xl | Tidak | Tidak | 
| r8gd.metal-48xl | Tidak | Tidak | 
| x8g.24xlarge | Tidak | Tidak | 
| x8g.48xlarge | Tidak | Tidak | 
| x8g.logam-24xl | Tidak | Tidak | 
| x8g.logam-48xl | Tidak | Tidak | 
| Penyimpanan Dioptimalkan | 
| --- |
| i7ie.48xlarge | Ya | Tidak | 
| i7ie.logam-48xl | Ya | Tidak | 
| i8g.48xlarge | Tidak | Tidak | 
| i8g.logam-48xl | Tidak | Tidak | 
| Komputasi yang Dipercepat | 
| --- |
| p5en.48xlarge | Ya | Ya | 
| p6e-gb200.36xlarge | Ya | Ya | 
| trn2.3xlarge | Ya | Ya | 
| trn2.48xlarge | Ya | Ya | 
| trn2u.48xlarge | Ya | Ya | 
| Komputasi Performa Tinggi | 
| --- |
| hpc7g.4xlarge | Ya | Tidak | 
| hpc7g.8xlarge | Ya | Tidak | 
| hpc7g.16xlarge | Ya | Tidak | 

------
#### [ Nitro v4 ]


| Tipe instans | Dukungan baca RDMA | Dukungan tulis RDMA | 
| --- |--- |--- |
| Tujuan Umum | 
| --- |
| m6a.48xlarge | Ya | Ya | 
| m6a.metal | Ya | Ya | 
| m6i.32xlarge | Ya | Ya | 
| m6i.metal | Ya | Ya | 
| m6id.32xlarge | Ya | Ya | 
| m6id.metal | Ya | Ya | 
| m6idn.32xlarge | Ya | Ya | 
| m6idn.metal | Ya | Ya | 
| m6in.32xlarge | Ya | Ya | 
| m6in.metal | Ya | Ya | 
| m7a.48xlarge | Ya | Tidak | 
| m7a.metal-48xl | Ya | Tidak | 
| m7g.16xlarge | Ya | Tidak | 
| m7g.metal | Ya | Tidak | 
| m7gd.16xlarge | Ya | Tidak | 
| m7gd.metal | Ya | Tidak | 
| m7i.48xlarge | Ya | Tidak | 
| m7i.metal-48xl | Ya | Tidak | 
| Komputasi yang Dioptimalkan | 
| --- |
| c6a.48xlarge | Ya | Ya | 
| c6a.metal | Ya | Ya | 
| c6gn.16xlarge | Ya | Ya | 
| c6i.32xlarge | Ya | Ya | 
| c6i.metal | Ya | Ya | 
| c6id.32xlarge | Ya | Ya | 
| c6id.metal | Ya | Ya | 
| c6in.32xlarge | Ya | Ya | 
| c6in.metal | Ya | Ya | 
| c7a.48xlarge | Ya | Tidak | 
| c7a.metal-48xl | Ya | Tidak | 
| c7g.16xlarge | Ya | Ya | 
| c7g.metal | Ya | Ya | 
| c7gd.16xlarge | Ya | Tidak | 
| c7gd.metal | Ya | Tidak | 
| c7i.48xlarge | Ya | Tidak | 
| c7i.metal-48xl | Ya | Tidak | 
| Memori Dioptimalkan | 
| --- |
| r6a.48xlarge | Ya | Ya | 
| r6a.metal | Ya | Ya | 
| r6i.32xlarge | Ya | Ya | 
| r6i.metal | Ya | Ya | 
| r6id.32xlarge | Ya | Ya | 
| r6id.metal | Ya | Ya | 
| r6idn.32xlarge | Ya | Ya | 
| r6idn.metal | Ya | Ya | 
| r6in.32xlarge | Ya | Ya | 
| r6in.metal | Ya | Ya | 
| r7a.48xlarge | Tidak | Tidak | 
| r7a.metal-48xl | Tidak | Tidak | 
| r7g.16xlarge | Tidak | Tidak | 
| r7g.metal | Tidak | Tidak | 
| r7gd.16xlarge | Tidak | Tidak | 
| r7gd.logam | Tidak | Tidak | 
| r7i.48xlarge | Tidak | Tidak | 
| r7i.metal-48xl | Tidak | Tidak | 
| r7iz.32xlarge | Tidak | Tidak | 
| r7iz.metal-32xl | Tidak | Tidak | 
| u7i-6tb.112xlarge | Ya | Ya | 
| u7i-8tb.112xlarge | Ya | Ya | 
| u7i-12tb.224xlarge | Ya | Ya | 
| u7in-16tb.224xlarge | Ya | Ya | 
| u7in-24tb.224xlarge | Ya | Ya | 
| u7in-32tb.224xlarge | Ya | Ya | 
| u7inh-32tb.480xlarge | Ya | Ya | 
| x2idn.32xlarge | Ya | Ya | 
| x2idn.metal | Ya | Ya | 
| x2iedn.32xlarge | Ya | Ya | 
| x2iedn.metal | Ya | Ya | 
| Penyimpanan Dioptimalkan | 
| --- |
| i4g.16xlarge | Ya | Ya | 
| i4i.32xlarge | Ya | Ya | 
| i4i.metal | Ya | Ya | 
| i7i.24xlarge | Ya | Tidak | 
| i7i.48xlarge | Ya | Tidak | 
| i7i.logam-48xl | Ya | Tidak | 
| im4gn.16xlarge | Ya | Ya | 
| Komputasi yang Dipercepat | 
| --- |
| f2.48xbesar | Ya | Ya | 
| g6.8xlarge | Ya | Ya | 
| g6.12xlarge | Ya | Ya | 
| g6.16xlarge | Ya | Ya | 
| g6.24xlarge | Ya | Ya | 
| g6.48xlarge | Ya | Ya | 
| g6e.8xlarge | Ya | Ya | 
| g6e.12xlarge | Ya | Ya | 
| g6e.16xlarge | Ya | Ya | 
| g6e.24xlarge | Ya | Ya | 
| g6e.48xlarge | Ya | Ya | 
| gr6.8xbesar | Ya | Ya | 
| p5.4xbesar | Ya | Ya | 
| p5.48xlarge | Ya | Ya | 
| p5e.48xlarge | Ya | Ya | 
| trn1.32xlarge | Ya | Ya | 
| trn1n.32xlarge | Ya | Ya | 
| Komputasi Performa Tinggi | 
| --- |
| hpc6a.48xlarge | Ya | Ya | 
| hpc6id.32xlarge | Ya | Ya | 
| hpc7a.12xlarge | Ya | Tidak | 
| hpc7a.24xlarge | Ya | Tidak | 
| hpc7a.48xlarge | Ya | Tidak | 
| hpc7a.96xlarge | Ya | Tidak | 

------
#### [ Nitro v3 ]


| Tipe instans | Dukungan baca RDMA | Dukungan tulis RDMA | 
| --- |--- |--- |
| Tujuan Umum | 
| --- |
| m5dn.24xlarge | Tidak | Tidak | 
| m5dn.metal | Tidak | Tidak | 
| m5n.24xlarge | Tidak | Tidak | 
| m5n.metal | Tidak | Tidak | 
| m5zn.12xlarge | Tidak | Tidak | 
| m5zn.metal | Tidak | Tidak | 
| Komputasi yang Dioptimalkan | 
| --- |
| c5n.9xlarge | Tidak | Tidak | 
| c5n.18xlarge | Tidak | Tidak | 
| c5n.metal | Tidak | Tidak | 
| Memori Dioptimalkan | 
| --- |
| r5dn.24xlarge | Tidak | Tidak | 
| r5dn.metal | Tidak | Tidak | 
| r5n.24xlarge | Tidak | Tidak | 
| r5n.metal | Tidak | Tidak | 
| x2iezn.12xlarge | Tidak | Tidak | 
| x2iezn.metal | Tidak | Tidak | 
| Penyimpanan Dioptimalkan | 
| --- |
| i3en.12xlarge | Tidak | Tidak | 
| i3en.24xlarge | Tidak | Tidak | 
| i3en.metal | Tidak | Tidak | 
| Komputasi yang Dipercepat | 
| --- |
| dl1.24xlarge | Ya | Tidak | 
| dl2q.24xlarge | Tidak | Tidak | 
| g4dn.8xlarge | Tidak | Tidak | 
| g4dn.12xlarge | Tidak | Tidak | 
| g4dn.16xlarge | Tidak | Tidak | 
| g4dn.metal | Tidak | Tidak | 
| g5.8xlarge | Tidak | Tidak | 
| g5.12xlarge | Tidak | Tidak | 
| g5.16xlarge | Tidak | Tidak | 
| g5.24xlarge | Tidak | Tidak | 
| g5.48xlarge | Tidak | Tidak | 
| inf1.24xlarge | Tidak | Tidak | 
| p3dn.24xlarge | Tidak | Tidak | 
| p4d.24xlarge | Ya | Tidak | 
| p4de.24xlarge | Ya | Tidak | 
| vt1.24xlarge | Tidak | Tidak | 
| Generasi Sebelumnya | 
| --- |
| p3dn.24xlarge | Tidak | Tidak | 

------

**Untuk melihat jenis instans yang tersedia yang mendukung EFAs di Wilayah tertentu**  
Tipe instans yang tersedia berbeda-beda menurut Wilayah. Untuk melihat jenis instance yang tersedia yang mendukung EFAs di Region, gunakan [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html)perintah dengan `--region` parameter. Sertakan parameter `--filters` untuk cakupan hasil ke tipe instans yang mendukung EFA dan `--query` parameter untuk cakupan output ke nilai `InstanceType`.

```
aws ec2 describe-instance-types \
    --region us-east-1  \
    --filters Name=network-info.efa-supported,Values=true \
    --query "InstanceTypes[*].[InstanceType]"  \
    --output text | sort
```

## Sistem operasi yang didukung
<a name="efa-os"></a>

Dukungan sistem operasi berbeda tergantung pada jenis prosesor. Tabel berikut menunjukkan sistem operasi yang didukung.


| Sistem operasi | Intel/AMD (`x86_64`) jenis instans | AWS Graviton (`arm64`) jenis contoh | 
| --- | --- | --- | 
| Amazon Linux 2023 | ✓ | ✓ | 
| Amazon Linux 2 | ✓ | ✓ | 
| RHEL 8 dan 9 | ✓ | ✓ | 
| Debian 11, 12, dan 13 | ✓ | ✓ | 
| Rocky Linux 8 dan 9 | ✓ | ✓ | 
| Ubuntu 22.04 dan 24.04 | ✓ | ✓ | 
| SUSE Linux Enterprise 15 SP2 dan yang lebih baru | ✓ | ✓ | 
| openSUSE Leap 15.5 dan yang lebih baru | ✓ |  | 

**catatan**  
Beberapa sistem operasi yang terdaftar mungkin tidak didukung dengan Intel MPI. Jika Anda menggunakan Intel MPI, lihat [dokumentasi Intel MPI](https://www.intel.com/content/www/us/en/developer/articles/system-requirements/mpi-library-system-requirements.html) untuk memverifikasi dukungan untuk sistem operasi Anda.

## Batasan EFA
<a name="efa-limits"></a>

EFAs memiliki batasan berikut:
+ Penulisan RDMA tidak didukung dengan semua jenis instance. Untuk informasi selengkapnya, lihat [Tipe instans yang didukung](#efa-instance-types).
+ Lalu lintas EFA 1 antara instans P4 d/P4de/DL 1 dan jenis instans lainnya saat ini tidak didukung.
+ [Tipe instans yang mendukung beberapa kartu jaringan](using-eni.md#network-cards) dapat dikonfigurasi dengan satu EFA per kartu jaringan. Semua tipe instans yang didukung hanya mendukung satu EFA per instans.
+ `c7g.16xlarge`,`m7g.16xlarge`, dan Instans `r7g.16xlarge` Khusus dan Host Khusus tidak didukung saat EFA dilampirkan.
+ Lalu lintas EFA 1 tidak dapat melintasi Availability Zone atau VPCs. Ini tidak berlaku untuk lalu lintas IP normal dari perangkat ENA antarmuka EFA.
+ Lalu lintas EFA 1 tidak dapat dirutekan. Lalu lintas IP normal dari perangkat ENA antarmuka EFA tetap dapat dirutekan.
+ EFA tidak didukung pada AWS Outposts.
+ Perangkat EFA dari antarmuka EFA (EFA dengan ENA) didukung pada instance Windows hanya untuk AWS Cloud Digital Interface aplikasi berbasis Software Development Kit (AWS CDI SDK). Jika Anda melampirkan antarmuka EFA (EFA dengan ENA) ke instance Windows untuk aplikasi berbasis SDK non-CDI, itu berfungsi sebagai antarmuka ENA, tanpa kemampuan perangkat EFA tambahan. Antarmuka khusus EFA tidak didukung oleh aplikasi AWS CDI berbasis pada Windows atau Linux. Untuk informasi selengkapnya, lihat [Panduan Pengguna Kit Pengembangan AWS Cloud Digital Interface Perangkat Lunak (AWS CDI SDK)](https://docs.aws.amazon.com/CDI-SDK/latest/ug/what-is.html).

1 *Lalu lintas EFA* mengacu pada lalu lintas yang ditransmisikan melalui perangkat EFA baik EFA (EFA dengan ENA) atau antarmuka khusus EFA.

## Harga EFA
<a name="efa-pricing"></a>

EFA tersedia sebagai fitur jaringan Amazon EC2 opsional yang dapat Anda aktifkan pada instans apa pun yang didukung tanpa biaya tambahan.

# Memulai EFA dan MPI untuk beban kerja HPC di Amazon EC2
<a name="efa-start"></a>

Tutorial berikut membantu Anda meluncurkan klaster instans yang diaktifkan EFA dan MPI untuk beban kerja HPC.

**catatan**  
Instance `u7i-12tb.224xlarge``u7in-16tb.224xlarge`,`u7in-24tb.224xlarge`, dan `u7in-32tb.224xlarge` instans dapat menjalankan hingga 128 proses MPI paralel dengan Open MPI atau hingga 256 proses MPI paralel dengan Intel MPI.

**Topics**
+ [Langkah 1: Siapkan grup keamanan yang diaktifkan EFA](#efa-start-security)
+ [Langkah 2: Luncurkan instans sementara](#efa-start-tempinstance)
+ [Langkah 3: Instal perangkat lunak EFA](#efa-start-enable)
+ [Langkah 4: (*Opsional*) Mengaktifkan Open MPI 5](#efa-start-ompi5)
+ [Langkah 5: (*Opsional*) Instal Intel MPI](#efa-start-impi)
+ [Langkah 6: Menonaktifkan perlindungan ptrace](#efa-start-ptrace)
+ [Langkah 7. Konfirmasi instalasi](#efa-start-test)
+ [Langkah 8: Menginstal aplikasi HPC Anda](#efa-start-hpc-app)
+ [Langkah 9: Membuat AMI yang diaktifkan EFA](#efa-start-ami)
+ [Langkah 10: Meluncurkan instans yang diaktifkan EFA ke dalam grup penempatan klaster](#efa-start-instances)
+ [Langkah 11: Mengakhiri instans sementara](#efa-start-terminate)
+ [Langkah 12: Mengaktifkan SSH tanpa kata sandi](#efa-start-passwordless)

## Langkah 1: Siapkan grup keamanan yang diaktifkan EFA
<a name="efa-start-security"></a>

EFA memerlukan grup keamanan yang memungkinkan semua lalu lintas masuk dan keluar ke dan dari grup keamanan itu sendiri. Prosedur berikut membuat grup keamanan yang memungkinkan semua lalu lintas masuk dan keluar ke dan dari dirinya sendiri, dan yang memungkinkan lalu lintas SSH masuk dari IPv4 alamat apa pun untuk konektivitas SSH.

**penting**  
Grup keamanan ini ditujukan untuk tujuan pengujian saja. Untuk lingkungan produksi Anda, kami sarankan Anda membuat aturan SSH masuk yang memungkinkan lalu lintas hanya dari alamat IP dari mana Anda terhubung, seperti alamat IP komputer Anda, atau berbagai alamat IP di jaringan lokal Anda.

Untuk skenario lainnya, lihat [Aturan-aturan grup keamanan untuk kasus penggunaan yang berbeda](security-group-rules-reference.md).

**Untuk membuat grup keamanan yang diaktifkan EFA**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dalam panel navigasi, pilih **Grup Keamanan**, lalu pilih **Buat grup keamanan**.

1. Di jendela **Buat Grup Keamanan**, lakukan hal berikut:

   1. Untuk **Nama grup keamanan**, masukkan nama deskriptif untuk grup keamanan, seperti `EFA-enabled security group`.

   1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi singkat grup keamanan.

   1. Untuk **VPC**, pilih VPC untuk tujuan peluncuran instans Anda yang didukung EFA.

   1. Pilih **Buat grup keamanan**.

1. Pilih grup keamanan yang Anda buat, dan pada tab **Detail**, salin **ID grup keamanan**.

1. Dengan grup keamanan yang masih dipilih, pilih **Tindakan**, **Edit aturan masuk**, lalu lakukan hal berikut:

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **Semua lalu lintas**.

   1. Untuk **Tipe sumber**, pilih **Kustom** dan tempelkan ID grup keamanan yang Anda salin ke dalam bidang.

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **SSH**.

   1. Untuk **jenis Sumber**, pilih **Anywhere- IPv4**.

   1. Pilih **Simpan aturan**.

1. Dengan grup keamanan yang masih dipilih, pilih **Tindakan**, **Edit aturan keluar**, lalu lakukan hal berikut:

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **Semua lalu lintas**.

   1. Untuk **Tipe tujuan**, pilih **Kustom** dan tempelkan ID grup keamanan yang Anda salin ke dalam bidang.

   1. Pilih **Simpan aturan**.

## Langkah 2: Luncurkan instans sementara
<a name="efa-start-tempinstance"></a>

Luncurkan instans sementara yang dapat Anda gunakan untuk menginstal dan mengonfigurasi komponen perangkat lunak EFA. Anda menggunakan instans ini untuk membuat AMI yang diaktifkan EFA sebagai tempat untuk meluncurkan instans Anda yang diaktifkan EFA. 

**Untuk meluncurkan instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**, lalu pilih **Luncurkan Instans** untuk membuka wizard peluncuran instans baru.

1. (*Opsional*) Di bagian **Nama dan tanda**, berikan nama untuk instans, seperti `EFA-instance`. Nama ditetapkan ke instans sebagai tanda sumber daya (`Name=EFA-instance`).

1. Di bagian **Application and OS Images**, pilih AMI untuk salah satu [sistem operasi yang didukung](efa.md#efa-os).

1. Di bagian **Tipe instans**, pilih [tipe instans yang didukung](efa.md#efa-instance-types).

1. Pada bagian **Pasangan kunci**, pilih pasangan kunci yang akan digunakan untuk instans.

1. Di bagian **Pengaturan jaringan**, pilih **Edit**, lalu lakukan hal berikut:

   1. Untuk **Subnet**, pilih subnet untuk meluncurkan instans. Jika Anda tidak memilih subnet, Anda tidak dapat mengaktifkan instans untuk EFA.

   1. Untuk **Firewall (grup keamanan)**, pilih **Pilih grup keamanan yang ada**, lalu pilih grup keamanan yang Anda buat di langkah sebelumnya.

   1. Perluas bagian **Konfigurasi jaringan lanjutan**.

      Untuk **antarmuka Jaringan 1**, pilih **Indeks kartu jaringan = 0**, **Indeks perangkat = 0**, dan **Jenis antarmuka = EFA dengan ENA**.

      **(Opsional) Jika Anda menggunakan jenis instans multi-kartu, seperti `p4d.24xlarge` atau`p5.48xlarge`, untuk setiap antarmuka jaringan tambahan yang diperlukan, pilih **Tambahkan antarmuka jaringan**, untuk **indeks kartu jaringan pilih indeks** berikutnya yang tidak digunakan, lalu pilih **Indeks perangkat = 1 dan Jenis antarmuka =** **EFA dengan ENA atau EFA** saja.**

1. Di bagian **Penyimpanan**, konfigurasikan volume sesuai kebutuhan.

1. Di panel **Ringkasan** di sebelah kanan, pilih **Luncurkan instans**.

**catatan**  
Pertimbangkan untuk mewajibkan penggunaan IMDSv2 untuk instance sementara serta AMI yang akan Anda buat di [Langkah 9](#efa-start-ami) kecuali Anda telah [menetapkan IMDSv2 sebagai default untuk akun tersebut](configuring-IMDS-new-instances.md#set-imdsv2-account-defaults). Untuk informasi selengkapnya tentang langkah-langkah IMDSv2 konfigurasi, lihat[Mengonfigurasi opsi metadata instans untuk instans baru](configuring-IMDS-new-instances.md). 

## Langkah 3: Instal perangkat lunak EFA
<a name="efa-start-enable"></a>

Instal kernel yang diaktifkan EFA, driver EFA, Libfabric, dan tumpukan Open MPI yang diperlukan untuk mendukung EFA pada instans sementara Anda.

Langkah-langkahnya berbeda tergantung pada apakah Anda bermaksud untuk menggunakan EFA dengan Open MPI, Intel MPI, atau dengan Open MPI dan Intel MPI.

**catatan**  
Beberapa sistem operasi mungkin tidak didukung dengan Intel MPI. Jika Anda menggunakan Intel MPI, lihat [dokumentasi Intel MPI](https://www.intel.com/content/www/us/en/developer/articles/system-requirements/mpi-library-system-requirements.html) untuk memverifikasi dukungan untuk sistem operasi Anda.

**Untuk menginstal perangkat lunak EFA**

1. Hubungkan ke instans yang Anda luncurkan. Untuk informasi selengkapnya, lihat [Hubungkan ke instans Linux Anda, menggunakan SSH.](connect-to-linux-instance.md).

1. Untuk memastikan bahwa semua paket perangkat lunak Anda telah diperbarui, lakukan pembaruan perangkat lunak cepat di instans Anda. Proses ini mungkin memerlukan waktu beberapa menit.
   + Amazon Linux 2023, Amazon Linux 2, RHEL 8/9, Rocky Linux 8/9

     ```
     $ sudo yum update -y
     ```
   + Ubuntu dan Debian

     ```
     $ sudo apt-get update && sudo apt-get upgrade -y
     ```
   + SUSE Linux Enterprise

     ```
     $ sudo zypper update -y
     ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. Unduh file penginstalan perangkat lunak EFA. File penginstalan perangkat lunak dikemas menjadi file tarball (`.tar.gz`) yang dikompresi. Untuk mengunduh versi *stabil* terbaru, gunakan perintah berikut.

   Anda juga bisa mendapatkan versi terbaru dengan mengganti nomor versi dengan `latest` dalam perintah sebelumnya.

   ```
   $ curl -O https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz
   ```

1. (*Opsional*) Verifikasi keaslian dan integritas file tarball EFA (`.tar.gz`).

   Kami menyarankan Anda melakukan hal ini untuk memverifikasi identitas penerbit perangkat lunak dan memeriksa apakah file tersebut tidak diubah atau rusak sejak file tersebut diterbitkan. Jika Anda tidak ingin memverifikasi file tarball, lewati langkah ini.
**catatan**  
Atau, jika Anda lebih suka memverifikasi file tarball dengan menggunakan MD5 atau SHA256 checksum sebagai gantinya, lihat. [Memverifikasi penginstal EFA menggunakan checksum](efa-verify.md)

   1. Unduh kunci GPG publik dan impor ke dalam keyring Anda.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer.key && gpg --import aws-efa-installer.key
      ```

      Perintah tersebut harus mengembalikan nilai kunci. Catat nilai kunci, karena Anda membutuhkannya di langkah selanjutnya.

   1. Verifikasi sidik jari kunci GPG. Jalankan perintah berikut dan tentukan nilai kunci dari langkah sebelumnya.

      ```
      $ gpg --fingerprint key_value
      ```

      Perintah tersebut harus mengembalikan sidik jari yang identik dengan `4E90 91BC BB97 A96B 26B1 5E59 A054 80B1 DD2D 3CCC`. Jika sidik jari tidak cocok, jangan jalankan skrip instalasi EFA, dan hubungi Dukungan.

   1. Unduh file tanda tangan dan verifikasi tanda tangan pada file tarball EFA.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz.sig && gpg --verify ./aws-efa-installer-1.47.0.tar.gz.sig
      ```

      Berikut ini adalah contoh output.

      ```
      gpg: Signature made Wed 29 Jul 2020 12:50:13 AM UTC using RSA key ID DD2D3CCC
      gpg: Good signature from "Amazon EC2 EFA <ec2-efa-maintainers@amazon.com>"
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: 4E90 91BC BB97 A96B 26B1  5E59 A054 80B1 DD2D 3CCC
      ```

      Jika hasilnya mencakup `Good signature`, dan sidik jari cocok dengan sidik jari yang dikembalikan di langkah sebelumnya, lanjutkan ke langkah berikutnya. Jika tidak, jangan jalankan skrip instalasi EFA, dan hubungi Dukungan.

1. Ekstraksi file dari file `.tar.gz` yang dikompresi dan navigasi ke dalam direktori yang diekstraksi.

   ```
   $ tar -xf aws-efa-installer-1.47.0.tar.gz && cd aws-efa-installer
   ```

1. Instal perangkat lunak EFA. Lakukan salah satu langkah berikut sesuai dengan kasus penggunaan Anda.
**catatan**  
**EFA tidak mendukung NVIDIA GPUDirect dengan SUSE Linux**. Jika menggunakan SUSE Linux, Anda juga harus menentukan opsi `--skip-kmod` untuk mencegah penginstalan kmod. Secara default, SUSE Linux tidak mengizinkan modul out-of-tree kernel.

------
#### [ Open MPI and Intel MPI ]

   Jika bermaksud untuk menggunakan EFA dengan Open MPI dan MPI Intel, Anda harus menginstal perangkat lunak EFA dengan Libfabric dan Open MPI, serta **harus menyelesaikan Langkah 5: Menginstal MPI Intel**.

   Untuk menginstal perangkat lunak EFA dengan Libfabric dan Open MPI, jalankan perintah berikut.

**catatan**  
Dari EFA 1.30.0, Open MPI 4.1 dan Open MPI 5 diinstal secara default. Anda dapat secara opsional menentukan versi Open MPI yang ingin diinstal. Untuk menginstal hanya Buka MPI 4.1, sertakan`--mpi=openmpi4`. Untuk menginstal Open MPI 5 saja, sertakan `--mpi=openmpi5`. Untuk menginstal keduanya, hilangkan opsi `--mpi`.

   ```
   $ sudo ./efa_installer.sh -y
   ```

   Libfabric diinstal ke `/opt/amazon/efa`. Buka MPI 4.1 diinstal ke`/opt/amazon/openmpi`. Open MPI 5 diinstal ke `/opt/amazon/openmpi5`.

------
#### [ Open MPI only ]

   Jika bermaksud untuk menggunakan EFA dengan Open MPI saja, Anda harus menginstal perangkat lunak EFA dengan Libfabric dan Open MPI. Anda juga dapat **melewati Langkah 5: Menginstal MPI Intel**. Untuk menginstal perangkat lunak EFA dengan Libfabric dan Open MPI, jalankan perintah berikut.

**catatan**  
Dari EFA 1.30.0, Open MPI 4.1 dan Open MPI 5 diinstal secara default. Anda dapat secara opsional menentukan versi Open MPI yang ingin diinstal. Untuk menginstal hanya Buka MPI 4.1, sertakan`--mpi=openmpi4`. Untuk menginstal Open MPI 5 saja, sertakan `--mpi=openmpi5`. Untuk menginstal keduanya, hilangkan opsi `--mpi`.

   ```
   $ sudo ./efa_installer.sh -y
   ```

   Libfabric diinstal ke `/opt/amazon/efa`. Buka MPI 4.1 diinstal ke`/opt/amazon/openmpi`. Open MPI 5 diinstal ke `/opt/amazon/openmpi5`.

------
#### [ Intel MPI only ]

   Jika Anda berniat untuk menggunakan EFA dengan hanya Intel MPI, Anda harus menginstal perangkat lunak EFA tanpa Libfabric dan Open MPI. Dalam kasus ini, Intel MPI menggunakan Libfabric-nya yang tertanam. Jika memilih untuk melakukan ini, Anda **harus menyelesaikan Langkah 5: Menginstal MPI Intel**. 

   Untuk menginstal perangkat lunak EFA tanpa Libfabric dan Open MPI, jalankan perintah berikut.

   ```
   $ sudo ./efa_installer.sh -y --minimal
   ```

------

1. Jika penginstal EFA meminta Anda untuk me-reboot instans, lakukanlah dan kemudian sambungkan kembali ke instans. Jika tidak, log out dari instans lalu log kembali untuk menyelesaikan penginstalan.

1. Hapus tarball yang tidak terkompresi dan tarball itu sendiri. Jika tidak, ini akan disertakan dalam AMI berkemampuan EFA yang Anda buat, meningkatkan ukurannya.

## Langkah 4: (*Opsional*) Mengaktifkan Open MPI 5
<a name="efa-start-ompi5"></a>

**catatan**  
Lakukan langkah ini hanya jika Anda bermaksud menggunakan Open MPI 5.

Dari EFA 1.30.0, Open MPI 4.1 dan Open MPI 5 diinstal secara default. Atau, Anda dapat memilih untuk menginstal hanya Open MPI 4.1 atau Open MPI 5.

Jika memilih untuk menginstal Open MPI 5 pada **Langkah 3: Menginstal perangkat lunak EFA**, dan bermaksud menggunakannya, Anda harus melakukan langkah-langkah berikut untuk mengaktifkannya.

**Untuk mengaktifkan Open MPI 5**

1. Tambahkan Open MPI 5 ke variabel lingkungan PATH.

   ```
   $ module load openmpi5
   ```

1. Verifikasi bahwa Open MPI 5 aktif untuk digunakan.

   ```
   $ which mpicc
   ```

   Perintah harus menampilkan direktori penginstalan Open MPI 5 - `/opt/amazon/openmpi5`.

1. (*Opsional*) Untuk memastikan bahwa Open MPI 5 ditambahkan ke variabel lingkungan PATH setiap kali instans dimulai, lakukan hal berikut:

------
#### [ bash shell ]

   Tambahkan `module load openmpi5` ke `/home/username/.bashrc` dan `/home/username/.bash_profile`.

------
#### [ csh and tcsh shells ]

   Tambahkan `module load openmpi5` ke `/home/username/.cshrc`.

------

Jika Anda perlu menghapus Open MPI 5 dari variabel lingkungan PATH, jalankan perintah berikut dan hapus perintah dari skrip startup shell.

```
$ module unload openmpi5
```

## Langkah 5: (*Opsional*) Instal Intel MPI
<a name="efa-start-impi"></a>

**penting**  
Lakukan langkah ini hanya jika Anda ingin menggunakan Intel MPI. Jika Anda hanya ingin menggunakan Open MPI, lewati langkah ini. 

Intel MPI membutuhkan instalasi tambahan dan konfigurasi variabel lingkungan.

**Prasyarat**  
Pastikan bahwa pengguna yang melakukan langkah-langkah berikut ini memiliki izin sudo.

**Untuk menginstal Intel MPI**

1. Untuk mengunduh skrip penginstalan Intel MPI, lakukan hal berikut

   1. Kunjungi [situs web Intel](https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#mpi).

   1. Di bagian **Perpustakaan Intel MPI** di halaman web, pilih tautan untuk penginstal **Intel MPI Library for Linux** **Offline**.

1. Jalankan skrip penginstalan yang Anda unduh di langkah sebelumnya.

   ```
   $ sudo bash installation_script_name.sh
   ```

1. Di installer, pilih **Accept & install**.

1. Baca Program Peningkatan Intel, pilih opsi yang sesuai, lalu pilih **Mulai Instalasi**.

1. Saat instalasi selesai, pilih **Tutup**.

1. Secara default, Intel MPI menggunakan Libfabric (internal) yang disematkan. Anda dapat mengonfigurasi Intel MPI untuk menggunakan Libfabric yang dikirimkan dengan penginstal EFA sebagai gantinya. Biasanya, installer EFA dikirimkan dengan versi Libfabric yang lebih baru daripada Intel MPI. Dalam beberapa kasus, Libfabric yang dikirimkan dengan installer EFA lebih berperforma daripada Intel MPI. Untuk mengonfigurasi Intel MPI agar menggunakan Libfabric yang dikirimkan bersama penginstal EFA, lakukan salah satu hal berikut tergantung pada shell Anda.

------
#### [ bash shells ]

   Tambahkan pernyataan berikut ke `/home/username/.bashrc` dan `/home/username/.bash_profile`.

   ```
   export I_MPI_OFI_LIBRARY_INTERNAL=0
   ```

------
#### [ csh and tcsh shells ]

   Tambahkan pernyataan berikut ke `/home/username/.cshrc`.

   ```
   setenv I_MPI_OFI_LIBRARY_INTERNAL 0
   ```

------

1. Tambahkan perintah **source** berikut ke skrip shell Anda untuk sumber skrip `vars.sh` dari direktori instalasi untuk mengatur lingkungan kompiler setiap kali instans dimulai. Lakukan salah satu langkah berikut sesuai dengan shell Anda.

------
#### [ bash shells ]

   Tambahkan pernyataan berikut ke `/home/username/.bashrc` dan `/home/username/.bash_profile`.

   ```
   source /opt/intel/oneapi/mpi/latest/env/vars.sh
   ```

------
#### [ csh and tcsh shells ]

   Tambahkan pernyataan berikut ke `/home/username/.cshrc`.

   ```
   source /opt/intel/oneapi/mpi/latest/env/vars.csh
   ```

------

1. Secara default, jika EFA tidak tersedia karena kesalahan konfigurasi, Intel MPI default ke tumpukan TCP/IP jaringan, yang mungkin mengakibatkan kinerja aplikasi lebih lambat. Anda dapat mencegahnya dengan mengatur `I_MPI_OFI_PROVIDER` ke `efa`. Hal ini menyebabkan Intel MPI gagal dengan kesalahan berikut jika EFA tidak tersedia:

   ```
   Abort (XXXXXX) on node 0 (rank 0 in comm 0): Fatal error in PMPI_Init: OtherMPI error,
   MPIR_Init_thread (XXX)........:	
   MPID_Init (XXXX)..............:
   MPIDI_OFI_mpi_init_hook (XXXX):
   open_fabric (XXXX)............:
   find_provider (XXXX)..........:
   OFI fi_getinfo() failed (ofi_init.c:2684:find_provider:
   ```

   Lakukan salah satu langkah berikut sesuai dengan shell Anda.

------
#### [ bash shells ]

   Tambahkan pernyataan berikut ke `/home/username/.bashrc` dan `/home/username/.bash_profile`.

   ```
   export I_MPI_OFI_PROVIDER=efa
   ```

------
#### [ csh and tcsh shells ]

   Tambahkan pernyataan berikut ke `/home/username/.cshrc`.

   ```
   setenv I_MPI_OFI_PROVIDER efa
   ```

------

1. Secara default, Intel MPI tidak mencetak informasi debugging. Anda dapat menentukan tingkat verbositas yang berbeda untuk mengontrol informasi debugging. Nilai yang mungkin (dalam urutan jumlah detail yang mereka berikan) adalah: `0` (default), `1`, `2`, `3`, `4`, `5`. Level `1` dan lebih tinggi mencetak `libfabric version` dan `libfabric provider`. Gunakan `libfabric version` untuk memeriksa apakah Intel MPI menggunakan Libfabric internal atau Libfabric yang dikirimkan bersama penginstal EFA. Jika menggunakan Libfabric internal, versinya berakhiran dengan `impi`. Gunakan `libfabric provider` untuk memeriksa dengan Intel MPI menggunakan EFA atau jaringan. TCP/IP Jika menggunakan EFA, nilainya adalah `efa`. Jika menggunakan TCP/IP, nilainya adalah `tcp;ofi_rxm`.

   Untuk mengaktifkan informasi debugging, lakukan salah satu hal berikut sesuai dengan shell Anda.

------
#### [ bash shells ]

   Tambahkan pernyataan berikut ke `/home/username/.bashrc` dan `/home/username/.bash_profile`.

   ```
   export I_MPI_DEBUG=value
   ```

------
#### [ csh and tcsh shells ]

   Tambahkan pernyataan berikut ke `/home/username/.cshrc`.

   ```
   setenv I_MPI_DEBUG value
   ```

------

1. Secara default, Intel MPI menggunakan memori bersama (`shm`) sistem operasi untuk komunikasi intra-simpul, dan menggunakan Libfabric (`ofi`) hanya untuk komunikasi antar simpul. Umumnya, konfigurasi ini memberikan performa terbaik. Namun, dalam beberapa kasus kain Intel MPI shm dapat menyebabkan aplikasi tertentu menggantung tanpa batas waktu.

   Untuk mengatasi masalah ini, Anda dapat memaksa Intel MPI untuk menggunakan Libfabric untuk komunikasi intra-simpul dan antar-simpul. Untuk melakukannya, lakukan salah satu langkah berikut sesuai dengan shell Anda.

------
#### [ bash shells ]

   Tambahkan pernyataan berikut ke `/home/username/.bashrc` dan `/home/username/.bash_profile`.

   ```
   export I_MPI_FABRICS=ofi
   ```

------
#### [ csh and tcsh shells ]

   Tambahkan pernyataan berikut ke `/home/username/.cshrc`.

   ```
   setenv I_MPI_FABRICS ofi
   ```

------
**catatan**  
Penyedia Libfabric EFA menggunakan memori bersama sistem operasi untuk komunikasi intra-simpul. Ini berarti bahwa pengaturan `I_MPI_FABRICS` untuk `ofi` menghasilkan performa yang mirip dengan konfigurasi `shm:ofi` default.

1. Keluar dari instans lalu masuk kembali.

Jika Anda tidak ingin menggunakan Intel MPI lagi, hapus variabel lingkungan dari skrip startup shell.

## Langkah 6: Menonaktifkan perlindungan ptrace
<a name="efa-start-ptrace"></a>

Untuk meningkatkan performa aplikasi HPC Anda, Libfabric menggunakan memori lokal instans untuk komunikasi antarproses ketika proses berjalan pada instans yang sama. 

Fitur memori bersama menggunakan Cross Memory Attach (CMA), yang tidak didukung oleh *perlindungan ptrace*. Jika Anda menggunakan distribusi Linux yang memiliki perlindungan ptrace yang diaktifkan secara default, seperti Ubuntu, Anda harus menonaktifkannya. Jika distribusi Linux Anda tidak memiliki perlindungan ptrace yang diaktifkan secara default, lewati langkah ini.

**Untuk menonaktifkan perlindungan ptrace**  
Lakukan salah satu langkah berikut:
+ Untuk menonaktifkan sementara perlindungan ptrace untuk tujuan pengujian, jalankan perintah berikut.

  ```
  $ sudo sysctl -w kernel.yama.ptrace_scope=0
  ```
+ Untuk menonaktifkan perlindungan ptrace secara permanen, tambahkan `kernel.yama.ptrace_scope = 0` ke `/etc/sysctl.d/10-ptrace.conf` dan nyalakan ulang instans.

## Langkah 7. Konfirmasi instalasi
<a name="efa-start-test"></a>

**Untuk mengkonfirmasi instalasi yang berhasil**

1. Untuk mengonfirmasi bahwa MPI berhasil diinstal, jalankan perintah berikut:

   ```
   $ which mpicc
   ```
   + Untuk Open MPI, jalur yang dikembalikan harus menyertakan `/opt/amazon/`
   + Untuk Intel MPI, jalur yang dikembalikan harus menyertakan `/opt/intel/`. Jika Anda tidak mendapatkan output yang diharapkan, pastikan Anda telah mendapatkan skrip Intel MPI `vars.sh`.

1. Untuk mengonfirmasi bahwa komponen perangkat lunak EFA dan Libfabric berhasil diinstal, jalankan perintah berikut.

   ```
   $ fi_info -p efa -t FI_EP_RDM
   ```

   Perintah tersebut harus mengembalikan informasi tentang antarmuka Libfabric EFA. Contoh berikut menunjukkan output perintah.

   ```
   provider: efa
       fabric: EFA-fe80::94:3dff:fe89:1b70
       domain: efa_0-rdm
       version: 2.0
       type: FI_EP_RDM
       protocol: FI_PROTO_EFA
   ```

## Langkah 8: Menginstal aplikasi HPC Anda
<a name="efa-start-hpc-app"></a>

Instal aplikasi HPC di instans sementara. Prosedur penginstalan bervariasi tergantung pada aplikasi HPC tertentu. Untuk informasi selengkapnya, lihat [Mengelola perangkat lunak pada AL2 instans Anda](https://docs.aws.amazon.com/linux/al2/ug/managing-software.html) di *Panduan Pengguna Amazon Linux 2*.

**catatan**  
Lihat dokumentasi aplikasi HPC Anda untuk petunjuk penginstalan.

## Langkah 9: Membuat AMI yang diaktifkan EFA
<a name="efa-start-ami"></a>

Setelah menginstal komponen perangkat lunak yang diperlukan, Anda membuat AMI yang dapat digunakan kembali untuk meluncurkan instans Anda dengan EFA yang diaktifkan.

**Untuk membuat AMI dari instans sementara Anda**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**.

1. Pilih instans sementara yang Anda buat dan pilih **Tindakan**, **Gambar**, **Buat gambar**.

1. Untuk **Buat gambar**, lakukan hal berikut:

   1. Untuk **Nama gambar**, masukkan nama deskriptif untuk AMI.

   1. (Opsional) Untuk **Deskripsi gambar**, masukkan deskripsi singkat tentang tujuan AMI.

   1. Pilih **Buat gambar**.

1. Di panel navigasi, pilih **AMIs**.

1. Temukan AMI yang Anda buat dalam daftar. Tunggu hingga status berubah dari `pending` menjadi `available` sebelum melanjutkan ke langkah berikutnya.

## Langkah 10: Meluncurkan instans yang diaktifkan EFA ke dalam grup penempatan klaster
<a name="efa-start-instances"></a>

Luncurkan instans yang diaktifkan EFA Anda ke dalam grup penempatan klaster menggunakan AMI yang diaktifkan EFA yang Anda buat di **Langkah 7**, dan grup keamanan yang diaktifkan EFA yang Anda buat di **Langkah 1**.

**catatan**  
Meluncurkan instans yang diaktifkan EFA ke dalam grup penempatan kluster bukanlah persyaratan mutlak. Namun, kami menyarankan Anda untuk menjalankan instans yang diaktifkan EFA dalam grup penempatan klaster saat instans diluncurkan ke grup dengan latensi rendah di Zona Ketersediaan tunggal.
Untuk memastikan kapasitas tersedia saat Anda menskalakan instans klaster, Anda dapat membuat Reservasi Kapasitas untuk grup penempatan klaster Anda. Untuk informasi selengkapnya, lihat [Gunakan Reservasi Kapasitas dengan grup penempatan klaster](cr-cpg.md).

**Untuk meluncurkan sebuah instans**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**, lalu pilih **Luncurkan Instans** untuk membuka wizard peluncuran instans baru.

1. (*Opsional*) Di bagian **Nama dan tanda**, berikan nama untuk instans, seperti `EFA-instance`. Nama ditetapkan ke instans sebagai tanda sumber daya (`Name=EFA-instance`).

1. Di bagian **Application and OS Images**AMIs, pilih **My**, lalu pilih AMI yang Anda buat pada langkah sebelumnya.

1. Di bagian **Tipe instans**, pilih [tipe instans yang didukung](efa.md#efa-instance-types).

1. Pada bagian **Pasangan kunci**, pilih pasangan kunci yang akan digunakan untuk instans.

1. Di bagian **Pengaturan jaringan**, pilih **Edit**, lalu lakukan hal berikut:

   1. Untuk **Subnet**, pilih subnet untuk meluncurkan instans. Jika Anda tidak memilih subnet, Anda tidak dapat mengaktifkan instans untuk EFA.

   1. Untuk **Firewall (grup keamanan)**, pilih **Pilih grup keamanan yang ada**, lalu pilih grup keamanan yang Anda buat di langkah sebelumnya.

   1. Perluas bagian **Konfigurasi jaringan lanjutan**.

      Untuk **antarmuka Jaringan 1**, pilih **Indeks kartu jaringan = 0**, **Indeks perangkat = 0**, dan **Jenis antarmuka = EFA dengan ENA**.

      **(*Opsional*) Jika Anda menggunakan jenis instans multi-kartu, seperti `p4d.24xlarge` atau`p5.48xlarge`, untuk setiap antarmuka jaringan tambahan yang diperlukan, pilih **Tambahkan antarmuka jaringan**, untuk **indeks kartu jaringan pilih indeks** berikutnya yang tidak digunakan, lalu pilih **Indeks perangkat = 1 dan Jenis antarmuka =** **EFA dengan ENA atau EFA** saja.**

1. (*Opsional*) Di bagian **Penyimpanan**, konfigurasikan volume sesuai kebutuhan.

1. Di bagian **Detail lanjutan**, untuk **nama grup Penempatan**, pilih grup penempatan klaster untuk meluncurkan instans. Jika Anda perlu membuat grup penempatan klaster baru, pilih **Buat grup penempatan baru**.

1. Di panel **Ringkasan** di sebelah kanan, untuk **Jumlah instans**, masukkan jumlah instans yang diaktifkan EFA yang ingin Anda luncurkan, lalu pilih **Luncurkan instans**.

## Langkah 11: Mengakhiri instans sementara
<a name="efa-start-terminate"></a>

Pada titik ini, Anda tidak lagi memerlukan instance yang Anda luncurkan di [Langkah 2](#efa-start-tempinstance). Anda dapat mengakhiri instans agar biaya tidak dibebankan lagi padanya.

**Untuk mengakhiri instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**.

1. Pilih instance sementara yang Anda buat lalu pilih **Actions**, **Instance state**, **Terminate (delete) instance**.

1. Saat diminta konfirmasi, pilih **Hentikan (hapus)**.

## Langkah 12: Mengaktifkan SSH tanpa kata sandi
<a name="efa-start-passwordless"></a>

Agar aplikasi Anda dapat berjalan di semua instans dalam klaster, Anda harus mengaktifkan akses SSH tanpa kata sandi dari simpul pemimpin ke simpul anggota. Simpul pemimpin adalah instans dari mana Anda menjalankan aplikasi Anda. Instans yang tersisa di klaster adalah simpul anggota.

**Untuk mengaktifkan SSH tanpa kata sandi antar instans dalam klaster**

1. Pilih satu instans dalam klaster sebagai simpul pemimpin, dan hubungkan ke instans tersebut.

1. Nonaktifkan `strictHostKeyChecking` dan aktifkan `ForwardAgent` pada simpul pemimpin. Buka `~/.ssh/config` menggunakan editor teks pilihan Anda dan tambahkan berikut ini.

   ```
   Host *
       ForwardAgent yes
   Host *
       StrictHostKeyChecking no
   ```

1. Membuat pasangan kunci RSA.

   ```
   $ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
   ```

   Pasangan kunci dibuat dalam direktori `$HOME/.ssh/`.

1. Ubah izin kunci privat pada simpul pemimpin.

   ```
   $ chmod 600 ~/.ssh/id_rsa
   chmod 600 ~/.ssh/config
   ```

1. Buka `~/.ssh/id_rsa.pub` menggunakan editor teks pilihan Anda dan salin kunci.

1. Untuk setiap simpul anggota di klaster, lakukan hal berikut:

   1. Hubungkan dengan instans.

   1. Buka `~/.ssh/authorized_keys` menggunakan editor teks pilihan Anda tambahkan kunci publik yang Anda salin sebelumnya.

1. Untuk menguji apakah SSH tanpa kata sandi berfungsi seperti yang diharapkan, hubungkan ke simpul pemimpin Anda dan jalankan perintah berikut.

   ```
   $ ssh member_node_private_ip
   ```

   Anda harus terhubung ke simpul anggota tanpa diminta untuk memasukkan kunci atau kata sandi.

# Memulai dengan EFA dan NCCL untuk beban kerja ML di Amazon EC2
<a name="efa-start-nccl"></a>

NVIDIA Collective Communications Library (NCCL) adalah perpustakaan rutinitas komunikasi kolektif standar untuk beberapa GPUs di satu node atau beberapa node. NCCL dapat digunakan bersama-sama dengan EFA, Libfabric, dan MPI untuk mendukung berbagai beban kerja machine learning. Untuk informasi lebih lanjut, lihat situs web [NCCL](https://developer.nvidia.com/nccl).

**Persyaratan**
+ Hanya tipe instans seri P komputasi yang dipercepat yang didukung. Untuk informasi selengkapnya, lihat instans [komputasi akselerasi Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac-sizes).
+ Hanya Amazon Linux 2023, Amazon Linux 2, Ubuntu 24.04, dan basis AMIs Ubuntu 22.04 yang didukung.
+ Hanya NCCL 2.4.2 dan yang lebih baru yang didukung EFA.

*Untuk informasi selengkapnya tentang menjalankan beban kerja pembelajaran mesin dengan EFA dan NCCL menggunakan AWS Deep Learning AMIs, lihat [Menggunakan EFA pada DLAMI di Panduan Pengembang](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-efa-using.html).AWS Deep Learning AMIs *

**Topics**
+ [Langkah 1: Siapkan grup keamanan yang diaktifkan EFA](#nccl-start-base-setup)
+ [Langkah 2: Luncurkan instans sementara](#nccl-start-base-temp)
+ [Langkah 3: Instal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN](#nccl-start-base-drivers)
+ [Langkah 4: Instal GDRCopy](#nccl-start-base-gdrcopy)
+ [Langkah 5: Instal perangkat lunak EFA](#nccl-start-base-enable)
+ [Langkah 6: Instal NCCL](#nccl-start-base-nccl)
+ [Langkah 7: Instal uji NCCL](#nccl-start-base-tests)
+ [Langkah 8: Uji konfigurasi EFA dan NCCL Anda](#nccl-start-base-test)
+ [Langkah 9: Instal aplikasi machine learning Anda](#nccl-start-base-app)
+ [Langkah 10: Membuat AMI dengan EFA dan NCCL yang diaktifkan](#nccl-start-base-ami)
+ [Langkah 11: Mengakhiri instans sementara](#nccl-start-base-terminate)
+ [Langkah 12: Luncurkan instans yang diaktifkan EFA dan NCCL ke dalam grup penempatan klaster](#nccl-start-base-cluster)
+ [Langkah 13: Mengaktifkan SSH tanpa kata sandi](#nccl-start-base-passwordless)

## Langkah 1: Siapkan grup keamanan yang diaktifkan EFA
<a name="nccl-start-base-setup"></a>

EFA memerlukan grup keamanan yang memungkinkan semua lalu lintas masuk dan keluar ke dan dari grup keamanan itu sendiri. Prosedur berikut membuat grup keamanan yang memungkinkan semua lalu lintas masuk dan keluar ke dan dari dirinya sendiri, dan yang memungkinkan lalu lintas SSH masuk dari IPv4 alamat apa pun untuk konektivitas SSH.

**penting**  
Grup keamanan ini ditujukan untuk tujuan pengujian saja. Untuk lingkungan produksi Anda, kami sarankan Anda membuat aturan SSH masuk yang memungkinkan lalu lintas hanya dari alamat IP dari mana Anda terhubung, seperti alamat IP komputer Anda, atau berbagai alamat IP di jaringan lokal Anda.

Untuk skenario lainnya, lihat [Aturan-aturan grup keamanan untuk kasus penggunaan yang berbeda](security-group-rules-reference.md).

**Untuk membuat grup keamanan yang diaktifkan EFA**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dalam panel navigasi, pilih **Grup Keamanan**, lalu pilih **Buat grup keamanan**.

1. Di jendela **Buat Grup Keamanan**, lakukan hal berikut:

   1. Untuk **Nama grup keamanan**, masukkan nama deskriptif untuk grup keamanan, seperti `EFA-enabled security group`.

   1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi singkat grup keamanan.

   1. Untuk **VPC**, pilih VPC untuk tujuan peluncuran instans Anda yang didukung EFA.

   1. Pilih **Buat grup keamanan**.

1. Pilih grup keamanan yang Anda buat, dan pada tab **Detail**, salin **ID grup keamanan**.

1. Dengan grup keamanan yang masih dipilih, pilih **Tindakan**, **Edit aturan masuk**, lalu lakukan hal berikut:

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **Semua lalu lintas**.

   1. Untuk **Tipe sumber**, pilih **Kustom** dan tempelkan ID grup keamanan yang Anda salin ke dalam bidang.

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **SSH**.

   1. Untuk **jenis Sumber**, pilih **Anywhere- IPv4**.

   1. Pilih **Simpan aturan**.

1. Dengan grup keamanan yang masih dipilih, pilih **Tindakan**, **Edit aturan keluar**, lalu lakukan hal berikut:

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **Semua lalu lintas**.

   1. Untuk **Tipe tujuan**, pilih **Kustom** dan tempelkan ID grup keamanan yang Anda salin ke dalam bidang.

   1. Pilih **Simpan aturan**.

## Langkah 2: Luncurkan instans sementara
<a name="nccl-start-base-temp"></a>

Luncurkan instans sementara yang dapat Anda gunakan untuk menginstal dan mengonfigurasi komponen perangkat lunak EFA. Anda menggunakan instans ini untuk membuat AMI yang diaktifkan EFA sebagai tempat untuk meluncurkan instans Anda yang diaktifkan EFA.

**Untuk meluncurkan instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**, lalu pilih **Luncurkan Instans** untuk membuka wizard peluncuran instans baru.

1. (*Opsional*) Di bagian **Nama dan tanda**, berikan nama untuk instans, seperti `EFA-instance`. Nama ditetapkan ke instans sebagai tanda sumber daya (`Name=EFA-instance`).

1. Di bagian **Application and OS Images**, pilih AMI untuk salah satu sistem operasi yang didukung.

1. Di bagian **Jenis instans**, pilih jenis instans yang didukung.

1. Pada bagian **Pasangan kunci**, pilih pasangan kunci yang akan digunakan untuk instans.

1. Di bagian **Pengaturan jaringan**, pilih **Edit**, lalu lakukan hal berikut:

   1. Untuk **Subnet**, pilih subnet untuk meluncurkan instans. Jika Anda tidak memilih subnet, Anda tidak dapat mengaktifkan instans untuk EFA.

   1. Untuk **Firewall (grup keamanan)**, pilih **Pilih grup keamanan yang ada**, lalu pilih grup keamanan yang Anda buat di langkah sebelumnya.

   1. Perluas bagian **Konfigurasi jaringan lanjutan**.

      Untuk **antarmuka Jaringan 1**, pilih **Indeks kartu jaringan = 0**, **Indeks perangkat = 0**, dan **Jenis antarmuka = EFA dengan ENA**.

      **(*Opsional*) Jika Anda menggunakan jenis instans multi-kartu, seperti `p4d.24xlarge` atau`p5.48xlarge`, untuk setiap antarmuka jaringan tambahan yang diperlukan, pilih **Tambahkan antarmuka jaringan**, untuk **indeks kartu jaringan pilih indeks** berikutnya yang tidak digunakan, lalu pilih **Indeks perangkat = 1 dan Jenis antarmuka =** **EFA dengan ENA atau EFA** saja.**

1. Di bagian **Penyimpanan**, konfigurasikan volume sesuai kebutuhan.
**catatan**  
Anda harus menyediakan penyimpanan tambahan 10 hingga 20 GiB untuk Nvidia CUDA. Jika Anda tidak menyediakan penyimpanan yang cukup, Anda akan menerima kesalahan `insufficient disk space` saat mencoba menginstal driver Nvidia dan toolkit CUDA.

1. Di panel **Ringkasan** di sebelah kanan, pilih **Luncurkan instans**.

## Langkah 3: Instal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN
<a name="nccl-start-base-drivers"></a>

------
#### [ Amazon Linux 2023 and Amazon Linux 2 ]

**Untuk menginstal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN**

1. Untuk memastikan bahwa semua paket perangkat lunak Anda telah diperbarui, lakukan pembaruan perangkat lunak cepat di instans Anda.

   ```
   $ sudo yum upgrade -y && sudo reboot
   ```

   Hubungkan kembali ke instans Anda setelah boot ulang.

1. Pasang utilitas yang diperlukan untuk memasang driver GPU Nvidia dan toolkit Nvidia CUDA.

   ```
   $ sudo yum groupinstall 'Development Tools' -y
   ```

1. Nonaktifkan driver `nouveau` open source.

   1. Instal utilitas yang diperlukan dan paket header kernel untuk versi kernel yang sedang Anda jalankan.

      ```
      $ sudo yum install -y wget kernel-devel-$(uname -r) kernel-headers-$(uname -r)
      ```

   1. Tambahkan `nouveau` ke file daftar penolakan `/etc/modprobe.d/blacklist.conf `.

      ```
      $ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf
      blacklist vga16fb
      blacklist nouveau
      blacklist rivafb
      blacklist nvidiafb
      blacklist rivatv
      EOF
      ```

   1. Tambahkan `GRUB_CMDLINE_LINUX="rdblacklist=nouveau"` ke file `grub` dan bangun kembali konfigurasi Grub.

      ```
      $ echo 'GRUB_CMDLINE_LINUX="rdblacklist=nouveau"' | sudo tee -a /etc/default/grub \
      && sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. Siapkan repositori yang dibutuhkan

   1. Aktifkan repositori EPEL dan atur distribusi ke. `rhel7`

      ```
      $ sudo amazon-linux-extras install epel \
      && distribution='rhel7'
      ```

   1. Siapkan repositori jaringan CUDA dan perbarui cache repositori.

      ```
      $ ARCH=$( /bin/arch ) \
      && sudo yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/$distribution/${ARCH}/cuda-$distribution.repo \
      && sudo yum clean expire-cache
      ```

   1. (*Kernel versi 5.10 saja*) Lakukan langkah-langkah ini hanya jika Anda menggunakan Amazon Linux 2 dengan kernel versi 5.10. Jika Anda menggunakan Amazon Linux 2 dengan kernel versi 4.12, lewati langkah-langkah ini. Untuk memeriksa versi kernel Anda, jalankan **uname -r**.

      1. Buat file konfigurasi driver Nvidia bernama `/etc/dkms/nvidia.conf`.

         ```
         $ sudo mkdir -p /etc/dkms \
         && echo "MAKE[0]=\"'make' -j2 module SYSSRC=\${kernel_source_dir} IGNORE_XEN_PRESENCE=1 IGNORE_PREEMPT_RT_PRESENCE=1 IGNORE_CC_MISMATCH=1 CC=/usr/bin/gcc10-gcc\"" | sudo tee /etc/dkms/nvidia.conf
         ```

      1. (`p4d.24xlarge` dan `p5.48xlarge` saja) Salin file konfigurasi driver Nvidia.

         ```
         $ sudo cp /etc/dkms/nvidia.conf /etc/dkms/nvidia-open.conf
         ```

1. Instal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN.

   ```
   $ sudo yum clean all \
   && sudo yum -y install nvidia-driver-latest-dkms \
   && sudo yum -y install cuda-drivers-fabricmanager cuda libcudnn8-devel
   ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. (`p4d.24xlarge` dan `p5.48xlarge` saja) Mulai layanan Nvidia Fabric Manager, dan pastikan bahwa layanan tersebut dimulai secara otomatis saat instans dimulai. Nvidia Fabric Manager diperlukan untuk NV Switch Management.

   ```
   $ sudo systemctl enable nvidia-fabricmanager && sudo systemctl start nvidia-fabricmanager
   ```

1. Pastikan bahwa jalur CUDA diatur setiap kali instans dimulai.
   + Untuk shell *bash*, tambahkan pernyataan berikut ke `/home/username/.bashrc` dan `/home/username/.bash_profile`. 

     ```
     export PATH=/usr/local/cuda/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```
   + Untuk shell *tcsh*, tambahkan pernyataan berikut ke `/home/username/.cshrc`.

     ```
     setenv PATH=/usr/local/cuda/bin:$PATH
     setenv LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```

1. Untuk mengonfirmasi bahwa driver Nvidia GPU berfungsi, jalankan perintah berikut.

   ```
   $ nvidia-smi -q | head
   ```

   Perintah tersebut harus mengembalikan informasi tentang Nvidia GPUs, driver GPU Nvidia, dan toolkit Nvidia CUDA.

------
#### [ Ubuntu 24.04 and Ubuntu 22.04 ]

**Untuk menginstal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN**

1. Untuk memastikan bahwa semua paket perangkat lunak Anda telah diperbarui, lakukan pembaruan perangkat lunak cepat di instans Anda.

   ```
   $ sudo apt-get update && sudo apt-get upgrade -y
   ```

1. Pasang utilitas yang diperlukan untuk memasang driver GPU Nvidia dan toolkit Nvidia CUDA.

   ```
   $ sudo apt-get update && sudo apt-get install build-essential -y
   ```

1. Untuk menggunakan driver GPU Nvidia, Anda harus menonaktifkan driver sumber terbuka `nouveau` terlebih dahulu.

   1. Instal utilitas yang diperlukan dan paket header kernel untuk versi kernel yang sedang Anda jalankan.

      ```
      $ sudo apt-get install -y gcc make linux-headers-$(uname -r)
      ```

   1. Tambahkan `nouveau` ke file daftar penolakan `/etc/modprobe.d/blacklist.conf `.

      ```
      $ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf
      blacklist vga16fb
      blacklist nouveau
      blacklist rivafb
      blacklist nvidiafb
      blacklist rivatv
      EOF
      ```

   1. Buka `/etc/default/grub` menggunakan editor teks pilihan Anda dan tambahkan berikut ini. 

      ```
      GRUB_CMDLINE_LINUX="rdblacklist=nouveau"
      ```

   1. Buat kembali konfigurasi Grub.

      ```
      $ sudo update-grub
      ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. Tambahkan repositori CUDA dan instal driver Nvidia GPU, toolkit CUDA NVIDIA, dan cuDNN.
   + `p3dn.24xlarge`

     ```
     $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub \
     && wget -O /tmp/deeplearning.deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb \
     && sudo dpkg -i /tmp/deeplearning.deb \
     && wget -O /tmp/cuda.pin https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin \
     && sudo mv /tmp/cuda.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
     && sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub \
     && sudo add-apt-repository 'deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' \
     && sudo apt update \
     && sudo apt install nvidia-dkms-535 \
     && sudo apt install -o Dpkg::Options::='--force-overwrite' cuda-drivers-535 cuda-toolkit-12-3 libcudnn8 libcudnn8-dev -y
     ```
   + `p4d.24xlarge` dan `p5.48xlarge`

     ```
     $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub \
     && wget -O /tmp/deeplearning.deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb \
     && sudo dpkg -i /tmp/deeplearning.deb \
     && wget -O /tmp/cuda.pin https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin \
     && sudo mv /tmp/cuda.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
     && sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub \
     && sudo add-apt-repository 'deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' \
     && sudo apt update \
     && sudo apt install nvidia-kernel-open-535 \
     && sudo apt install -o Dpkg::Options::='--force-overwrite' cuda-drivers-535 cuda-toolkit-12-3 libcudnn8 libcudnn8-dev -y
     ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. (`p4d.24xlarge` dan `p5.48xlarge` saja) Instal Nvidia Fabric Manager.

   1. Anda harus menginstal versi Nvidia Fabric Manager yang cocok dengan versi modul kernel Nvidia yang Anda instal pada langkah sebelumnya.

      Jalankan perintah berikut untuk menentukan versi modul kernel Nvidia.

      ```
      $ cat /proc/driver/nvidia/version | grep "Kernel Module"
      ```

      Berikut ini adalah output contoh.

      ```
      NVRM version: NVIDIA UNIX x86_64 Kernel Module  450.42.01  Tue Jun 15 21:26:37 UTC 2021
      ```

      Pada contoh di atas, versi utama `450` dari modul kernel diinstal. Ini berarti Anda perlu menginstal versi Nvidia Fabric Manager `450`.

   1. Instal Nvidia Fabric Manager. Jalankan perintah berikut dan tentukan versi utama yang diidentifikasi pada langkah sebelumnya.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-major_version_number
      ```

      Misalnya, jika versi `450` utama modul kernel diinstal, gunakan perintah berikut untuk menginstal versi Nvidia Fabric Manager yang cocok.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-450
      ```

   1. Mulai layanan, dan pastikan bahwa layanan tersebut dimulai secara otomatis ketika instans dimulai. Nvidia Fabric Manager diperlukan untuk NV Switch Management.

      ```
      $ sudo systemctl start nvidia-fabricmanager && sudo systemctl enable nvidia-fabricmanager
      ```

1. Pastikan bahwa jalur CUDA diatur setiap kali instans dimulai.
   + Untuk shell *bash*, tambahkan pernyataan berikut ke `/home/username/.bashrc` dan `/home/username/.bash_profile`. 

     ```
     export PATH=/usr/local/cuda/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```
   + Untuk shell *tcsh*, tambahkan pernyataan berikut ke `/home/username/.cshrc`.

     ```
     setenv PATH=/usr/local/cuda/bin:$PATH
     setenv LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```

1. Untuk mengonfirmasi bahwa driver Nvidia GPU berfungsi, jalankan perintah berikut.

   ```
   $ nvidia-smi -q | head
   ```

   Perintah tersebut harus mengembalikan informasi tentang Nvidia GPUs, driver GPU Nvidia, dan toolkit Nvidia CUDA.

------

## Langkah 4: Instal GDRCopy
<a name="nccl-start-base-gdrcopy"></a>

Instal GDRCopy untuk meningkatkan kinerja Libfabric. Untuk informasi selengkapnyaGDRCopy, lihat [GDRCopy repositori](https://github.com/NVIDIA/gdrcopy).

------
#### [ Amazon Linux 2023 and Amazon Linux 2 ]

**Untuk menginstal GDRCopy**

1. Instal dependensi yang diperlukan.

   ```
   $ sudo yum -y install dkms rpm-build make check check-devel subunit subunit-devel
   ```

1. Unduh dan ekstrak GDRCopy paketnya.

   ```
   $ wget https://github.com/NVIDIA/gdrcopy/archive/refs/tags/v2.4.tar.gz \
   && tar xf v2.4.tar.gz ; cd gdrcopy-2.4/packages
   ```

1. Bangun paket GDRCopy RPM.

   ```
   $ CUDA=/usr/local/cuda ./build-rpm-packages.sh
   ```

1. Instal paket GDRCopy RPM.

   ```
   $ sudo rpm -Uvh gdrcopy-kmod-2.4-1dkms.noarch*.rpm \
   && sudo rpm -Uvh gdrcopy-2.4-1.x86_64*.rpm \
   && sudo rpm -Uvh gdrcopy-devel-2.4-1.noarch*.rpm
   ```

------
#### [ Ubuntu 24.04 and Ubuntu 22.04 ]

**Untuk menginstal GDRCopy**

1. Instal dependensi yang diperlukan.

   ```
   $ sudo apt -y install build-essential devscripts debhelper check libsubunit-dev fakeroot pkg-config dkms
   ```

1. Unduh dan ekstrak GDRCopy paketnya.

   ```
   $ wget https://github.com/NVIDIA/gdrcopy/archive/refs/tags/v2.4.tar.gz \
   && tar xf v2.4.tar.gz \
   && cd gdrcopy-2.4/packages
   ```

1. Bangun paket GDRCopy RPM.

   ```
   $ CUDA=/usr/local/cuda ./build-deb-packages.sh
   ```

1. Instal paket GDRCopy RPM.

   ```
   $ sudo dpkg -i gdrdrv-dkms_2.4-1_amd64.*.deb \
   && sudo dpkg -i libgdrapi_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy-tests_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy_2.4-1_amd64.*.deb
   ```

------

## Langkah 5: Instal perangkat lunak EFA
<a name="nccl-start-base-enable"></a>

Instal kernel berkemampuan EFA, driver EFA, Libfabric, aws-ofi-nccl plugin, dan tumpukan MPI Terbuka yang diperlukan untuk mendukung EFA pada instans Anda.

**Untuk menginstal perangkat lunak EFA**

1. Hubungkan ke instans yang Anda luncurkan. Untuk informasi selengkapnya, lihat [Hubungkan ke instans Linux Anda, menggunakan SSH.](connect-to-linux-instance.md).

1. Unduh file penginstalan perangkat lunak EFA. File penginstalan perangkat lunak dikemas menjadi file tarball (`.tar.gz`) yang dikompresi. Untuk mengunduh versi *stabil* terbaru, gunakan perintah berikut.

   Anda juga bisa mendapatkan versi terbaru dengan mengganti nomor versi dengan `latest` dalam perintah sebelumnya.

   ```
   $ curl -O https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz
   ```

1. (*Opsional*) Verifikasi keaslian dan integritas file tarball EFA (`.tar.gz`).

   Kami menyarankan Anda melakukan hal ini untuk memverifikasi identitas penerbit perangkat lunak dan memeriksa apakah file tersebut tidak diubah atau rusak sejak file tersebut diterbitkan. Jika Anda tidak ingin memverifikasi file tarball, lewati langkah ini.
**catatan**  
Atau, jika Anda lebih suka memverifikasi file tarball dengan menggunakan MD5 atau SHA256 checksum sebagai gantinya, lihat. [Memverifikasi penginstal EFA menggunakan checksum](efa-verify.md)

   1. Unduh kunci GPG publik dan impor ke dalam keyring Anda.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer.key && gpg --import aws-efa-installer.key
      ```

      Perintah tersebut harus mengembalikan nilai kunci. Catat nilai kunci, karena Anda membutuhkannya di langkah selanjutnya.

   1. Verifikasi sidik jari kunci GPG. Jalankan perintah berikut dan tentukan nilai kunci dari langkah sebelumnya.

      ```
      $ gpg --fingerprint key_value
      ```

      Perintah tersebut harus mengembalikan sidik jari yang identik dengan `4E90 91BC BB97 A96B 26B1 5E59 A054 80B1 DD2D 3CCC`. Jika sidik jari tidak cocok, jangan jalankan skrip instalasi EFA, dan hubungi Dukungan.

   1. Unduh file tanda tangan dan verifikasi tanda tangan pada file tarball EFA.

      ```
      $ wget https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz.sig && gpg --verify ./aws-efa-installer-1.47.0.tar.gz.sig
      ```

      Berikut ini adalah contoh output.

      ```
      gpg: Signature made Wed 29 Jul 2020 12:50:13 AM UTC using RSA key ID DD2D3CCC
      gpg: Good signature from "Amazon EC2 EFA <ec2-efa-maintainers@amazon.com>"
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: 4E90 91BC BB97 A96B 26B1  5E59 A054 80B1 DD2D 3CCC
      ```

      Jika hasilnya mencakup `Good signature`, dan sidik jari cocok dengan sidik jari yang dikembalikan di langkah sebelumnya, lanjutkan ke langkah berikutnya. Jika tidak, jangan jalankan skrip instalasi EFA, dan hubungi Dukungan.

1. Ekstraksi file dari file `.tar.gz` yang dikompresi dan navigasi ke dalam direktori yang diekstraksi.

   ```
   $ tar -xf aws-efa-installer-1.47.0.tar.gz && cd aws-efa-installer
   ```

1. Unduh skrip penginstalan perangkat lunak EFA.
**catatan**  
Dari EFA 1.30.0, Open MPI 4.1 dan Open MPI 5 diinstal secara default. Kecuali Anda membutuhkan Open MPI 5, kami sarankan Anda hanya menginstal Open MPI 4.1. Perintah berikut menginstal Open MPI 4.1 saja. Jika Anda ingin menginstal Open MPI 4.1 and Open MPI 5, hapus. `--mpi=openmpi4`

   ```
   $ sudo ./efa_installer.sh -y --mpi=openmpi4
   ```

   **Libfabric** diinstal di `/opt/amazon/efa` direktori. **aws-ofi-nccl Plugin** diinstal di `/opt/amazon/ofi-nccl` direktori. **Buka MPI** diinstal di `/opt/amazon/openmpi` direktori.

1. Jika penginstal EFA meminta Anda untuk me-reboot instans, lakukanlah dan kemudian sambungkan kembali ke instans. Jika tidak, log out dari instans lalu log kembali untuk menyelesaikan penginstalan.

1. Pastikan bahwa komponen perangkat lunak EFA telah berhasil diinstal.

   ```
   $ fi_info -p efa -t FI_EP_RDM
   ```

   Perintah tersebut harus mengembalikan informasi tentang antarmuka Libfabric EFA. Contoh berikut menunjukkan output perintah.
   + `p3dn.24xlarge` dengan satu antarmuka jaringan

     ```
     provider: efa
     fabric: EFA-fe80::94:3dff:fe89:1b70
     domain: efa_0-rdm
     version: 2.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```
   + `p4d.24xlarge` dan `p5.48xlarge` dengan berbagai antarmuka jaringan

     ```
     provider: efa
     fabric: EFA-fe80::c6e:8fff:fef6:e7ff
     domain: efa_0-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c34:3eff:feb2:3c35
     domain: efa_1-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c0f:7bff:fe68:a775
     domain: efa_2-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::ca7:b0ff:fea6:5e99
     domain: efa_3-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```

## Langkah 6: Instal NCCL
<a name="nccl-start-base-nccl"></a>

Instal NCCL. Untuk informasi lebih lanjut tentang NCCL, lihat [repositori NCCL](https://github.com/NVIDIA/nccl).

**Untuk menginstal NCCL**

1. Buka direktori `/opt` tersebut.

   ```
   $ cd /opt
   ```

1. Gandakan repositori NCCL resmi ke instans dan navigasi ke repositori klon lokal.

   ```
   $ sudo git clone https://github.com/NVIDIA/nccl.git -b v2.23.4-1 && cd nccl
   ```

1. Bangun dan instal NCCL dan tentukan direktori instalasi CUDA.

   ```
   $ sudo make -j src.build CUDA_HOME=/usr/local/cuda
   ```

## Langkah 7: Instal uji NCCL
<a name="nccl-start-base-tests"></a>

Instal uji NCCL. Uji NCCL memungkinkan Anda untuk mengonfirmasi bahwa NCCL diinstal dengan benar dan beroperasi sesuai harapan. Untuk informasi lebih lanjut tentang pengujian NCCL, lihat [repositori nccl-tests](https://github.com/NVIDIA/nccl-tests).

**Untuk menginstal pengujian EFA**

1. Navigasi ke direktori beranda Anda.

   ```
   $ cd $HOME
   ```

1. Gandakan repositori nccl-tests resmi ke instans dan navigasi ke repositori klon lokal.

   ```
   $ git clone https://github.com/NVIDIA/nccl-tests.git && cd nccl-tests
   ```

1. Tambahkan direktori Libfabric ke variabel `LD_LIBRARY_PATH`. 
   + Amazon Linux 2023 dan Amazon Linux 2

     ```
     $ export LD_LIBRARY_PATH=/opt/amazon/efa/lib64:$LD_LIBRARY_PATH
     ```
   + Ubuntu 24.04 dan Ubuntu 22.04

     ```
     $ export LD_LIBRARY_PATH=/opt/amazon/efa/lib:$LD_LIBRARY_PATH
     ```

1. Instal pengujian NCCL dan tentukan direktori penginstalan MPI, NCCL, dan CUDA.

   ```
   $ make MPI=1 MPI_HOME=/opt/amazon/openmpi NCCL_HOME=/opt/nccl/build CUDA_HOME=/usr/local/cuda
   ```

## Langkah 8: Uji konfigurasi EFA dan NCCL Anda
<a name="nccl-start-base-test"></a>

Jalankan pengujian untuk memastikan bahwa instans sementara Anda sudah dikonfigurasi dengan benar untuk EFA dan NCCL. 

**Untuk menguji konfigurasi EFA dan NCCL Anda**

1. Buat file host yang menentukan host untuk menjalankan pengujian. Perintah berikut membuat file host dengan nama `my-hosts` yang mencakup referensi ke instans itu sendiri.

------
#### [ IMDSv2 ]

   ```
   [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
   && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/local-ipv4 >> my-hosts
   ```

------
#### [ IMDSv1 ]

   ```
   [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-ipv4 >> my-hosts
   ```

------

1. Jalankan pengujian dan tentukan file host (`--hostfile`) dan jumlah GPUs yang akan digunakan (`-n`). Perintah berikut menjalankan `all_reduce_perf` pengujian pada 8 GPUs pada instance itu sendiri, dan menentukan variabel lingkungan berikut.
   + `FI_EFA_USE_DEVICE_RDMA=1`—(hanya `p4d.24xlarge`) menggunakan fungsi RDMA perangkat untuk transfer satu sisi dan dua sisi.
   + `NCCL_DEBUG=INFO`—memungkinkan output debug terperinci. Anda juga dapat menentukan `VERSION` untuk mencetak versi NCCL saja di awal pengujian, atau `WARN` untuk menerima pesan kesalahan saja.

   Untuk informasi lebih lanjut mengenai argumen uji NCCL, lihat [Tes NCCL README](https://github.com/NVIDIA/nccl-tests/blob/master/README.md) dalam repositori nccl-tests resmi.
   + `p3dn.24xlarge`

     ```
     $ /opt/amazon/openmpi/bin/mpirun \
     -x LD_LIBRARY_PATH=/opt/nccl/build/lib:/usr/local/cuda/lib64:/opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:$LD_LIBRARY_PATH \
     -x NCCL_DEBUG=INFO \
     --hostfile my-hosts -n 8 -N 8 \
     --mca pml ^cm --mca btl tcp,self --mca btl_tcp_if_exclude lo,docker0 --bind-to none \
     $HOME/nccl-tests/build/all_reduce_perf -b 8 -e 1G -f 2 -g 1 -c 1 -n 100
     ```
   + `p4d.24xlarge` dan `p5.48xlarge`

     ```
     $ /opt/amazon/openmpi/bin/mpirun \
     -x FI_EFA_USE_DEVICE_RDMA=1 \
     -x LD_LIBRARY_PATH=/opt/nccl/build/lib:/usr/local/cuda/lib64:/opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:$LD_LIBRARY_PATH \
     -x NCCL_DEBUG=INFO \
     --hostfile my-hosts -n 8 -N 8 \
     --mca pml ^cm --mca btl tcp,self --mca btl_tcp_if_exclude lo,docker0 --bind-to none \
     $HOME/nccl-tests/build/all_reduce_perf -b 8 -e 1G -f 2 -g 1 -c 1 -n 100
     ```

1. Anda dapat mengonfirmasi bahwa EFA aktif sebagai penyedia pokok NCCL ketika log `NCCL_DEBUG` dicetak.

   ```
   ip-192-168-2-54:14:14 [0] NCCL INFO NET/OFI Selected Provider is efa*
   ```

   Informasi tambahan berikut ditampilkan saat menggunakan instans `p4d.24xlarge`.

   ```
   ip-192-168-2-54:14:14 [0] NCCL INFO NET/OFI Running on P4d platform, Setting NCCL_TOPO_FILE environment variable to /home/ec2-user/install/plugin/share/aws-ofi-nccl/xml/p4d-24xl-topo.xml
   ```

## Langkah 9: Instal aplikasi machine learning Anda
<a name="nccl-start-base-app"></a>

Instal aplikasi machine learning di instans sementara. Prosedur penginstalan bervariasi tergantung pada aplikasi machine learning tertentu. Untuk informasi selengkapnya tentang menginstal perangkat lunak pada instans Linux Anda, lihat [Mengelola perangkat lunak di instans Amazon Linux 2 Anda](https://docs.aws.amazon.com/linux/al2/ug/managing-software.html).

**catatan**  
Lihat dokumentasi aplikasi machine learning Anda untuk petunjuk penginstalan.

## Langkah 10: Membuat AMI dengan EFA dan NCCL yang diaktifkan
<a name="nccl-start-base-ami"></a>

Setelah menginstal komponen perangkat lunak yang diperlukan, Anda membuat AMI yang dapat digunakan kembali untuk meluncurkan instans Anda dengan EFA yang diaktifkan.

**Untuk membuat AMI dari instans sementara Anda**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**.

1. Pilih instans sementara yang Anda buat dan pilih **Tindakan**, **Gambar**, **Buat gambar**.

1. Untuk **Buat gambar**, lakukan hal berikut:

   1. Untuk **Nama gambar**, masukkan nama deskriptif untuk AMI.

   1. (Opsional) Untuk **Deskripsi gambar**, masukkan deskripsi singkat tentang tujuan AMI.

   1. Pilih **Buat gambar**.

1. Di panel navigasi, pilih **AMIs**.

1. Temukan AMI yang Anda buat dalam daftar. Tunggu hingga status berubah dari `pending` menjadi `available` sebelum melanjutkan ke langkah berikutnya.

## Langkah 11: Mengakhiri instans sementara
<a name="nccl-start-base-terminate"></a>

Pada titik ini, Anda tidak memerlukan lagi instans sementara yang Anda luncurkan. Anda dapat mengakhiri instans agar biaya tidak dibebankan lagi padanya.

**Untuk mengakhiri instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**.

1. Pilih instans sementara yang Anda buat dan pilih **Tindakan**, **Status instans**, **Akhiri instans**.

1. Ketika diminta konfirmasi, pilih **Akhiri**.

## Langkah 12: Luncurkan instans yang diaktifkan EFA dan NCCL ke dalam grup penempatan klaster
<a name="nccl-start-base-cluster"></a>

Luncurkan instans yang diaktifkan EFA dan NCCL Anda ke dalam grup penempatan klaster menggunakan AMI yang diaktifkan EFA dan grup keamanan yang diaktifkan EFA yang Anda buat sebelumnya.

**catatan**  
Meluncurkan instans yang diaktifkan EFA ke dalam grup penempatan kluster bukanlah persyaratan mutlak. Namun, kami menyarankan Anda untuk menjalankan instans yang diaktifkan EFA dalam grup penempatan klaster saat instans diluncurkan ke grup dengan latensi rendah di Zona Ketersediaan tunggal.
Untuk memastikan kapasitas tersedia saat Anda menskalakan instans klaster, Anda dapat membuat Reservasi Kapasitas untuk grup penempatan klaster Anda. Untuk informasi selengkapnya, lihat [Gunakan Reservasi Kapasitas dengan grup penempatan klaster](cr-cpg.md).

------
#### [ New console ]

**Untuk meluncurkan instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**, lalu pilih **Luncurkan Instans** untuk membuka wizard peluncuran instans baru.

1. (*Opsional*) Di bagian **Nama dan tanda**, berikan nama untuk instans, seperti `EFA-instance`. Nama ditetapkan ke instans sebagai tanda sumber daya (`Name=EFA-instance`).

1. Di bagian **Application and OS Images**AMIs, pilih **My**, lalu pilih AMI yang Anda buat pada langkah sebelumnya.

1. Di bagian **Tipe instans**, pilih `p3dn.24xlarge` atau `p4d.24xlarge`.

1. Pada bagian **Pasangan kunci**, pilih pasangan kunci yang akan digunakan untuk instans.

1. Di bagian **Pengaturan jaringan**, pilih **Edit**, lalu lakukan hal berikut:

   1. Untuk **Subnet**, pilih subnet untuk meluncurkan instans. Jika Anda tidak memilih subnet, Anda tidak dapat mengaktifkan instans untuk EFA.

   1. Untuk **Firewall (grup keamanan)**, pilih **Pilih grup keamanan yang ada**, lalu pilih grup keamanan yang Anda buat di langkah sebelumnya.

   1. Perluas bagian **Konfigurasi jaringan lanjutan**.

      Untuk **antarmuka Jaringan 1**, pilih **Indeks kartu jaringan = 0**, **Indeks perangkat = 0**, dan **Jenis antarmuka = EFA dengan ENA**.

      **(Opsional) Jika Anda menggunakan jenis instans multi-kartu, seperti `p4d.24xlarge` atau`p5.48xlarge`, untuk setiap antarmuka jaringan tambahan yang diperlukan, pilih **Tambahkan antarmuka jaringan**, untuk **indeks kartu jaringan pilih indeks** yang tidak digunakan berikutnya, lalu pilih **Indeks perangkat = 1 dan Jenis antarmuka =** **EFA eith ENA atau EFA** saja.**

1. (*Opsional*) Di bagian **Penyimpanan**, konfigurasikan volume sesuai kebutuhan.

1. Di bagian **Detail lanjutan**, untuk **nama grup Penempatan**, pilih grup penempatan klaster untuk meluncurkan instans. Jika Anda perlu membuat grup penempatan klaster baru, pilih **Buat grup penempatan baru**.

1. Di panel **Ringkasan** di sebelah kanan, untuk **Jumlah instans**, masukkan jumlah instans yang diaktifkan EFA yang ingin Anda luncurkan, lalu pilih **Luncurkan instans**.

------
#### [ Old console ]

**Untuk meluncurkan instans yang diaktifkan EFA dan NCCL ke dalam grup penempatan klaster**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Pilih **Luncurkan Instans**.

1. Pada halaman **Pilih AMI**, pilih **Milik Saya AMIs**, temukan AMI yang Anda buat sebelumnya, lalu pilih **Pilih**.

1. Di halaman **Pilih Tipe Instans**, pilih **p3dn.24xlarge** lalu pilih **Berikutnya: Konfigurasikan Detail Instans**.

1. Pada halaman **Konfigurasi Detail Instans**, lakukan langkah berikut:

   1. Untuk **Jumlah instans**, masukkan jumlah instans yang diaktifkan EFA dan NCCL yang ingin Anda luncurkan.

   1. Untuk **Jaringan** dan **Subnet**, pilih VPC dan subnet sebagai tujuan peluncuran instans.

   1. Untuk **Grup penempatan**, pilih **Tambahkan instans ke grup penempatan**.

   1. Untuk **Nama grup penempatan**, pilih **Tambahkan ke grup penempatan baru**, lalu masukkan nama deskriptif untuk grup penempatan. Lalu untuk **Strategi grup penempatan**, pilih **klaster**.

   1. Untuk **EFA**, pilih **Aktifkan**.

   1. Di bagian **Antarmuka Jaringan**, untuk perangkat **eth0**, pilih **Antarmuka jaringan baru**. Anda dapat secara opsional menentukan IPv4 alamat utama dan satu atau lebih IPv4 alamat sekunder. Jika Anda meluncurkan instance ke subnet yang memiliki blok IPv6 CIDR terkait, Anda dapat secara opsional menentukan IPv6 alamat utama dan satu atau beberapa alamat sekunder. IPv6 

   1. Pilih **Berikutnya: Tambahkan Penyimpanan**.

1. Di halaman **Tambahkan Penyimpanan**, tentukan volume yang akan dipasang ke instans selain volume yang ditentukan oleh AMI (seperti volume perangkat root). Lalu, pilih **Berikutnya: Tambahkan Tanda**.

1. Di halaman **Tambahkan Tanda**, tentukan tanda untuk instans, seperti nama yang mudah digunakan, lalu pilih **Selanjutnya: Konfigurasikan Grup Keamanan**.

1. Di halaman **Mengonfigurasi Grup Keamanan**, untuk **Tetapkan grup keamanan**, pilih **Pilih grup keamanan yang sudah ada**, lalu pilih grup keamanan yang Anda buat sebelumnya.

1. Pilih **Tinjau dan Luncurkan**.

1. Di halaman **Meninjau Peluncuran Instans**, tinjau pengaturannya, lalu pilih **Luncurkan** untuk memilih key pair dan meluncurkan instans Anda.

------

## Langkah 13: Mengaktifkan SSH tanpa kata sandi
<a name="nccl-start-base-passwordless"></a>

Agar aplikasi Anda dapat berjalan di semua instans dalam klaster, Anda harus mengaktifkan akses SSH tanpa kata sandi dari simpul pemimpin ke simpul anggota. Simpul pemimpin adalah instans dari mana Anda menjalankan aplikasi Anda. Instans yang tersisa di klaster adalah simpul anggota.

**Untuk mengaktifkan SSH tanpa kata sandi antar instans dalam klaster**

1. Pilih satu instans dalam klaster sebagai simpul pemimpin, dan hubungkan ke instans tersebut.

1. Nonaktifkan `strictHostKeyChecking` dan aktifkan `ForwardAgent` pada simpul pemimpin. Buka `~/.ssh/config` menggunakan editor teks pilihan Anda dan tambahkan berikut ini.

   ```
   Host *
       ForwardAgent yes
   Host *
       StrictHostKeyChecking no
   ```

1. Membuat pasangan kunci RSA.

   ```
   $ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
   ```

   Pasangan kunci dibuat dalam direktori `$HOME/.ssh/`.

1. Ubah izin kunci privat pada simpul pemimpin.

   ```
   $ chmod 600 ~/.ssh/id_rsa
   chmod 600 ~/.ssh/config
   ```

1. Buka `~/.ssh/id_rsa.pub` menggunakan editor teks pilihan Anda dan salin kunci.

1. Untuk setiap simpul anggota di klaster, lakukan hal berikut:

   1. Hubungkan dengan instans.

   1. Buka `~/.ssh/authorized_keys` menggunakan editor teks pilihan Anda tambahkan kunci publik yang Anda salin sebelumnya.

1. Untuk menguji apakah SSH tanpa kata sandi berfungsi seperti yang diharapkan, hubungkan ke simpul pemimpin Anda dan jalankan perintah berikut.

   ```
   $ ssh member_node_private_ip
   ```

   Anda harus terhubung ke simpul anggota tanpa diminta untuk memasukkan kunci atau kata sandi.

# Memulai EFA dan NIXL untuk beban kerja inferensi di Amazon EC2
<a name="efa-start-nixl"></a>

NVIDIA Inference Xfer Library (NIXL) adalah pustaka komunikasi latensi rendah throughput tinggi yang dirancang khusus untuk beban kerja inferensi terpilah. NIXL dapat digunakan bersama dengan EFA dan Libfabric untuk mendukung transfer KV-cache antara prefill dan decode node, dan memungkinkan pergerakan KV-cache yang efisien antara berbagai lapisan penyimpanan. Untuk informasi lebih lanjut, lihat situs web [NIXL](https://github.com/ai-dynamo/nixl).

**Persyaratan**
+ Hanya basis Ubuntu 24.04 dan Ubuntu 22.04 AMIs yang didukung.
+ EFA hanya mendukung NIXL 1.0.0 dan yang lebih baru.

**Topics**

## Langkah 1: Siapkan grup keamanan yang diaktifkan EFA
<a name="nixl-start-base-setup"></a>

EFA memerlukan grup keamanan yang memungkinkan semua lalu lintas masuk dan keluar ke dan dari grup keamanan itu sendiri. Prosedur berikut membuat grup keamanan yang memungkinkan semua lalu lintas masuk dan keluar ke dan dari dirinya sendiri, dan yang memungkinkan lalu lintas SSH masuk dari IPv4 alamat apa pun untuk konektivitas SSH.

**penting**  
Grup keamanan ini ditujukan untuk tujuan pengujian saja. Untuk lingkungan produksi Anda, kami sarankan Anda membuat aturan SSH masuk yang memungkinkan lalu lintas hanya dari alamat IP dari mana Anda terhubung, seperti alamat IP komputer Anda, atau berbagai alamat IP di jaringan lokal Anda.

Untuk skenario lainnya, lihat [Aturan-aturan grup keamanan untuk kasus penggunaan yang berbeda](security-group-rules-reference.md).

**Untuk membuat grup keamanan yang diaktifkan EFA**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dalam panel navigasi, pilih **Grup Keamanan**, lalu pilih **Buat grup keamanan**.

1. Di jendela **Buat Grup Keamanan**, lakukan hal berikut:

   1. Untuk **Nama grup keamanan**, masukkan nama deskriptif untuk grup keamanan, seperti `EFA-enabled security group`.

   1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi singkat grup keamanan.

   1. Untuk **VPC**, pilih VPC untuk tujuan peluncuran instans Anda yang didukung EFA.

   1. Pilih **Buat grup keamanan**.

1. Pilih grup keamanan yang Anda buat, dan pada tab **Detail**, salin **ID grup keamanan**.

1. Dengan grup keamanan yang masih dipilih, pilih **Tindakan**, **Edit aturan masuk**, lalu lakukan hal berikut:

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **Semua lalu lintas**.

   1. Untuk **Tipe sumber**, pilih **Kustom** dan tempelkan ID grup keamanan yang Anda salin ke dalam bidang.

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **SSH**.

   1. Untuk **jenis Sumber**, pilih **Anywhere- IPv4**.

   1. Pilih **Simpan aturan**.

1. Dengan grup keamanan yang masih dipilih, pilih **Tindakan**, **Edit aturan keluar**, lalu lakukan hal berikut:

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **Semua lalu lintas**.

   1. Untuk **Tipe tujuan**, pilih **Kustom** dan tempelkan ID grup keamanan yang Anda salin ke dalam bidang.

   1. Pilih **Simpan aturan**.

## Langkah 2: Luncurkan instans sementara
<a name="nixl-start-base-temp"></a>

Luncurkan instans sementara yang dapat Anda gunakan untuk menginstal dan mengonfigurasi komponen perangkat lunak EFA. Anda menggunakan instans ini untuk membuat AMI yang diaktifkan EFA sebagai tempat untuk meluncurkan instans Anda yang diaktifkan EFA.

**Untuk meluncurkan instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**, lalu pilih **Luncurkan Instans** untuk membuka wizard peluncuran instans baru.

1. (*Opsional*) Di bagian **Nama dan tanda**, berikan nama untuk instans, seperti `EFA-instance`. Nama ditetapkan ke instans sebagai tanda sumber daya (`Name=EFA-instance`).

1. Di bagian **Aplikasi dan Gambar OS**, pilih AMI untuk salah satu sistem operasi yang didukung. Anda juga dapat memilih DLAMI yang didukung yang ditemukan di Halaman Catatan Rilis [DLAMI](https://docs.aws.amazon.com/dlami/latest/devguide/appendix-ami-release-notes).

1. Di bagian **Jenis instans**, pilih jenis instans yang didukung.

1. Pada bagian **Pasangan kunci**, pilih pasangan kunci yang akan digunakan untuk instans.

1. Di bagian **Pengaturan jaringan**, pilih **Edit**, lalu lakukan hal berikut:

   1. Untuk **Subnet**, pilih subnet untuk meluncurkan instans. Jika Anda tidak memilih subnet, Anda tidak dapat mengaktifkan instans untuk EFA.

   1. Untuk **Firewall (grup keamanan)**, pilih **Pilih grup keamanan yang ada**, lalu pilih grup keamanan yang Anda buat di langkah sebelumnya.

   1. Perluas bagian **Konfigurasi jaringan lanjutan**.

      Untuk **antarmuka Jaringan 1**, pilih **Indeks kartu jaringan = 0**, **Indeks perangkat = 0**, dan **Jenis antarmuka = EFA dengan ENA**.

      **(*Opsional*) Jika Anda menggunakan jenis instans multi-kartu, seperti `p4d.24xlarge` atau`p5.48xlarge`, untuk setiap antarmuka jaringan tambahan yang diperlukan, pilih **Tambahkan antarmuka jaringan**, untuk **indeks kartu jaringan pilih indeks** berikutnya yang tidak digunakan, lalu pilih **Indeks perangkat = 1 dan Jenis antarmuka =** **EFA dengan ENA atau EFA** saja.**

1. Di bagian **Penyimpanan**, konfigurasikan volume sesuai kebutuhan.
**catatan**  
Anda harus menyediakan penyimpanan tambahan 10 hingga 20 GiB untuk Nvidia CUDA. Jika Anda tidak menyediakan penyimpanan yang cukup, Anda akan menerima kesalahan `insufficient disk space` saat mencoba menginstal driver Nvidia dan toolkit CUDA.

1. Di panel **Ringkasan** di sebelah kanan, pilih **Luncurkan instans**.

**penting**  
Lewati Langkah 3 jika AMI Anda sudah menyertakan driver GPU Nvidia, toolkit CUDA, dan cuDNN, atau jika Anda menggunakan instance non-GPU.

## Langkah 3: Instal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN
<a name="nixl-start-base-drivers"></a>

**Untuk menginstal driver Nvidia GPU, kit alat CUDA Nvidia, dan cuDNN**

1. Untuk memastikan bahwa semua paket perangkat lunak Anda telah diperbarui, lakukan pembaruan perangkat lunak cepat di instans Anda.

   ```
   $ sudo apt-get update && sudo apt-get upgrade -y
   ```

1. Pasang utilitas yang diperlukan untuk memasang driver GPU Nvidia dan toolkit Nvidia CUDA.

   ```
   $ sudo apt-get install build-essential -y
   ```

1. Untuk menggunakan driver GPU Nvidia, Anda harus menonaktifkan driver sumber terbuka `nouveau` terlebih dahulu.

   1. Instal utilitas yang diperlukan dan paket header kernel untuk versi kernel yang sedang Anda jalankan.

      ```
      $ sudo apt-get install -y gcc make linux-headers-$(uname -r)
      ```

   1. Tambahkan `nouveau` ke file daftar penolakan `/etc/modprobe.d/blacklist.conf `.

      ```
      $ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf
      blacklist vga16fb
      blacklist nouveau
      blacklist rivafb
      blacklist nvidiafb
      blacklist rivatv
      EOF
      ```

   1. Buka `/etc/default/grub` menggunakan editor teks pilihan Anda dan tambahkan berikut ini.

      ```
      GRUB_CMDLINE_LINUX="rdblacklist=nouveau"
      ```

   1. Buat kembali konfigurasi Grub.

      ```
      $ sudo update-grub
      ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. Tambahkan repositori CUDA dan instal driver Nvidia GPU, toolkit CUDA NVIDIA, dan cuDNN.

   ```
   $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub \
   && wget -O /tmp/deeplearning.deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/nvidia-machine-learning-repo-ubuntu2004_1.0.0-1_amd64.deb \
   && sudo dpkg -i /tmp/deeplearning.deb \
   && wget -O /tmp/cuda.pin https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin \
   && sudo mv /tmp/cuda.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
   && sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub \
   && sudo add-apt-repository 'deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' \
   && sudo apt update \
   && sudo apt install nvidia-dkms-535 \
   && sudo apt install -o Dpkg::Options::='--force-overwrite' cuda-drivers-535 cuda-toolkit-12-3 libcudnn8 libcudnn8-dev -y
   ```

1. Boot ulang dan terhubung kembali ke instans Anda.

1. (`p4d.24xlarge` dan `p5.48xlarge` saja) Instal Nvidia Fabric Manager.

   1. Anda harus menginstal versi Nvidia Fabric Manager yang cocok dengan versi modul kernel Nvidia yang Anda instal pada langkah sebelumnya.

      Jalankan perintah berikut untuk menentukan versi modul kernel Nvidia.

      ```
      $ cat /proc/driver/nvidia/version | grep "Kernel Module"
      ```

      Berikut ini adalah output contoh.

      ```
      NVRM version: NVIDIA UNIX x86_64 Kernel Module  450.42.01  Tue Jun 15 21:26:37 UTC 2021
      ```

      Pada contoh di atas, versi utama `450` dari modul kernel diinstal. Ini berarti Anda perlu menginstal versi Nvidia Fabric Manager `450`.

   1. Instal Nvidia Fabric Manager. Jalankan perintah berikut dan tentukan versi utama yang diidentifikasi pada langkah sebelumnya.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-major_version_number
      ```

      Misalnya, jika versi `450` utama modul kernel diinstal, gunakan perintah berikut untuk menginstal versi Nvidia Fabric Manager yang cocok.

      ```
      $ sudo apt install -o Dpkg::Options::='--force-overwrite' nvidia-fabricmanager-450
      ```

   1. Mulai layanan, dan pastikan bahwa layanan tersebut dimulai secara otomatis ketika instans dimulai. Nvidia Fabric Manager diperlukan untuk NV Switch Management.

      ```
      $ sudo systemctl start nvidia-fabricmanager && sudo systemctl enable nvidia-fabricmanager
      ```

1. Pastikan bahwa jalur CUDA diatur setiap kali instans dimulai.
   + Untuk shell *bash*, tambahkan pernyataan berikut ke `/home/username/.bashrc` dan `/home/username/.bash_profile`.

     ```
     export PATH=/usr/local/cuda/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```
   + Untuk shell *tcsh*, tambahkan pernyataan berikut ke `/home/username/.cshrc`.

     ```
     setenv PATH=/usr/local/cuda/bin:$PATH
     setenv LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
     ```

1. Untuk mengonfirmasi bahwa driver Nvidia GPU berfungsi, jalankan perintah berikut.

   ```
   $ nvidia-smi -q | head
   ```

   Perintah tersebut harus mengembalikan informasi tentang Nvidia GPUs, driver GPU Nvidia, dan toolkit Nvidia CUDA.

**penting**  
Lewati Langkah 4 jika AMI Anda sudah termasuk GDRCopy, atau jika Anda menggunakan instance non-GPU.

## Langkah 4: Instal GDRCopy
<a name="nixl-start-base-gdrcopy"></a>

Instal GDRCopy untuk meningkatkan kinerja Libfabric pada platform berbasis GPU. Untuk informasi selengkapnyaGDRCopy, lihat [GDRCopy repositori](https://github.com/NVIDIA/gdrcopy).

**Untuk menginstal GDRCopy**

1. Instal dependensi yang diperlukan.

   ```
   $ sudo apt -y install build-essential devscripts debhelper check libsubunit-dev fakeroot pkg-config dkms
   ```

1. Unduh dan ekstrak GDRCopy paketnya.

   ```
   $ wget https://github.com/NVIDIA/gdrcopy/archive/refs/tags/v2.4.tar.gz \
   && tar xf v2.4.tar.gz \
   && cd gdrcopy-2.4/packages
   ```

1. Bangun paket GDRCopy DEB.

   ```
   $ CUDA=/usr/local/cuda ./build-deb-packages.sh
   ```

1. Instal paket GDRCopy DEB.

   ```
   $ sudo dpkg -i gdrdrv-dkms_2.4-1_amd64.*.deb \
   && sudo dpkg -i libgdrapi_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy-tests_2.4-1_amd64.*.deb \
   && sudo dpkg -i gdrcopy_2.4-1_amd64.*.deb
   ```

**penting**  
Lewati Langkah 5 jika AMI Anda sudah menyertakan penginstal EFA terbaru.

## Langkah 5: Instal perangkat lunak EFA
<a name="nixl-start-base-enable"></a>

Instal kernel berkemampuan EFA, driver EFA, dan tumpukan Libfabric yang diperlukan untuk mendukung EFA pada instans Anda.

**Untuk menginstal perangkat lunak EFA**

1. Hubungkan ke instans yang Anda luncurkan. Untuk informasi selengkapnya, lihat [Hubungkan ke instans Linux Anda, menggunakan SSH.](connect-to-linux-instance.md).

1. Unduh file penginstalan perangkat lunak EFA. File penginstalan perangkat lunak dikemas menjadi file tarball (`.tar.gz`) yang dikompresi. Untuk mengunduh versi *stabil* terbaru, gunakan perintah berikut.

   ```
   $ curl -O https://efa-installer.amazonaws.com/aws-efa-installer-1.47.0.tar.gz
   ```

1. Ekstrak file dari file terkompresi`.tar.gz`, hapus tarball, dan navigasikan ke direktori yang diekstraksi.

   ```
   $ tar -xf aws-efa-installer-1.47.0.tar.gz && rm -rf aws-efa-installer-1.47.0.tar.gz && cd aws-efa-installer
   ```

1. Unduh skrip penginstalan perangkat lunak EFA.

   ```
   $ sudo ./efa_installer.sh -y
   ```

   **Libfabric** diinstal di `/opt/amazon/efa` direktori.

1. Jika penginstal EFA meminta Anda untuk me-reboot instans, lakukanlah dan kemudian sambungkan kembali ke instans. Jika tidak, log out dari instans lalu log kembali untuk menyelesaikan penginstalan.

1. Pastikan bahwa komponen perangkat lunak EFA telah berhasil diinstal.

   ```
   $ fi_info -p efa -t FI_EP_RDM
   ```

   Perintah tersebut harus mengembalikan informasi tentang antarmuka Libfabric EFA. Contoh berikut menunjukkan output perintah.
   + `p3dn.24xlarge` dengan satu antarmuka jaringan

     ```
     provider: efa
     fabric: EFA-fe80::94:3dff:fe89:1b70
     domain: efa_0-rdm
     version: 2.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```
   + `p4d.24xlarge` dan `p5.48xlarge` dengan berbagai antarmuka jaringan

     ```
     provider: efa
     fabric: EFA-fe80::c6e:8fff:fef6:e7ff
     domain: efa_0-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c34:3eff:feb2:3c35
     domain: efa_1-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::c0f:7bff:fe68:a775
     domain: efa_2-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     provider: efa
     fabric: EFA-fe80::ca7:b0ff:fea6:5e99
     domain: efa_3-rdm
     version: 111.0
     type: FI_EP_RDM
     protocol: FI_PROTO_EFA
     ```

## Langkah 6: Instal NIXL
<a name="nixl-start-base-nixl"></a>

Instal NIXL. Untuk informasi selengkapnya tentang NIXL, lihat repositori [NIXL](https://github.com/ai-dynamo/nixl).

------
#### [ Pre-built distributions ]

**Untuk menginstal NIXL menggunakan PyPI**

1. Instal dependensi yang diperlukan.

   ```
   $ sudo apt install pip
   ```

1. Instal NIXL.

   ```
   $ pip install nixl
   ```

------
#### [ Build from source ]

**Untuk membangun dan menginstal NIXL dari sumber**

1. Instal dependensi yang diperlukan.

   ```
   $ sudo apt install cmake pkg-config meson pybind11-dev libaio-dev nvidia-cuda-toolkit pip libhwloc-dev \
   && pip install meson ninja pybind11
   ```

1. Navigasi ke direktori beranda Anda.

   ```
   $ cd $HOME
   ```

1. Kloning repositori NIXL resmi ke instance dan navigasikan ke repositori kloning lokal.

   ```
   $ sudo git clone https://github.com/ai-dynamo/nixl.git && cd nixl
   ```

1. Bangun dan instal NIXL dan tentukan jalur ke direktori instalasi Libfabric.

   ```
   $ sudo meson setup . nixl --prefix=/usr/local/nixl -Dlibfabric_path=/opt/amazon/efa
   $ cd nixl && sudo ninja && sudo ninja install
   ```

------

## Langkah 7: Instal NIXL Benchmark dan uji konfigurasi EFA dan NIXL Anda
<a name="nixl-start-base-tests"></a>

Instal Benchmark NIXL dan jalankan pengujian untuk memastikan bahwa instans sementara Anda dikonfigurasi dengan benar untuk EFA dan NIXL. Benchmark NIXL memungkinkan Anda untuk mengonfirmasi bahwa NIXL diinstal dengan benar dan beroperasi seperti yang diharapkan. Untuk informasi selengkapnya, lihat repositori [nixlbench](https://github.com/ai-dynamo/nixl/tree/main/benchmark/nixlbench).

NIXL Benchmark (nixlbench) membutuhkan ETCD untuk koordinasi antara klien dan server. Untuk menggunakan ETCD dengan NIXL memerlukan ETCD Server dan Klien, dan ETCD CPP API.

------
#### [ Build from Docker ]

**Untuk menginstal dan menguji NIXL Benchmark menggunakan Docker**

1. Kloning repositori NIXL resmi ke instance dan navigasikan ke direktori build nixlbench.

   ```
   $ git clone https://github.com/ai-dynamo/nixl.git
   $ cd nixl/benchmark/nixlbench/contrib
   ```

1. Bangun wadahnya.

   ```
   $ ./build.sh
   ```

   Untuk informasi selengkapnya tentang opsi build Docker, lihat repositori [nixlbench](https://github.com/ai-dynamo/nixl/tree/main/benchmark/nixlbench).

1. Pasang Docker.

   ```
   $ sudo apt install docker.io -y
   ```

1. Mulai server ETCD untuk koordinasi.

   ```
   $ docker run -d --name etcd-server \
       -p 2379:2379 -p 2380:2380 \
       quay.io/coreos/etcd:v3.5.18 \
       /usr/local/bin/etcd \
       --data-dir=/etcd-data \
       --listen-client-urls=http://0.0.0.0:2379 \
       --advertise-client-urls=http://0.0.0.0:2379 \
       --listen-peer-urls=http://0.0.0.0:2380 \
       --initial-advertise-peer-urls=http://0.0.0.0:2380 \
       --initial-cluster=default=http://0.0.0.0:2380
   ```

1. Validasi bahwa server ETCD sedang berjalan.

   ```
   $ curl -L http://localhost:2379/health
   ```

   Keluaran yang diharapkan

   ```
   {"health":"true"}
   ```

1. Buka dua terminal untuk contoh. Pada kedua terminal, jalankan perintah berikut untuk memverifikasi instalasi. Perintah menggunakan server ETCD pada instance yang sama, menggunakan Libfabric sebagai backend, dan beroperasi menggunakan memori GPU.

   ```
   $ docker run -it --gpus all --network host nixlbench:latest \
       nixlbench --etcd_endpoints http://localhost:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM \
       --target_seg_type VRAM
   ```
**catatan**  
Gunakan nilai `DRAM` alih-alih `VRAM` untuk instance non-GPU.

------
#### [ Build from source ]

**penting**  
Ikuti tab ini hanya jika Anda memilih **Build from source** di Langkah 6.

**Untuk menginstal NIXL Benchmark**

1. Instal dependensi sistem yang diperlukan.

   ```
   $ sudo apt install libgflags-dev
   ```

1. Instal ETCD Server dan Klien.

   ```
   $ sudo apt install -y etcd-server etcd-client
   ```

1. Instal ETCD CPP API.

   1. Instal dependensi yang diperlukan untuk ETCD CPP API.

      ```
      $ sudo apt install libboost-all-dev libssl-dev libgrpc-dev libgrpc++-dev libprotobuf-dev protobuf-compiler-grpc libcpprest-dev
      ```

   1. Kloning dan instal ETCD CPP API.

      ```
      $ cd $HOME
      $ git clone https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3.git
      $ cd etcd-cpp-apiv3
      $ mkdir build && cd build
      $ cmake ..
      $ sudo make -j$(nproc) && sudo make install
      ```

1. Bangun dan instal nixlbench.

   ```
   $ sudo meson setup . $HOME/nixl/benchmark/nixlbench -Dnixl_path=/usr/local/nixl/
   $ sudo ninja && sudo ninja install
   ```

**Untuk menguji konfigurasi EFA dan NIXL**

1. Mulai server ETCD pada instance.

   ```
   $ etcd --listen-client-urls "http://0.0.0.0:2379" \
       --advertise-client-urls "http://localhost:2379" &
   ```

1. Validasi bahwa server ETCD sedang berjalan.

   ```
   $ curl -L http://localhost:2379/health
   ```

   Keluaran yang diharapkan

   ```
   {"health":"true"}
   ```

1. Buka dua terminal untuk contoh. Di kedua terminal, selesaikan langkah-langkah berikut untuk menjalankan nixlbench.

   1. Arahkan ke direktori tempat nixlbench diinstal.

      ```
      $ cd /usr/local/nixlbench/bin/
      ```

   1. Jalankan pengujian dan tentukan backend, alamat server ETCD, dan tipe segmen inisiator. Perintah berikut menggunakan server ETCD pada contoh yang sama, menggunakan Libfabric sebagai backend, dan beroperasi menggunakan memori GPU. Variabel lingkungan mengkonfigurasi berikut ini:
      + `NIXL_LOG_LEVEL=INFO`- Mengaktifkan output debugging rinci. Anda juga dapat menentukan `WARN` untuk hanya menerima pesan kesalahan.
      + `LD_LIBRARY_PATH`— Menetapkan jalur untuk perpustakaan NIXL.

      Untuk informasi lebih lanjut tentang argumen Benchmark NIXL, lihat [NIXLbenchREADME](https://github.com/ai-dynamo/nixl/blob/main/benchmark/nixlbench/README.md) di repositori nixlbench resmi.

      ```
      $ export NIXL_LOG_LEVEL=INFO
      $ export LD_LIBRARY_PATH=/usr/local/nixl/lib/$(gcc -dumpmachine):$LD_LIBRARY_PATH
      
      $ nixlbench --etcd-endpoints 'http://localhost:2379' \
          --backend 'LIBFABRIC' \
          --initiator_seg_type 'VRAM' \
          --target_seg_type 'VRAM'
      ```
**catatan**  
Gunakan nilai `DRAM` alih-alih `VRAM` untuk instance non-GPU.

------

## Langkah 8: Instal aplikasi pembelajaran mesin Anda
<a name="nixl-start-base-app"></a>

Instal aplikasi machine learning di instans sementara. Prosedur penginstalan bervariasi tergantung pada aplikasi machine learning tertentu.

**catatan**  
Lihat dokumentasi aplikasi pembelajaran mesin Anda untuk petunjuk pemasangan.

## Langkah 9: Buat AMI yang mendukung EFA dan NIXL
<a name="nixl-start-base-ami"></a>

Setelah menginstal komponen perangkat lunak yang diperlukan, Anda membuat AMI yang dapat digunakan kembali untuk meluncurkan instans Anda dengan EFA yang diaktifkan.

**Untuk membuat AMI dari instans sementara Anda**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**.

1. Pilih instans sementara yang Anda buat dan pilih **Tindakan**, **Gambar**, **Buat gambar**.

1. Untuk **Buat gambar**, lakukan hal berikut:

   1. Untuk **Nama gambar**, masukkan nama deskriptif untuk AMI.

   1. (Opsional) Untuk **Deskripsi gambar**, masukkan deskripsi singkat tentang tujuan AMI.

   1. Pilih **Buat gambar**.

1. Di panel navigasi, pilih **AMIs**.

1. Temukan AMI yang Anda buat dalam daftar. Tunggu hingga status berubah dari `pending` menjadi `available` sebelum melanjutkan ke langkah berikutnya.

## Langkah 10: Mengakhiri instans sementara
<a name="nixl-start-base-terminate"></a>

Pada titik ini, Anda tidak memerlukan lagi instans sementara yang Anda luncurkan. Anda dapat mengakhiri instans agar biaya tidak dibebankan lagi padanya.

**Untuk mengakhiri instans sementara**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**.

1. Pilih instans sementara yang Anda buat dan pilih **Tindakan**, **Status instans**, **Akhiri instans**.

1. Saat diminta konfirmasi, pilih **Akhiri**.

## Langkah 11: Luncurkan instans yang mendukung EFA dan NIXL
<a name="nixl-start-base-cluster"></a>

**Luncurkan instans berkemampuan EFA dan NIXL Anda menggunakan AMI berkemampuan EFA yang Anda buat di **Langkah 9**, dan grup keamanan berkemampuan EFA yang Anda buat di Langkah 1.**

**Untuk meluncurkan instans yang mendukung EFA dan NIXL**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**, lalu pilih **Luncurkan Instans** untuk membuka wizard peluncuran instans baru.

1. (*Opsional*) Di bagian **Nama dan tanda**, berikan nama untuk instans, seperti `EFA-instance`. Nama ditetapkan ke instans sebagai tanda sumber daya (`Name=EFA-instance`).

1. Di bagian **Application and OS Images**AMIs, pilih **My**, lalu pilih AMI yang Anda buat pada langkah sebelumnya.

1. Di bagian **Jenis instans**, pilih jenis instans yang didukung.

1. Pada bagian **Pasangan kunci**, pilih pasangan kunci yang akan digunakan untuk instans.

1. Di bagian **Pengaturan jaringan**, pilih **Edit**, lalu lakukan hal berikut:

   1. Untuk **Subnet**, pilih subnet untuk meluncurkan instans. Jika Anda tidak memilih subnet, Anda tidak dapat mengaktifkan instans untuk EFA.

   1. Untuk **Firewall (grup keamanan)**, **pilih Pilih grup keamanan yang ada**, lalu pilih grup keamanan yang Anda buat di **Langkah 1**.

   1. Perluas bagian **Konfigurasi jaringan lanjutan**.

      Untuk **antarmuka Jaringan 1**, pilih **Indeks kartu jaringan = 0**, **Indeks perangkat = 0**, dan **Jenis antarmuka = EFA dengan ENA**.

      **(*Opsional*) Jika Anda menggunakan jenis instans multi-kartu, seperti `p4d.24xlarge` atau`p5.48xlarge`, untuk setiap antarmuka jaringan tambahan yang diperlukan, pilih **Tambahkan antarmuka jaringan**, untuk **indeks kartu jaringan pilih indeks** berikutnya yang tidak digunakan, lalu pilih **Indeks perangkat = 1 dan Jenis antarmuka =** **EFA dengan ENA atau EFA** saja.**

1. (*Opsional*) Di bagian **Penyimpanan**, konfigurasikan volume sesuai kebutuhan.

1. Di panel **Ringkasan** di sebelah kanan, untuk **Jumlah instans**, masukkan jumlah instans yang diaktifkan EFA yang ingin Anda luncurkan, lalu pilih **Luncurkan instans**.

## Langkah 12: Mengaktifkan SSH tanpa kata sandi
<a name="nixl-start-base-passwordless"></a>

Agar aplikasi Anda dapat berjalan di semua instans dalam klaster, Anda harus mengaktifkan akses SSH tanpa kata sandi dari simpul pemimpin ke simpul anggota. Simpul pemimpin adalah instans dari mana Anda menjalankan aplikasi Anda. Instans yang tersisa di klaster adalah simpul anggota.

**Untuk mengaktifkan SSH tanpa kata sandi antar instans dalam klaster**

1. Pilih satu instans dalam klaster sebagai simpul pemimpin, dan hubungkan ke instans tersebut.

1. Nonaktifkan `strictHostKeyChecking` dan aktifkan `ForwardAgent` pada simpul pemimpin. Buka `~/.ssh/config` menggunakan editor teks pilihan Anda dan tambahkan berikut ini.

   ```
   Host *
       ForwardAgent yes
   Host *
       StrictHostKeyChecking no
   ```

1. Membuat pasangan kunci RSA.

   ```
   $ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
   ```

   Pasangan kunci dibuat dalam direktori `$HOME/.ssh/`.

1. Ubah izin kunci privat pada simpul pemimpin.

   ```
   $ chmod 600 ~/.ssh/id_rsa
   chmod 600 ~/.ssh/config
   ```

1. Buka `~/.ssh/id_rsa.pub` menggunakan editor teks pilihan Anda dan salin kunci.

1. Untuk setiap simpul anggota di klaster, lakukan hal berikut:

   1. Hubungkan dengan instans.

   1. Buka `~/.ssh/authorized_keys` menggunakan editor teks pilihan Anda tambahkan kunci publik yang Anda salin sebelumnya.

1. Untuk menguji apakah SSH tanpa kata sandi berfungsi seperti yang diharapkan, hubungkan ke simpul pemimpin Anda dan jalankan perintah berikut.

   ```
   $ ssh member_node_private_ip
   ```

   Anda harus terhubung ke simpul anggota tanpa diminta untuk memasukkan kunci atau kata sandi.

**penting**  
Ikuti Langkah 13 hanya jika Anda mengikuti Langkah 7.

## Langkah 13: Uji konfigurasi EFA dan NIXL Anda di seluruh instance
<a name="nixl-start-base-test-multi"></a>

Jalankan pengujian untuk memastikan bahwa instans Anda dikonfigurasi dengan benar untuk EFA dan NIXL.

------
#### [ Build from Docker ]

**Untuk menguji konfigurasi EFA dan NIXL Anda di seluruh instance menggunakan Docker**

1. Pilih dua host untuk menjalankan benchmark nixlbench. Gunakan alamat IP host pertama sebagai IP server ETCD untuk pertukaran metadata.

1. Mulai server ETCD di host 1.

   ```
   $ docker run -d --name etcd-server \
       -p 2379:2379 -p 2380:2380 \
       quay.io/coreos/etcd:v3.5.18 \
       /usr/local/bin/etcd \
       --data-dir=/etcd-data \
       --listen-client-urls=http://0.0.0.0:2379 \
       --advertise-client-urls=http://0.0.0.0:2379 \
       --listen-peer-urls=http://0.0.0.0:2380 \
       --initial-advertise-peer-urls=http://0.0.0.0:2380 \
       --initial-cluster=default=http://0.0.0.0:2380
   ```

1. Validasi bahwa server ETCD sedang berjalan.

   ```
   $ curl -L http://localhost:2379/health
   ```

   ```
   {"health":"true"}
   ```

1. Jalankan benchmark nixlbench pada host 1.

   ```
   $ docker run -it --gpus all --network host nixlbench:latest \
       nixlbench --etcd_endpoints http://localhost:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM
   ```

1. Jalankan benchmark nixlbench pada host 2.

   ```
   $ docker run -it --gpus all --network host nixlbench:latest \
       nixlbench --etcd_endpoints http://ETCD_SERVER_IP:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM
   ```

------
#### [ Build from source ]

**penting**  
Ikuti tab ini hanya jika Anda memilih **Build from source** di Langkah 6.

**Untuk menguji konfigurasi EFA dan NIXL Anda di seluruh instance**

1. Pilih dua host untuk menjalankan benchmark nixlbench. Gunakan alamat IP host pertama sebagai IP server ETCD untuk pertukaran metadata.

1. Luncurkan server ETCD di host 1.

   ```
   $ etcd --listen-client-urls "http://0.0.0.0:2379" \
       --advertise-client-urls "http://localhost:2379" &
   ```

1. Validasi bahwa server ETCD sedang berjalan.

   ```
   $ curl -L http://localhost:2379/health
   ```

   ```
   {"health":"true"}
   ```

1. Jalankan benchmark nixlbench pada host 1.

   ```
   $ export NIXL_LOG_LEVEL=INFO
   $ export LD_LIBRARY_PATH=$HOME/nixl/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
   
   $ nixlbench \
       --etcd-endpoints http://localhost:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM
   ```

1. Jalankan benchmark nixlbench pada host 2.

   ```
   $ export NIXL_LOG_LEVEL=INFO
   $ export LD_LIBRARY_PATH=$HOME/nixl/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
   
   $ nixlbench \
       --etcd-endpoints http://ETCD_SERVER_IP:2379 \
       --backend LIBFABRIC \
       --initiator_seg_type VRAM
   ```

------

## *Langkah 14: Uji penyajian inferensi terpilah melalui VllM (Opsional)*
<a name="nixl-start-base-serve"></a>

Setelah NIXL diinstal, Anda dapat menggunakan NIXL melalui inferensi LLM dan kerangka kerja penyajian seperti VllM,, dan TensorRT-LLM. SGLang

**Untuk melayani beban kerja inferensi Anda menggunakan VllM**

1. Instal Vllm.

   ```
   $ pip install vllm
   ```

1. Mulai server VLLM dengan NIXL. Contoh perintah berikut membuat satu prefill (producer) dan satu decode (consumer) instance untuk koneksi handshake NIXL, konektor KV, peran KV, dan backend transport. Untuk contoh dan skrip terperinci, lihat [Panduan NIXLConnector Penggunaan](https://github.com/vllm-project/vllm/blob/2d977a7a9ead3179fde9ed55d69393ef7b6cec47/docs/features/nixl_connector_usage.md).

   Untuk menggunakan NIXL dengan EFA, atur variabel lingkungan berdasarkan kasus penyiapan dan penggunaan Anda.
   + Konfigurasi Produser (Prefiller)

     ```
     $ vllm serve your-application \
         --port 8200 \
         --enforce-eager \
         --kv-transfer-config '{"kv_connector":"NixlConnector","kv_role":"kv_both","kv_buffer_device":"cuda","kv_connector_extra_config":{"backends":["LIBFABRIC"]}}'
     ```
   + Konfigurasi konsumen (Decoder)

     ```
     $ vllm serve your-application \
         --port 8200 \
         --enforce-eager \
         --kv-transfer-config '{"kv_connector":"NixlConnector","kv_role":"kv_both","kv_buffer_device":"cuda","kv_connector_extra_config":{"backends":["LIBFABRIC"]}}'
     ```

   Konfigurasi sampel sebelumnya menetapkan hal berikut:
   + `kv_role`untuk`kv_both`, yang memungkinkan fungsionalitas simetris di mana konektor dapat bertindak sebagai produsen dan konsumen. Ini memberikan fleksibilitas untuk pengaturan eksperimental dan skenario di mana perbedaan peran tidak ditentukan sebelumnya.
   + `kv_buffer_device`untuk`cuda`, yang memungkinkan menggunakan memori GPU.
   + NIXL backend ke`LIBFABRIC`, yang memungkinkan lalu lintas NIXL melewati EFA.

# Maksimalkan bandwidth jaringan pada instans Amazon EC2 dengan beberapa kartu jaringan
<a name="efa-acc-inst-types"></a>

Banyak jenis contoh yang mendukung EFA juga memiliki beberapa kartu jaringan. Untuk informasi selengkapnya, lihat [Kartu jaringan](using-eni.md#network-cards). Jika Anda berencana untuk menggunakan EFA dengan salah satu jenis instans ini, kami merekomendasikan konfigurasi dasar berikut:
+ Untuk antarmuka jaringan utama (indeks kartu jaringan`0`, indeks perangkat`0`), buat antarmuka ENA. Anda tidak dapat menggunakan antarmuka jaringan khusus EFA sebagai antarmuka jaringan utama.
+ Jika indeks kartu jaringan 0 mendukung EFA, buat antarmuka jaringan khusus EFA untuk indeks kartu jaringan`0`, indeks perangkat. `1`
+ Untuk setiap antarmuka jaringan tambahan, gunakan indeks kartu jaringan yang tidak digunakan berikutnya, indeks perangkat`0`, untuk antarmuka jaringan khusus EFA, indeks and/or perangkat `1` untuk antarmuka jaringan ENA tergantung pada kasus penggunaan Anda, seperti persyaratan bandwidth ENA atau ruang alamat IP. Misalnya kasus penggunaan, lihat[Konfigurasi EFA untuk instans P5 dan P5e](#efa-for-p5).

**catatan**  
Instans P5 memerlukan antarmuka jaringan untuk dikonfigurasi dengan cara tertentu untuk mengaktifkan bandwidth jaringan maksimum. Untuk informasi selengkapnya, lihat [Konfigurasi EFA untuk instans P5 dan P5e](#efa-for-p5).

Contoh berikut menunjukkan cara meluncurkan instance berdasarkan rekomendasi ini.

------
#### [ Instance launch ]

**Untuk menentukan EFAs selama peluncuran instance menggunakan wizard instance peluncuran**

1. Di bagian **Pengaturan jaringan**, pilih **Edit**.

1. Perluas **Konfigurasi jaringan lanjutan**.

1. Untuk antarmuka jaringan utama (indeks kartu jaringan`0`, indeks perangkat`0`), buat antarmuka ENA. Anda tidak dapat menggunakan antarmuka jaringan khusus EFA sebagai antarmuka jaringan utama.

1. Jika indeks kartu jaringan 0 mendukung EFA, buat antarmuka jaringan khusus EFA untuk indeks kartu jaringan`0`, indeks perangkat. `1`

1. Untuk setiap antarmuka jaringan tambahan, gunakan indeks kartu jaringan yang tidak digunakan berikutnya, indeks perangkat`0`, untuk antarmuka jaringan khusus EFA, indeks and/or perangkat `1` untuk antarmuka jaringan ENA tergantung pada kasus penggunaan Anda, seperti persyaratan bandwidth ENA atau ruang alamat IP. Misalnya kasus penggunaan, lihat[Konfigurasi EFA untuk instans P5 dan P5e](#efa-for-p5).

**Untuk menentukan EFAs selama peluncuran instance menggunakan perintah [run-instance](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)**  
Untuk`--network-interfaces`, tentukan jumlah antarmuka jaringan yang diperlukan. Untuk antarmuka jaringan utama, tentukan`NetworkCardIndex=0`,`DeviceIndex=0`, dan`InterfaceType=interface`. Jika indeks kartu jaringan 0 mendukung EFA, tentukan, `NetworkCardIndex=0``DeviceIndex=1`, dan`InterfaceType=efa-only`. Untuk antarmuka jaringan tambahan, untuk `NetworkCardIndex` tentukan indeks berikutnya yang tidak digunakan, `DeviceIndex=0` untuk`InterfaceType=efa-only`, and/or `DeviceIndex=1` untuk. `InterfaceType=interface`

Contoh cuplikan perintah berikut menunjukkan permintaan dengan 32 perangkat EFA dan satu perangkat ENA.

```
$ aws ec2 run-instances \
 --instance-type p5.48xlarge \
 --count 1 \
 --key-name key_pair_name \
 --image-id ami-0abcdef1234567890 \
 --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=0,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=1,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=2,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=3,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=4,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=5,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=6,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=7,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=8,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=9,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=10,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=11,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=12,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=13,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=14,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=15,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=16,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=17,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=18,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=19,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=20,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=21,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=22,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=23,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=24,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=25,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=26,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=27,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=28,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=29,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=30,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=31,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only"
...
```

------
#### [ Launch templates ]

**Untuk menambahkan EFA ke template peluncuran menggunakan konsol Amazon EC2**

1. Di bagian **Pengaturan jaringan**, perluas **Konfigurasi jaringan lanjutan**.

1. Untuk antarmuka jaringan utama (indeks kartu jaringan`0`, indeks perangkat`0`), buat antarmuka ENA. Anda tidak dapat menggunakan antarmuka jaringan khusus EFA sebagai antarmuka jaringan utama.

1. Jika indeks kartu jaringan 0 mendukung EFA, buat antarmuka jaringan khusus EFA untuk indeks kartu jaringan`0`, indeks perangkat. `1`

1. Untuk setiap antarmuka jaringan tambahan, gunakan indeks kartu jaringan yang tidak digunakan berikutnya, indeks perangkat`0`, untuk antarmuka jaringan khusus EFA, indeks and/or perangkat `1` untuk antarmuka jaringan ENA tergantung pada kasus penggunaan Anda, seperti persyaratan bandwidth ENA atau ruang alamat IP. Misalnya kasus penggunaan, lihat[Konfigurasi EFA untuk instans P5 dan P5e](#efa-for-p5). 

**Untuk EFAs menambah template peluncuran menggunakan [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html)perintah**  
Untuk`NetworkInterfaces`, tentukan jumlah antarmuka jaringan yang diperlukan. Untuk antarmuka jaringan utama, tentukan`NetworkCardIndex=0`,`DeviceIndex=0`, dan`InterfaceType=interface`. Jika indeks kartu jaringan 0 mendukung EFA, tentukan, `NetworkCardIndex=0``DeviceIndex=1`, dan`InterfaceType=efa-only`. Untuk antarmuka jaringan tambahan, untuk `NetworkCardIndex` tentukan indeks berikutnya yang tidak digunakan, `DeviceIndex=0` untuk`InterfaceType=efa-only`, and/or `DeviceIndex=1` untuk. `InterfaceType=interface`

Cuplikan berikut menunjukkan contoh dengan 3 antarmuka jaringan dari kemungkinan 32 antarmuka jaringan.

```
"NetworkInterfaces":[
{
  "NetworkCardIndex":0,
  "DeviceIndex":0,
  "InterfaceType": "interface",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
},
{
  "NetworkCardIndex": 0,
  "DeviceIndex": 1,
  "InterfaceType": "efa-only",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
},
{
  "NetworkCardIndex": 1,
  "DeviceIndex": 0,
  "InterfaceType": "efa-only",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
},
{
  "NetworkCardIndex": 2,
  "DeviceIndex": 0,
  "InterfaceType": "efa-only",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
},
{
  "NetworkCardIndex": 3,
  "DeviceIndex": 0,
  "InterfaceType": "efa-only",
  "AssociatePublicIpAddress":false,
  "Groups":[
    "security_group_id"
  ],
  "DeleteOnTermination":true
}
...
```

------

## Konfigurasi EFA untuk instans P5 dan P5e
<a name="efa-for-p5"></a>

`p5.48xlarge`dan `p5e.48xlarge` contoh mendukung 32 kartu jaringan dan memiliki total kapasitas bandwidth jaringan 3.200 Gbps, yang hingga 800 Gbps dapat digunakan untuk lalu lintas jaringan IP. Karena lalu lintas jaringan EFA dan IP berbagi sumber daya dasar yang sama, bandwidth yang digunakan oleh satu akan mengurangi bandwidth yang tersedia untuk yang lain. Ini berarti Anda dapat mendistribusikan bandwidth jaringan antara lalu lintas EFA dan lalu lintas IP dalam kombinasi apa pun, selama total bandwidth tidak melebihi 3.200 Gbps dan bandwidth IP tidak melebihi 800 Gbps. Misalnya, jika Anda menggunakan 400 Gbps untuk bandwidth IP, Anda dapat mencapai bandwidth EFA hingga 2.800 Gbps secara bersamaan.

**Kasus penggunaan 1: Simpan alamat IP dan hindari potensi masalah IP Linux**

Konfigurasi ini menyediakan bandwidth jaringan EFA hingga 3200 Gbps dan bandwidth jaringan IP hingga 100 Gbps dengan satu alamat IP pribadi. Konfigurasi ini juga membantu menghindari potensi masalah IP Linux, seperti penetapan otomatis alamat IP publik yang tidak diizinkan dan tantangan perutean IP (masalah pemetaan nama host ke alamat IP dan ketidakcocokan alamat IP sumber), yang dapat muncul jika sebuah instance memiliki beberapa antarmuka jaringan. 
+ Untuk antarmuka jaringan utama (indeks kartu jaringan 0, indeks perangkat 0), gunakan antarmuka ENA.
+ Untuk indeks kartu jaringan 0, indeks perangkat 1, buat antarmuka jaringan khusus EFA.
+ Untuk antarmuka jaringan yang tersisa (indeks kartu jaringan 1-31, indeks perangkat 0), gunakan antarmuka jaringan khusus EFA.

**Kasus penggunaan 2: Bandwidth jaringan EFA dan IP maksimum**

Konfigurasi ini menyediakan bandwidth jaringan EFA hingga 3200 Gbps dan bandwidth jaringan IP hingga 800 Gbps dengan 8 alamat IP pribadi. Anda tidak dapat menetapkan alamat IP publik secara otomatis dengan konfigurasi ini. Namun, Anda dapat melampirkan alamat IP Elastis ke antarmuka jaringan utama (indeks kartu jaringan 0, indeks perangkat 0) setelah peluncuran untuk konektivitas internet.
+ Untuk antarmuka jaringan utama (indeks kartu jaringan 0, indeks perangkat 0), gunakan antarmuka jaringan ENA.
+ Untuk antarmuka yang tersisa, lakukan hal berikut:
  + Tentukan antarmuka jaringan khusus EFA pada indeks kartu jaringan 0 indeks perangkat 1, dan untuk indeks kartu jaringan 1, 2, dan 3, gunakan indeks perangkat 0.
  + Tentukan satu antarmuka jaringan ENA dan empat antarmuka jaringan khusus EFA **di masing-masing** subset indeks kartu jaringan berikut, dan gunakan indeks perangkat 1 untuk antarmuka jaringan ENA dan indeks perangkat 0 untuk antarmuka jaringan khusus EFA:
    + [4,5,6,7]
    + [8,9,10,11]
    + [12,13,14,15]
    + [16,17,18,19]
    + [20,21,22,23]
    + [24,25,26,27]
    + [28,29,30,31]

Contoh berikut menggambarkan konfigurasi ini:

```
$ aws --region $REGION ec2 run-instances \
 --instance-type p5.48xlarge \
 --count 1 \
 --key-name key_pair_name \
 --image-id ami_id \
 --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=0,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=1,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=2,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=3,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=4,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=4,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=5,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=6,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=7,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=8,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=8,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=9,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=10,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=11,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=12,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=12,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=13,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=14,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=15,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=16,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=16,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=17,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=18,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=19,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=20,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=20,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=21,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=22,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=23,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=24,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=24,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=25,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=26,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=27,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=28,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=28,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=29,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=30,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=31,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only"
...
```

## Konfigurasi EFA untuk instans P6-B200
<a name="efa-for-p6-b200"></a>

Instans P6-B200 memiliki total kapasitas bandwidth jaringan 3.200 Gbps, dimana hingga 1600 Gbps dapat digunakan untuk ENA. Mereka memiliki 8 GPUs dan 8 kartu jaringan, di mana setiap kartu jaringan mendukung bandwidth EFA hingga 400 Gbps dan bandwidth ENA 200 Gbps. Karena lalu lintas EFA dan ENA berbagi sumber daya dasar yang sama, bandwidth yang digunakan oleh satu akan mengurangi bandwidth yang tersedia untuk yang lain.

**Kasus penggunaan 1: Simpan alamat IP**

Konfigurasi ini menggunakan setidaknya satu alamat IP pribadi per instance dan mendukung bandwidth EFA hingga 3200 Gbps dan bandwidth ENA 200 Gbps.
+ Untuk antarmuka jaringan utama (indeks kartu jaringan 0, indeks perangkat 0), gunakan antarmuka ENA.
+ Untuk indeks kartu jaringan 0, indeks perangkat 1, buat antarmuka jaringan khusus EFA.
+ Untuk 7 kartu jaringan yang tersisa (indeks kartu jaringan 1-7, indeks perangkat 0), gunakan antarmuka jaringan khusus EFA.

**Kasus penggunaan 2: Bandwidth EFA dan ENA maksimum**

Konfigurasi ini menggunakan setidaknya 8 alamat IP pribadi per instans dan mendukung bandwidth EFA hingga 3200 Gbps dan bandwidth ENA 1600 Gbps.
+ Untuk antarmuka jaringan utama (indeks kartu jaringan 0, indeks perangkat 0), gunakan antarmuka ENA.
+ Untuk indeks kartu jaringan 0, indeks perangkat 1, buat antarmuka jaringan khusus EFA.
+ Untuk 7 kartu jaringan yang tersisa (indeks kartu jaringan 1-7), buat antarmuka jaringan khusus EFA pada indeks perangkat 0 dan antarmuka jaringan ENA pada indeks perangkat 1.

## Konfigurasi EFA untuk instance P6e- GB200
<a name="efa-for-p6e"></a>

P6e- GB200 instance dapat dikonfigurasi dengan hingga 17 kartu jaringan. Gambar berikut menunjukkan tata letak kartu antarmuka jaringan fisik (NIC) untuk GB200 instance P6e-, bersama dengan pemetaan indeks kartu jaringan (). NCIs

![\[Pemetaan kartu antarmuka jaringan fisik (NIC) dan indeks kartu jaringan (NCI) untuk instance P6e-. GB200\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/images/p6e.png)


NCI utama (indeks 0) mendukung bandwidth ENA hingga 100 Gbps. NCIs dengan indeks berikut mendukung antarmuka jaringan khusus EFA dan bandwidth EFA 400 Gbps: [1, 3, 5, 7, 9, 11, 13, 15]. NCIs dengan indeks berikut mendukung hingga 200 Gbps ENA atau bandwidth EFA: [2, 4, 6, 8, 10, 12, 14, 16].

 NCIs Dalam kelompok berikut berbagi NIC fisik yang mendasarinya pada host:
+ [1 dan 2]
+ [3 dan 4]
+ [5 dan 6]
+ [7 dan 8]
+ [9 dan 10]
+ [11 dan 12]
+ [13 dan 14]
+ [15 dan 16]

Setiap NIC fisik mendukung bandwidth hingga 400 Gbps. Karena NCIs dalam kelompok-kelompok ini berbagi NIC fisik dasar yang sama, bandwidth yang digunakan oleh satu akan mengurangi bandwidth yang tersedia untuk yang lain. Misalnya, jika NCI 2 menggunakan bandwidth ENA 200 Gbps, NCI 1 dapat menggunakan bandwidth EFA hingga 200 Gbps secara bersamaan.

Setiap GPU yang mendasari pada host dapat mengirim lalu lintas secara langsung melalui pasangan berikut: NCIs
+ [1 dan 3]
+ [5 dan 7]
+ [9 dan 11]
+ [13 dan 15]

Setiap GPU mendukung bandwidth EFA hingga 400 Gbps. Karena kartu jaringan dalam kelompok ini berbagi GPU yang sama, bandwidth yang digunakan oleh satu akan mengurangi bandwidth yang tersedia untuk yang lain. Misalnya, jika NCI 1 menggunakan bandwidth EFA 200 Gbps, NCI 3 dapat menggunakan bandwidth EFA hingga 200 Gbps secara bersamaan. Oleh karena itu, untuk mencapai kinerja EFA maksimum, kami menyarankan Anda melakukan **salah satu hal berikut** untuk mencapai total bandwidth EFA 1.600 Gbps:
+ Tambahkan antarmuka jaringan khusus EFA ke hanya satu NCI di setiap grup untuk mencapai 400 Gbps per antarmuka jaringan (*4 antarmuka jaringan EFA* x 400 Gbps).
+ Tambahkan antarmuka jaringan khusus EFA ke setiap NCI di setiap grup untuk mencapai 200 Gbps per antarmuka jaringan (*8 antarmuka jaringan EFA* x 200 Gbps).

Misalnya, konfigurasi berikut menyediakan bandwidth EFA hingga 1.600 Gbps menggunakan antarmuka jaringan khusus EFA tunggal di setiap grup NCI, dan bandwidth jaringan ENA hingga 100 Gbps hanya menggunakan NCI utama (indeks 0).
+ Untuk NCI utama (indeks kartu jaringan 0, indeks perangkat 0), gunakan antarmuka jaringan ENA.
+ Tambahkan antarmuka jaringan khusus EFA ke yang berikut ini:
  + NCI 1, indeks perangkat 0
  + NCI 5, indeks perangkat 0
  + NCI 9, indeks perangkat 0
  + NCI 13, indeks perangkat 0

## Konfigurasi EFA untuk instans P6-B300
<a name="efa-for-p6-b300"></a>

Instans P6-B300 memiliki total kapasitas bandwidth jaringan hingga 6400 Gbps untuk lalu lintas EFA, dan hingga 3870 Gbps untuk lalu lintas ENA. Mereka memiliki 8 GPUs dan 17 kartu jaringan, di mana kartu jaringan utama hanya mendukung antarmuka jaringan ENA dengan bandwidth hingga 350 Gbps. Kartu jaringan sekunder mendukung hingga 400 Gbps EFA dan bandwidth ENA hingga 220 Gbps. Karena lalu lintas EFA dan ENA berbagi sumber daya dasar yang sama, bandwidth yang digunakan oleh satu akan mengurangi bandwidth yang tersedia untuk yang lain.

![\[Pemetaan kartu antarmuka jaringan fisik (NIC) dan indeks kartu jaringan (NCI) untuk instance P6-B300.\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/images/p6-b300.png)


**Kasus penggunaan 1: Simpan alamat IP**

Konfigurasi ini menggunakan setidaknya satu alamat IP pribadi per instans dan mendukung bandwidth EFA hingga 6400 Gbps dan bandwidth ENA hingga 350 Gbps.
+ Untuk antarmuka jaringan utama (indeks kartu jaringan 0, indeks perangkat 0), gunakan antarmuka jaringan ENA.
+ Untuk kartu jaringan yang tersisa (indeks kartu jaringan 1-16, indeks perangkat 0), gunakan antarmuka jaringan khusus EFA.

```
--network-interfaces \
"NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=1,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=2,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=3,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=4,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=5,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=6,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=7,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=8,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=9,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=10,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=11,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=12,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=13,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=14,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=15,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=16,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only"
```

**Kasus penggunaan 2: Bandwidth EFA dan ENA maksimum**

Konfigurasi ini menggunakan setidaknya 17 alamat IP pribadi per instans dan mendukung bandwidth EFA hingga 6400 Gbps dan bandwidth ENA hingga 3870 Gbps.
+ Untuk antarmuka jaringan utama (indeks kartu jaringan 0, indeks perangkat 0) gunakan antarmuka jaringan ENA.
+ Untuk kartu jaringan yang tersisa, buat antarmuka khusus EFA (indeks kartu jaringan 1-16 indeks perangkat 0) dan kartu jaringan antarmuka ENA mengindeks 1-16 indeks perangkat 1).

```
--network-interfaces \
"NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=1,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=2,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=3,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=4,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=5,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=6,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=7,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=8,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=9,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=10,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=11,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=12,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=13,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=14,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=15,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=16,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa-only" \
"NetworkCardIndex=1,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=2,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=3,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=4,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=5,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=6,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=7,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=8,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=9,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=10,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=11,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=12,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=13,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=14,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=15,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface" \
"NetworkCardIndex=16,DeviceIndex=1,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=interface"
```

# Membuat dan melampirkan Adaptor Kain Elastis ke instans Amazon EC2
<a name="create-efa"></a>

Anda dapat membuat EFA dan melampirkannya ke instans Amazon EC2 seperti halnya antarmuka elastic network lainnya di Amazon EC2. Namun, tidak seperti antarmuka jaringan elastis, tidak EFAs dapat dilampirkan atau dilepaskan dari instance dalam keadaan. `running`

**Pertimbangan-pertimbangan**
+  Anda dapat mengubah grup keamanan yang terkait dengan EFA. Untuk mengaktifkan fungsi bypass OS, EFA harus merupakan anggota grup keamanan yang memungkinkan semua lalu lintas masuk dan keluar ke dan dari grup keamanan itu sendiri. Untuk informasi selengkapnya, lihat [Langkah 1: Siapkan grup keamanan yang diaktifkan EFA](efa-start.md#efa-start-security).

  Anda mengubah grup keamanan yang terkait dengan EFA dalam cara yang sama dengan cara Anda mengubah grup keamanan yang terkait dengan antarmuka jaringan elastis. Untuk informasi selengkapnya, lihat [Memodifikasi atribut antarmuka jaringan](modify-network-interface-attributes.md).
+ Anda menetapkan Elastic IP (IPv4) dan IPv6 alamat ke antarmuka jaringan EFA (EFA dengan ENA) dengan cara yang sama seperti Anda menetapkan alamat IP ke antarmuka jaringan elastis. Untuk informasi selengkapnya, lihat [Mengelola alamat IP](managing-network-interface-ip-addresses.md).

  Anda tidak dapat menetapkan alamat IP ke antarmuka jaringan khusus EFA.

**Topics**
+ [Membuat AMI](#efa-create)
+ [Memasang EFA ke instans yang dihentikan](#efa-attach)
+ [Memasang EFA saat meluncurkan instans](#efa-launch)
+ [Menambahkan EFA ke templat peluncuran](#efa-launch-template)

## Membuat AMI
<a name="efa-create"></a>

Anda dapat membuat EFA dalam subnet di VPC. Anda tidak dapat memindahkan EFA ke subnet lain dibuat, dan Anda hanya dapat memasangkannya untuk menghentikan instans dalam Zona Ketersediaan yang sama.

------
#### [ Console ]

**Untuk membuat antarmuka jaringan EFA (EFA dengan ENA atau ENA-only)**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Antarmuka Jaringan**, lalu pilih **Buat antarmuka jaringan**.

1. Untuk **Deskripsi**, masukkan nama deskriptif untuk EFA.

1. Untuk **Subnet**, pilih subnet untuk membuat EFA.

1. **Jenis antarmuka**, pilih salah satu opsi berikut:
   + **EFA dengan ENA** — Untuk membuat antarmuka jaringan yang mendukung perangkat ENA dan EFA.
   + **EFA Only** — Untuk membuat antarmuka jaringan dengan perangkat EFA saja.

1. (Untuk EFA dengan ENA saja) Konfigurasikan alamat IP dan penetapan awalan untuk antarmuka jaringan. Jenis alamat IP dan awalan yang dapat Anda tetapkan tergantung pada subnet yang dipilih. Untuk subnet IPv4 -only, Anda dapat menetapkan alamat IPv4 IP dan awalan saja. Untuk subnet IPv6 -only, Anda dapat menetapkan alamat IPv6 IP dan awalan saja. Untuk subnet dual-stack, Anda dapat menetapkan keduanya IPv4 dan IPv6 alamat IP dan awalan. 
**catatan**  
Anda tidak dapat menetapkan alamat IP ke antarmuka jaringan khusus EFA.

   1. Untuk ** IPv4 alamat and/or **IPv6 alamat** pribadi**, pilih **Tetapkan otomatis** agar Amazon EC2 secara otomatis menetapkan alamat IP dari subnet yang dipilih, atau **pilih** Kustom untuk menentukan alamat IP yang akan ditetapkan secara manual.

   1. Jika Anda menetapkan IPv6 alamat, Anda dapat mengaktifkan **Tetapkan** IP primer secara opsional. IPv6 Melakukan hal ini memberikan alamat unicast IPv6 global primer (GUA) ke antarmuka jaringan. Menetapkan IPv6 alamat utama memungkinkan Anda untuk menghindari mengganggu lalu lintas ke instance atau. ENIs Untuk informasi selengkapnya, lihat [IPv6 alamat](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#vpc-ipv6-addresses).

   1. Untuk delegasi **IPv4 awalan delegasi and/or IPv6 ** **awalan**, pilih Tetapkan **otomatis agar** Amazon EC2 secara otomatis menetapkan awalan dari blok CIDR subnet, atau **pilih** Kustom untuk menentukan awalan secara manual dari blok CIDR subnet. Jika Anda menentukan awalan, AWS verifikasi bahwa itu belum ditetapkan ke sumber daya lain. Untuk informasi selengkapnya, lihat [Delegasi awalan untuk antarmuka jaringan Amazon EC2](ec2-prefix-eni.md)

   1. (Opsional) Konfigurasikan pengaturan **batas waktu pelacakan koneksi Idle.** Untuk informasi selengkapnya, lihat [Waktu habis pelacakan koneksi idle](security-group-connection-tracking.md#connection-tracking-timeouts)
      + **TCP menetapkan batas waktu** - Periode batas waktu, dalam hitungan detik, untuk koneksi TCP idle dalam keadaan mapan. Min: 60 detik. Maks: 432000 detik (5 hari). Default: 432.000 detik. Direkomendasikan: Kurang dari 432000 detik.
      + Batas **waktu UDP** — Periode batas waktu, dalam hitungan detik, untuk arus UDP idle yang telah melihat lalu lintas hanya dalam satu arah atau satu transaksi permintaan-respons. Min: 30 detik. Maks: 60 detik. Default: 30 detik.
      + Batas **waktu aliran UDP** — Periode batas waktu, dalam hitungan detik, untuk aliran UDP idle diklasifikasikan sebagai aliran yang telah melihat lebih dari satu transaksi permintaan-respons. Min: 60 detik. Maks: 180 detik (3 menit). Default: 180 detik.

1. Untuk **Grup keamanan**, pilih satu atau beberapa grup keamanan.

1. Pilih **Buat antarmuka jaringan**.

------
#### [ AWS CLI ]

**Untuk membuat EFA**  
Gunakan perintah [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html). Untuk`--interface-type`, tentukan `efa` untuk antarmuka jaringan EFA atau `efa-only` untuk antarmuka jaringan khusus EFA.

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --interface-type efa \
    --description "my efa"
```

------
#### [ PowerShell ]

**Untuk membuat EFA**  
Gunakan [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html)cmdlet. Untuk`-InterfaceType`, tentukan `efa` antarmuka jaringan EFA atau `efa-only` untuk antarmuka jaringan khusus EFA

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -InterfaceType efa `
    -Description "my efa"
```

------

## Memasang EFA ke instans yang dihentikan
<a name="efa-attach"></a>

Anda dapat memasang EFA ke instans yang didukung yang sedang dalam keadaan `stopped`. Anda tidak dapat memasang EFA ke instans yang sedang dalam keadaan `running`. Untuk informasi lebih lanjut tentang tipe instans yang didukung, lihat [Tipe instans yang didukung](efa.md#efa-instance-types).

Anda memasang EFA ke instans dengan cara yang sama seperti Anda memasang antarmuka jaringan ke suatu instans. Untuk informasi selengkapnya, lihat [Lampirkan antarmuka jaringan](network-interface-attachments.md#attach_eni).

## Memasang EFA saat meluncurkan instans
<a name="efa-launch"></a>

------
#### [ AWS CLI ]

**Untuk melampirkan EFA yang ada saat meluncurkan instance**  
Gunakan perintah [run-instance](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) dengan opsi. `--network-interfaces` Untuk antarmuka jaringan utama, tentukan antarmuka jaringan EFA dan`NetworkCardIndex=0`,`DeviceIndex=0`. Untuk melampirkan beberapa antarmuka jaringan EFA, lihat. [Maksimalkan bandwidth jaringan](efa-acc-inst-types.md)

```
--network-interfaces "NetworkCardIndex=0, \
    DeviceIndex=0, \
    NetworkInterfaceId=eni-1234567890abcdef0, \
    Groups=sg-1234567890abcdef0, \
    SubnetId=subnet-0abcdef1234567890"
```

**Untuk melampirkan EFA baru saat meluncurkan instance**  
Gunakan perintah [run-instance](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) dengan opsi. `--network-interfaces` Untuk antarmuka jaringan utama, gunakan`NetworkCardIndex=0`,`DeviceIndex=0`, dan`InterfaceType=efa`. Jika Anda melampirkan beberapa antarmuka jaringan EFA, lihat. [Maksimalkan bandwidth jaringan](efa-acc-inst-types.md)

```
--network-interfaces "NetworkCardIndex=0, \
    DeviceIndex=0, \
    InterfaceType=efa, \
    Groups=sg-1234567890abcdef0, \
    SubnetId=subnet-0abcdef1234567890"
```

------
#### [ PowerShell ]

**Untuk melampirkan EFA yang ada saat meluncurkan instance**  
Gunakan [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)cmdlet dengan parameter. `-NetworkInterfaces`

```
-NetworkInterface $networkInterface
```

Tentukan antarmuka jaringan sebagai berikut.

```
$networkInterface = New-Object Amazon.EC2.Model.InstanceNetworkInterfaceSpecification
$networkInterface.DeviceIndex = 0
$networkInterface.NetworkInterfaceId = "eni-1234567890abcdef0"
$networkInterface.Groups = @("sg-1234567890abcdef0")
$networkInterface.SubnetId = "subnet-0abcdef1234567890"
```

**Untuk melampirkan EFA baru saat meluncurkan instance**  
Gunakan [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)cmdlet dengan parameter. `-NetworkInterfaces`

```
-NetworkInterface $networkInterface
```

Tentukan antarmuka jaringan sebagai berikut.

```
$networkInterface = New-Object Amazon.EC2.Model.InstanceNetworkInterfaceSpecification
$networkInterface.DeviceIndex = 0
$networkInterface.InterfaceType = "efa"
$networkInterface.Groups = @("sg-1234567890abcdef0")
$networkInterface.SubnetId = "subnet-0abcdef1234567890"
```

------

## Menambahkan EFA ke templat peluncuran
<a name="efa-launch-template"></a>

Anda dapat membuat templat peluncuran yang berisi informasi konfigurasi yang diperlukan untuk meluncurkan instans yang diaktifkan EFA. Anda dapat menentukan antarmuka jaringan khusus EFA dan EFA di template peluncuran. Untuk membuat templat peluncuran yang diaktifkan EFA, buat templat peluncuran baru dan tentukan tipe instans yang didukung, AMI yang diaktifkan EFA Anda, dan grup keamanan yang diaktifkan EFA. Untuk`NetworkInterfaces`, tentukan antarmuka jaringan EFA untuk dilampirkan. Untuk antarmuka jaringan utama, gunakan`NetworkCardIndex=0`,`DeviceIndex=0`, dan`InterfaceType=efa`. Jika Anda melampirkan beberapa antarmuka jaringan EFA, lihat. [Maksimalkan bandwidth jaringan pada instans Amazon EC2 dengan beberapa kartu jaringan](efa-acc-inst-types.md)

Anda dapat memanfaatkan template peluncuran untuk meluncurkan instans berkemampuan EFA dengan AWS layanan lain, seperti atau. [AWS Batch[AWS ParallelCluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html)](https://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html)

Untuk informasi lebih lanjut tentang membuat templat peluncuran, lihat [Buat template peluncuran Amazon EC2](create-launch-template.md).

# Lepaskan dan hapus EFA dari instans Amazon EC2
<a name="detach-efa"></a>

Anda dapat melepaskan EFA dari instans Amazon EC2 dan menghapusnya dengan cara yang sama seperti antarmuka network elastis lainnya di Amazon EC2.

## Melepas EFA
<a name="efa-detach"></a>

Untuk melepas EFA dari suatu instans, Anda harus menghentikan terlebih dahulu proses tersebut. Anda tidak dapat melepas EFA dari instans yang sedang berjalan.

Anda melepas EFA dari instans dengan cara yang sama seperti cara Anda melepas antarmuka jaringan dari suatu instans. Untuk informasi selengkapnya, lihat [Lepaskan antarmuka jaringan](network-interface-attachments.md#detach_eni).

## Menghapus EFA
<a name="efa-delete"></a>

Untuk menghapus EFA, Anda harus melepasnya terlebih dahulu dari instans. Anda tidak dapat menghapus EFA saat masih terpasang di suatu instans.

Anda menghapus dengan EFAs cara yang sama seperti Anda menghapus antarmuka jaringan elastis. Untuk informasi selengkapnya, lihat [Menghapus antarmuka jaringan](delete_eni.md).

# Pantau Adaptor Kain Elastis di Amazon EC2
<a name="efa-working-monitor"></a>

Anda dapat menggunakan fitur-fitur berikut untuk memantau performa Elastic Fabric Adapters Anda.

**Topics**
+ [Metrik driver EFA untuk instans Amazon EC2](#efa-driver-metrics)
+ [Log alur Amazon VPC](#efa-flowlog)
+ [Amazon CloudWatch](#efa-cloudwatch)

## Metrik driver EFA untuk instans Amazon EC2
<a name="efa-driver-metrics"></a>

Driver Elastic Fabric Adapter (EFA) menerbitkan beberapa metrik dari instans yang memiliki antarmuka EFA terpasang, secara real time. Anda dapat menggunakan metrik ini untuk memecahkan masalah kinerja aplikasi dan jaringan, memilih ukuran klaster yang tepat untuk beban kerja, merencanakan aktivitas penskalaan secara proaktif, dan benchmark aplikasi untuk menentukan apakah metrik tersebut memaksimalkan kinerja EFA yang tersedia pada sebuah instans.

**Topics**
+ [Metrik driver EFA yang tersedia](#available-efa-metrics)
+ [Ambil metrik driver EFA untuk instans Anda](#view-efa-driver-metrics)

### Metrik driver EFA yang tersedia
<a name="available-efa-metrics"></a>

Driver EFA menerbitkan metrik berikut ke instans secara real time. Mereka menyediakan jumlah kumulatif kesalahan, peristiwa koneksi, dan paket atau byte yang dikirim, diterima, dikirim ulang, atau dijatuhkan oleh perangkat EFA yang terpasang sejak peluncuran instance atau reset driver terakhir.


| Metrik | Deskripsi | Tipe instans yang didukung | 
| --- | --- | --- | 
| tx\$1bytes |  Jumlah byte yang ditransmisikan. Satuan: byte  | Semua jenis instans yang mendukung EFA | 
| rx\$1bytes |  Jumlah byte yang diterima. Satuan: byte  | Semua jenis instans yang mendukung EFA | 
| tx\$1pkts |  Jumlah paket yang ditransmisikan. Satuan: hitung  | Semua jenis instans yang mendukung EFA | 
| rx\$1pkts |  Jumlah paket yang diterima. Satuan: hitung  | Semua jenis instans yang mendukung EFA | 
| rx\$1drops |  Jumlah paket yang diterima dan kemudian dijatuhkan. Satuan: hitung  | Semua jenis instans yang mendukung EFA | 
| send\$1bytes |  Jumlah byte yang dikirim menggunakan operasi kirim. Satuan: byte  | Semua jenis instans yang mendukung EFA | 
| recv\$1bytes |  Jumlah byte yang diterima oleh operasi kirim. Satuan: byte  | Semua jenis instans yang mendukung EFA | 
| send\$1wrs |  Jumlah paket yang dikirim menggunakan operasi kirim. Satuan: hitung  | Semua jenis instans yang mendukung EFA | 
| recv\$1wrs |  Jumlah paket yang diterima oleh operasi kirim. Satuan: hitung  | Semua jenis instans yang mendukung EFA | 
| rdma\$1write\$1wrs |  Jumlah operasi penulisan rdma yang diselesaikan. Satuan: hitung  | Semua jenis instans yang mendukung EFA | 
| rdma\$1read\$1wrs |  Jumlah operasi baca rdma yang selesai. Satuan: hitung  | Semua jenis instans yang mendukung EFA | 
| rdma\$1write\$1bytes |  Jumlah byte ditulis untuk itu oleh instance lain menggunakan operasi rdma write. Satuan: byte  | Semua jenis instans yang mendukung EFA | 
| rdma\$1read\$1bytes |  Jumlah byte yang diterima menggunakan operasi baca rdma. Satuan: byte  | Semua jenis instans yang mendukung EFA | 
| rdma\$1write\$1wr\$1err |  Jumlah operasi penulisan rdma yang memiliki kesalahan lokal atau jarak jauh. Satuan: hitung  | Semua jenis instans yang mendukung EFA | 
| rdma\$1read\$1wr\$1err |  Jumlah operasi baca rdma yang memiliki kesalahan lokal atau jarak jauh. Satuan: hitung  | Semua jenis instans yang mendukung EFA | 
| rdma\$1read\$1resp\$1bytes |  Jumlah byte yang dikirim sebagai tanggapan terhadap operasi baca rdma. Satuan: byte  | Semua jenis instans yang mendukung EFA | 
| rdma\$1write\$1recv\$1bytes |  Jumlah byte yang diterima oleh operasi penulisan rdma. Satuan: byte  | Semua jenis instans yang mendukung EFA | 
| retrans\$1bytes |  Jumlah byte EFA SRD yang ditransmisikan kembali. Satuan: hitung  | Nitro v4 dan jenis instans yang lebih baru yang mendukung EFA | 
| retrans\$1pkts |  Jumlah paket EFA SRD yang ditransmisikan kembali. Satuan: byte  | Nitro v4 dan jenis instans yang lebih baru yang mendukung EFA | 
| retrans\$1timeout\$1events |  Jumlah waktu lalu lintas EFA SRD habis dan mengakibatkan perubahan jalur jaringan. Satuan: hitung  | Nitro v4 dan jenis instans yang lebih baru yang mendukung EFA | 
| impaired\$1remote\$1conn\$1events |  Berapa kali koneksi EFA SRD memasuki keadaan terganggu, sehingga mengurangi batas tingkat throughput. Satuan: hitung  | Nitro v4 dan jenis instans yang lebih baru yang mendukung EFA | 
| unresponsive\$1remote\$1events |  Berapa kali koneksi jarak jauh EFA SRD tidak responsif. Satuan: hitung  | Nitro v4 dan jenis instans yang lebih baru yang mendukung EFA | 

Untuk informasi selengkapnya tentang jenis instans yang mendukung EFA, lihat[Tipe instans yang didukung](efa.md#efa-instance-types).

### Ambil metrik driver EFA untuk instans Anda
<a name="view-efa-driver-metrics"></a>

Anda dapat menggunakan alat baris perintah [rdma-tool](https://man7.org/linux/man-pages/man8/rdma.8.html) untuk mengambil metrik untuk semua antarmuka EFA yang dilampirkan ke instance sebagai berikut:

```
$ rdma -p statistic show
link rdmap0s31/1 
    tx_bytes 0 
    tx_pkts 0 
    rx_bytes 0 
    rx_pkts 0 
    rx_drops 0 
    send_bytes 0 
    send_wrs 0 
    recv_bytes 0 
    recv_wrs 0 
    rdma_read_wrs 0 
    rdma_read_bytes 0 
    rdma_read_wr_err 0 
    rdma_read_resp_bytes 0 
    rdma_write_wrs 0 
    rdma_write_bytes 0 
    rdma_write_wr_err 0
    retrans_bytes 0
    retrans_pkts 0
    retrans_timeout_events 0
    unresponsive_remote_events 0
    impaired_remote_conn_events 0
```

Atau, Anda dapat mengambil metrik untuk setiap antarmuka EFA yang dilampirkan ke instance dari file sys menggunakan perintah berikut.

```
$ more /sys/class/infiniband/device_number/ports/port_number/hw_counters/* | cat
```

Sebagai contoh

```
$ more /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/* | cat
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/lifespan
::::::::::::::
12
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_resp_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_wr_err
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_recv_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_wr_err
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/recv_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/recv_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_drops
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_pkts
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/send_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/send_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/tx_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/tx_pkts
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/retrans_bytes
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/retrans_pkts
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/retrans_timeout_events
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/unresponsive_remote_events
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/impaired_remote_conn_events
::::::::::::::
0
```

## Log alur Amazon VPC
<a name="efa-flowlog"></a>

Anda dapat membuat Amazon VPC Flow Log untuk menangkap informasi tentang lalu lintas ke dan dari EFA. Data log aliran dapat dipublikasikan ke Amazon CloudWatch Logs dan Amazon S3. Setelah membuat log alur, Anda dapat mengambil dan melihat datanya di tujuan yang dipilih. Untuk informasi selengkapnya, lihat [Log Alur VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) di *Panduan Pengguna Amazon VPC*.

Anda membuat log alur untuk EFA dengan cara yang sama dengan cara Anda membuat log alur untuk antarmuka jaringan yang elastis. Untuk informasi selengkapnya, lihat [Membuat log alur](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-flow-logs.html#create-flow-log) di *Panduan Pengguna Amazon VPC*.

Dalam entri log alur, lalu lintas EFA diidentifikasi oleh `srcAddress` dan `destAddress`, yang keduanya diformat sebagai alamat MAC, sebagaimana ditunjukkan dalam contoh berikut.

```
version accountId  eniId        srcAddress        destAddress       sourcePort destPort protocol packets bytes start      end        action log-status
2       3794735123 eni-10000001 01:23:45:67:89:ab 05:23:45:67:89:ab -          -        -        9       5689  1521232534 1524512343 ACCEPT OK
```

## Amazon CloudWatch
<a name="efa-cloudwatch"></a>

Jika Anda menggunakan EFA di klaster Amazon EKS, Anda dapat memantau EFAs penggunaan CloudWatch Container Insights. Amazon CloudWatch Container Insights mendukung semua [metrik driver EFA](#efa-driver-metrics), kecuali:,`retrans_bytes`,, `retrans_pkts``retrans_timeout_events`, `unresponsive_remote_events` dan. `impaired_remote_conn_events`

*Untuk informasi selengkapnya, lihat [metrik Amazon EKS dan Kubernetes Container Insights di Panduan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-enhanced-EKS.html#Container-Insights-metrics-EFA) Pengguna Amazon. CloudWatch *

# Memverifikasi penginstal EFA menggunakan checksum
<a name="efa-verify"></a>

Anda dapat secara opsional memverifikasi tarball EFA (`.tar.gz`file) menggunakan atau checksum. MD5 SHA256 Kami menyarankan Anda melakukan hal ini untuk memverifikasi identitas penerbit perangkat lunak dan memeriksa apakah aplikasi tersebut belum diubah atau rusak sejak file tersebut diterbitkan.

**Untuk memverifikasi tarball**  
Gunakan utilitas **md5sum** untuk MD5 checksum, atau utilitas **sha256sum untuk checksum**, dan tentukan nama file SHA256 tarball. Anda harus menjalankan perintah dari direktori tempat Anda menyimpan file tarball.
+ MD5

  ```
  $  md5sum tarball_filename.tar.gz
  ```
+ SHA256

  ```
  $  sha256sum tarball_filename.tar.gz
  ```

Perintah tersebut harus mengembalikan nilai checksum dalam format berikut.

```
checksum_value tarball_filename.tar.gz
```

Bandingkan nilai checksum yang dikembalikan oleh perintah dengan nilai checksum yang diberikan dalam tabel di bawah ini. Jika checksum cocok, skrip penginstalan dapat dijalankan dengan aman. Jika checksum tidak cocok, jangan jalankan skrip instalasi, dan hubungi Dukungan.

Misalnya, perintah berikut memverifikasi tarball EFA 1.9.4 menggunakan checksum. SHA256 

```
$  sha256sum aws-efa-installer-1.9.4.tar.gz
```

Contoh output:

```
1009b5182693490d908ef0ed2c1dd4f813cc310a5d2062ce9619c4c12b5a7f14 aws-efa-installer-1.9.4.tar.gz
```

Tabel berikut mencantumkan checksum untuk versi EFA terbaru.


| Versi | Checksum | 
| --- | --- | 
| EFA 1.47.0 |  **MD5: **`c81d4caf24dabc04a6e4818590620f5f` **SHA256: **`2df4201e046833c7dc8160907bee7f52b76ff80ed147376a2d0ed8a0dd66b2db`  | 
| EFA 1.46.0 |  **MD5: a88bbd9b71624d7ca401b54bc2fc0c19** `` **SHA256: **`8302bd7849afb95c903a875d7dcb6f85b3d7629e9a8b67d020031cfc6f4d0ee1`  | 
| EFA 1.45.1 |  **MD5: 91c3c87e16bbcaca1513252c38b771bb** `` **SHA256: **`9aeb20c645135b6039cc08986d8f14e63280f7839e882a74df5e83627ffeaa17`  | 
| EFA 1.45.0 |  **MD5:** 800aeddfa9d9c5f139a7b8f7c4fec627 `` **SHA256: **`25ba26a0877fe3317390dc126aad2f23e27fc461cf0b940004f032cb342fa539`  | 
| EFA 1.44.0 |  **MD5: d024f6bebe080db42745103b84ca7c43** `` **SHA256: **`f129a5b44a49d593d247e55a59eb9bcb57121566e1c2e42b832a4e794fa83d8a`  | 
| EFA 1.43.3 |  **MD5: **`4dbc6eeecc516760253c10cbedb6319d` **SHA256: **`6c470ebce254c7165347b5048895ac2996c88567271642297f4c597738300652`  | 
| EFA 1.43.2 |  **MD5: **`7287b25a07c9747c0d4001e8fc5f59b2` **SHA256: **`de15c5bdbc83b952afbde876110830c604ad0796680e5157c05f7c1979a41069`  | 
| EFA 1.43.1 |  **MD5: **`7cfafc8debaea51dd4966fa0b2bba673` **SHA256: 54211eda0c193138ee8ed09b5fb41c41fc76fe0a77935fa4ec8d989466342740** ``  | 
| EFA 1.43.0 |  **MD5: **`f2b3dd7dc8670b541f7c23fd58e5e503` **SHA256: **`786df3458c499237be33bb8e50ffd4da7c18c20e254380ffc80fb90833d8cc73`  | 
| EFA 1.42.0 |  **MD5: **`94b2b1db09da1dde08ec049db1f24370` **SHA256: **`4114fe612905ee05083ae5cb391a00a012510f3abfecc642d86c9a5ae4be9008`  | 
| EFA 1.41.0 |  **MD5: **`086181c3ee3f8da512fc6e1c795e8936` **SHA256: **`3506354cdfbe31ff552fe75f5d0d9bb7efd29cf79bd99457347d29c751c38f9f`  | 
| EFA 1.40.0 |  **MD5: **`f3ec6f73fbeaccba082327507581157c` **SHA256: **`30491b0fe7c3470d4439594538855c981b05fa69862d74f8c05eb9b97912368a`  | 
| EFA 1.39.0 |  **MD5: **`c223d5954a85a7fbcd248c942b866e43` **SHA256: **`2cbc028c03064633bb990782b47c36156637769e2f48704417a9c700a7a32101`  | 
| EFA 1.38.1 |  **MD5: **`f112569e828ab65187777f794bab542c` **SHA256: **`83923374afd388b1cfcf4b3a21a2b1ba7cf46a01a587f7b519b8386cb95e4f81`  | 
| EFA 1.38.0 |  **MD5: **`43a2a446b33a2506f40853d55059f1ea` **SHA256: **`4f436954f35ad53754b4d005fd8d0be63de3b4184de41a695b504bdce0fecb22`  | 
| EFA 1.37.0 |  **MD5: **`6328070192bae920eca45797ad4c1db1` **SHA256: **`2584fc3c8bb99f29b3285e275747ff09d67c18e162c2a652e36c976b72154bfb`  | 
| EFA 1.36.0 |  **MD5: **`1bec83180fbffb23452ab6469ca21dfa` **SHA256: **`de183f333cfb58aeb7908a67bf9106985ba3ccb7f8638b851d2a0d8dbfacaec4`  | 
| EFA 1.35.0 |  **MD5: **`252f03c978dca5f8e8d9f34e488b256e` **SHA256: **`432b6ad4368ba0cd8b902729d14a908a97be7a3dcc5239422ea994a47f35a5e1`  | 
| EFA 1.34.0 |  **MD5: **`5cd4b28d27a31677c16139b54c9acb45` **SHA256: **`bd68839e741b0afd3ec2e37d50603803cfa7a279c120f0a736cc57c2ff2d7fdc`  | 
| EFA 1.33.0 |  **MD5: **`e2f61fccbcaa11e2ccfddd3660522276` **SHA256: **`0372877b87c6a7337bb7791d255e1053b907d030489fb2c3732ba70069185fce`  | 
| EFA 1.32.0 |  **MD5: **`db8d65cc028d8d08b5a9f2d88881c1b1` **SHA256: **`5f7233760be57f6fee6de8c09acbfbf59238de848e06048dc54d156ef578fc66`  | 
| EFA 1.31.0 |  **MD5: **`856352f12bef2ccbadcd75e35aa52aaf` **SHA256: **`943325bd37902a4300ac9e5715163537d56ecb4e7b87b37827c3e547aa1897bf`  | 
| EFA 1.30.0 |  **MD5: **`31f48e1a47fe93ede8ebd273fb747358` **SHA256: **`876ab9403e07a0c3c91a1a34685a52eced890ae052df94857f6081c5f6c78a0a`  | 
| EFA 1.29.1 |  **MD5: **`e1872ca815d752c1d7c2b5c175e52a16` **SHA256: **`178b263b8c25845b63dc93b25bcdff5870df5204ec509af26f43e8d283488744`  | 
| EFA 1.29.0 |  **MD5: **`39d06a002154d94cd982ed348133f385` **SHA256: **`836655f87015547e733e7d9f7c760e4e24697f8bbc261bb5f3560abd4206bc36`  | 
| EFA 1.28.0 |  **MD5: **`9dc13b7446665822605e66febe074035` **SHA256: **`2e625d2d6d3e073b5178e8e861891273d896b66d03cb1a32244fd56789f1c435`  | 
| EFA 1.27.0 |  **MD5: **`98bfb515ea3e8d93f554020f3837fa15` **SHA256: **`1d49a97b0bf8d964d91652a79ac851f2550e33a5bf9d0cf86ec9357ff6579aa3`  | 
| EFA 1.26.1 |  **MD5: **`884e74671fdef4725501f7cd2d451d0c` **SHA256: **`c616994c924f54ebfabfab32b7fe8ac56947fae00a0ff453d975e298d174fc96`  | 
| EFA 1.26.0 |  **MD5: **`f8839f12ff2e3b9ba09ae8a82b30e663` **SHA256: **`bc1abc1f76e97d204d3755d2a9ca307fc423e51c63141f798c2f15be3715aa11`  | 
| EFA 1.25.1 |  **MD5: **`6d876b894547847a45bb8854d4431f18` **SHA256: **`d2abc553d22b89a4ce92882052c1fa6de450d3a801fe005da718b7d4b9602b06`  | 
| EFA 1.25.0 |  **MD5: **`1993836ca749596051da04694ea0d00c` **SHA256: **`98b7b26ce031a2d6a93de2297cc71b03af647194866369ca53b60d82d45ad342`  | 
| EFA 1.24.1 |  **MD5: **`211b249f39d53086f3cb0c07665f4e6f` **SHA256: **`120cfeec233af0955623ac7133b674143329f9561a9a8193e473060f596aec62`  | 
| EFA 1.24.0 |  **MD5: **`7afe0187951e2dd2c9cc4b572e62f924` **SHA256: **`878623f819a0d9099d76ecd41cf4f569d4c3aac0c9bb7ba9536347c50b6bf88e`  | 
| EFA 1.23.1 |  **MD5: **`22491e114b6ee7160a8290145dca0c28` **SHA256: **`5ca848d8e0ff4d1571cd443c36f8d27c8cdf2a0c97e9068ebf000c303fc40797`  | 
| EFA 1.23.0 |  **MD5: **`38a6d7c1861f5038dba4e441ca7683ca` **SHA256: **`555d497a60f22e3857fdeb3dfc53aa86d05926023c68c916d15d2dc3df6525bd`  | 
| EFA 1.22.1 |  **MD5: **`600c0ad7cdbc06e8e846cb763f92901b` **SHA256: **`f90f3d5f59c031b9a964466b5401e86fd0429272408f6c207c3f9048254e9665`  | 
| EFA 1.22.0 |  **MD5: **`8f100c93dc8ab519c2aeb5dab89e98f8` **SHA256: **`f329e7d54a86a03ea51da6ea9a5b68fb354fbae4a57a02f9592e21fce431dc3a`  | 
| EFA 1.21.0 |  **MD5: **`959ccc3a4347461909ec02ed3ba7c372` **SHA256: **`c64e6ca34ccfc3ebe8e82d08899ae8442b3ef552541cf5429c43d11a04333050`  | 
| EFA 1.20.0 |  **MD5: **`7ebfbb8e85f1b94709df4ab3db47913b` **SHA256: **`aeefd2681ffd5c4c631d1502867db5b831621d6eb85b61fe3ec80df983d1dcf0`  | 
| EFA 1.19.0 |  **MD5: **`2fd45324953347ec5518da7e3fefa0ec` **SHA256: **`99b77821b9e72c8dea015cc92c96193e8db307deee05b91a58094cc331f16709`  | 
| EFA 1.18.0 |  **MD5: **`fc2571a72f5d3c7b7b576ce2de38d91e` **SHA256: **`acb18a0808aedb9a5e485f1469225b9ac97f21db9af78e4cd6939700debe1cb6`  | 
| EFA 1.17.3 |  **MD5: **`0517df4a190356ab559235147174cafd` **SHA256: **`5130998b0d2883bbae189b21ab215ecbc1b01ae0231659a9b4a17b0a33ebc6ca`  | 
| EFA 1.17.2 |  **MD5: **`a329dedab53c4832df218a24449f4c9a` **SHA256: **`bca1fdde8b32b00346e175e597ffab32a09a08ee9ab136875fb38283cc4cd099`  | 
| EFA 1.17.1 |  **MD5: **`733ae2cfc9d14b52017eaf0a2ab6b0ff` **SHA256: **`f29322640a88ae9279805993cb836276ea240623820848463ca686c8ce02136f`  | 
| EFA 1.17.0 |  **MD5: **`d430fc841563c11c3805c5f82a4746b1` **SHA256: **`75ab0cee4fb6bd38889dce313183f5d3a83bd233e0a6ef6205d8352821ea901d`  | 
| EFA 1.16.0 |  **MD5: **`399548d3b0d2e812d74dd67937b696b4` **SHA256: **`cecec36495a1bc6fdc82f97761a541e4fb6c9a3cbf3cfcb145acf25ea5dbd45b`  | 
| EFA 1.15.2 |  **MD5: **`955fea580d5170b05823d51acde7ca21` **SHA256: **`84df4fbc1b3741b6c073176287789a601a589313accc8e6653434e8d4c20bd49`  | 
| EFA 1.15.1 |  **MD5: **`c4610267039f72bbe4e35d7bf53519bc` **SHA256: **`be871781a1b9a15fca342a9d169219260069942a8bda7a8ad06d4baeb5e2efd7`  | 
| EFA 1.15.0 |  **MD5: **`9861694e1cc00d884fadac07d22898be` **SHA256: **`b329862dd5729d2d098d0507fb486bf859d7c70ce18b61c302982234a3a5c88f`  | 
| EFA 1.14.1 |  **MD5: **`50ba56397d359e57872fde1f74d4168a` **SHA256: **`c7b1b48e86fe4b3eaa4299d3600930919c4fe6d88cc6e2c7e4a408a3f16452c7`  | 
| EFA 1.14.0 |  **MD5: **`40805e7fd842c36ececb9fd7f921b1ae` **SHA256: **`662d62c12de85116df33780d40e0533ef7dad92709f4f613907475a7a1b60a97`  | 
| EFA 1.13.0 |  **MD5: **`c91d16556f4fd53becadbb345828221e` **SHA256: **`ad6705eb23a3fce44af3afc0f7643091595653a723ad0374084f4f2b715192e1`  | 
| EFA 1.12.3 |  **MD5: **`818aee81f097918cfaebd724eddea678` **SHA256: **`2c225321824788b8ca3fbc118207b944cdb096b847e1e0d1d853ef2f0d727172`  | 
| EFA 1.12.2 |  **MD5: **`956bb1fc5ae0d6f0f87d2e481d49fccf` **SHA256: **`083a868a2c212a5a4fcf3e4d732b685ce39cceb3ca7e5d50d0b74e7788d06259`  | 
| EFA 1.12.1 |  **MD5: **`f5bfe52779df435188b0a2874d0633ea` **SHA256: **`5665795c2b4f09d5f3f767506d4d4c429695b36d4a17e5758b27f033aee58900`  | 
| EFA 1.12.0 |  **MD5: **`d6c6b49fafb39b770297e1cc44fe68a6` **SHA256: **`28256c57e9ecc0b0778b41c1f777a9982b4e8eae782343dfe1246079933dca59`  | 
| EFA 1.11.2 |  **MD5: **`2376cf18d1353a4551e35c33d269c404` **SHA256: **`a25786f98a3628f7f54f7f74ee2b39bc6734ea9374720507d37d3e8bf8ee1371`  | 
| EFA 1.11.1 |  **MD5: **`026b0d9a0a48780cc7406bd51997b1c0` **SHA256: **`6cb04baf5ffc58ddf319e956b5461289199c8dd805fe216f8f9ab8d102f6d02a`  | 
| EFA 1.11.0 |  **MD5: **`7d9058e010ad65bf2e14259214a36949` **SHA256: **`7891f6d45ae33e822189511c4ea1d14c9d54d000f6696f97be54e915ce2c9dfa`  | 
| EFA 1.10.1 |  **MD5: **`78521d3d668be22976f46c6fecc7b730` **SHA256: **`61564582de7320b21de319f532c3a677d26cc46785378eb3b95c636506b9bcb4`  | 
| EFA 1.10.0 |  **MD5: **`46f73f5a7afe41b4bb918c81888fefa9` **SHA256: **`136612f96f2a085a7d98296da0afb6fa807b38142e2fc0c548fa986c41186282`  | 
| EFA 1.9.5 |  **MD5: **`95edb8a209c18ba8d250409846eb6ef4` **SHA256: **`a4343308d7ea4dc943ccc21bcebed913e8868e59bfb2ac93599c61a7c87d7d25`  | 
| EFA 1.9.4 |  **MD5: **`f26dd5c350422c1a985e35947fa5aa28` **SHA256: **`1009b5182693490d908ef0ed2c1dd4f813cc310a5d2062ce9619c4c12b5a7f14`  | 
| EFA 1.9.3 |  **MD5: **`95755765a097802d3e6d5018d1a5d3d6` **SHA256: **`46ce732d6f3fcc9edf6a6e9f9df0ad136054328e24675567f7029edab90c68f1`  | 
| EFA 1.8.4 |  **MD5: **`85d594c41e831afc6c9305263140457e` **SHA256: **`0d974655a09b213d7859e658965e56dc4f23a0eee2dc44bb41b6d039cc5bab45`  | 

# Catatan rilis Adaptor Kain Elastis
<a name="efa-changelog"></a>

Tabel berikut menjelaskan riwayat versi dan changelog untuk perangkat lunak Adaptor Kain Elastis.


| Versi | Perubahan | Tanggal rilis | 
| --- | --- | --- | 
| 1.47.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Januari 29, 2026 | 
| 1.46.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Desember 12, 2025 | 
| 1.45.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | November 26, 2025 | 
| 1.45.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | November 17, 2025 | 
| 1.44.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 29, 2025 | 
| 1.43.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 01, 2025 | 
| 1.43.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agustus 15, 2025 | 
| 1.43.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 31, 2025 | 
| 1.43.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 25, 2025 | 
| 1.42.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juni 6, 2025 | 
| 1.41.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | 16 Mei 2025 | 
| 1.40.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | 2 Mei 2025 | 
| 1.39.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | April 16, 2025 | 
| 1.38.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Maret 3, 2025 | 
| 1.38.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Januari 8, 2025 | 
| 1.37.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | November 18, 2024 | 
| 1.36.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | November 7, 2024 | 
| 1.35.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 14, 2024 | 
| 1.34.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agustus 6, 2024 | 
| 1.33.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juni 20, 2024 | 
| 1.32.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | April 18, 2024 | 
| 1.31.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | 7 Maret 2024 | 
| 1.30.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Desember 2023 | 
| 1.29.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Desember 2023 | 
| 1.29.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | November 2023 | 
| 1.28.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 2023 | 
| 1.27.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | September 2023 | 
| 1.26.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | September 2023 | 
| 1.26.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | September 2023 | 
| 1.25.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | September 2023 | 
| 1.25.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 2023 | 
| 1.24.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 2023 | 
| 1.24.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juni 2023 | 
| 1.23.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juni 2023 | 
| 1.23.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Mei 2023 | 
| 1.22.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Maret 2023 | 
| 1.22.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Februari 2023 | 
| 1.21.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Desember 2022 | 
| 1.20.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | November 2022 | 
| 1.19.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 2022 | 
| 1.18.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agustus 2022 | 
| 1.17.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agustus 2022 | 
| 1.17.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 2022 | 
| 1.17.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 2022 | 
| 1.17.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 2022 | 
| 1.16.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juni 2022 | 
| 1.15.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Mei 2022 | 
| 1.15.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Maret 2022 | 
| 1.15.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Februari 2022 | 
| 1.14.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 2021 | 
| 1.14.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 2021 | 
| 1.13.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agustus 2021 | 
| 1.12.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 2021 | 
| 1.12.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juni 2021 | 
| 1.12.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Mei 2021 | 
| 1.12.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Mei 2021 | 
| 1.11.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Februari 2021 | 
| 1.11.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Desember 2020 | 
| 1.11.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Desember 2020 | 
| 1.10.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | November 2020 | 
| 1.10.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 2020 | 
| 1.9.5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | September 2020 | 
| 1.9.4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 2020 | 
| 1.9.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juni 2020 | 
| 1.8.4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | April 2020 | 
| 1.8.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Februari 2020 | 
| 1.8.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Januari 2020 | 
| 1.8.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Januari 2020 | 
| 1.8.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Desember 2019 | 
| 1.7.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Desember 2019 | 
| 1.7.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | November 2019 | 
| 1.6.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 2019 | 
| 1.6.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Oktober 2019 | 
| 1.5.4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | September 2019 | 
| 1.5.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | September 2019 | 
| 1.5.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agustus 2019 | 
| 1.5.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Agustus 2019 | 
| 1.4.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 2019 | 
| 1.4.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/efa-changelog.html)  | Juli 2019 | 