

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

# 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.