Berikut adalah cara untuk melakukan segala setup, mulai dari SSH, cara menggunakan server, hingga apa yang harus dilakukan jika melakukan additional changes.
- Buka direktori kumpulan ssh yang disediakan asisten disini, kemudian download
k02-05
dank02-05.pub
. - Jika menggunakan WSL, setelah di download, pindahkan SSH key (keduanya) ke directory WSL
(/home/[username]/)
. Bukan pada directory Windows(/mnt/[drive letter]/[any]/**/*)
. Masukkan kedanya di folder.ssh
. - Edit permission SSH key dengan
chmod
.$ chmod 600 ~/.ssh/k02-05 $ chmod 644 ~/.ssh/k02-05.pub
- Add SSH key nya agar tercatat sebagai known host.
$ ssh-add ~/.ssh/k02-05
- Ubah authorization keys SSH nya agar available.
Selanjutnya akan muncul code editor nano. Jika berhasil, sekarang buka
$ cd ~/.ssh/ $ sudo nano authorized_keys
k02-05.pub
, lalu salin semua isinya dan paste di code editor nano. Jika sudah, jangan lupa untuk melakukan save (Ctrl + S
) dan exit (Ctrl + X
). - Sekarang setup
sshd_config
nya agar setiap coba akses ke server tidak selalu meminta password.Selanjutnya akan muncul code editor nano. Jika berhasil, masukkan 2 permission ini ke code editor nano nya.$ cd .. $ sudo nano /etc/ssh/sshd_config
Jika sudah, jangan lupa untuk melakukan save (PasswordAuthentication no PubkeyAuthentication yes
Ctrl + S
) dan exit (Ctrl + X
). - Jika semua langkah diatas sudah dilakukan, SSH sudah siap untuk menembak server!
-
Hubungkan dengan salah satu server menggunakan SSH melewati IP publik. IP publik yang disediakan asisten, ada 2 yaitu.
4.145.183.206 4.145.178.6
Kita akan menggunakan IP publik yang pertama, lakukan dengan run command berikut.
$ ssh [email protected]
Jika sudah berhasil, seharusnya program akan minta permission, ketik
yes
. -
Dalam kondisi masih terhubung dengan salah satu server, lakukan SSH ke semua server dengan IP private.
- Jika SSH key public 4.145.183.206, maka private nya ada 10.0.1.7 dan 10.0.1.4
- Jika SSH key public 4.145.178.6, maka private nya ada 10.0.1.6 dan 10.0.1.5
Caranya, tanpa merubah apapun, ketik dua command berikut secara bergantian (dalam kasus ini, digunakan IP publik pertama).
$ ssh [email protected] $ ssh [email protected]
-
Putuskan koneksi SSH ke server dan kembali ke local. Caranya tinggal ketik
exit
hingga kembali.$ exit
-
Masuk ke directory tucil (dalam kondisi menggunakan WSL), Buat file hostname dengan isi semua IP privat yang dipisahkan dengan newline. Dapat dilakukan dengan menjalankan command berikut.
$ echo -e "10.0.1.7\n10.0.1.4" > hostname
-
Compile program yang baru saja dibuat dengan command berikut.
- Untuk Serial, jalankan command dibawah.
$ make compile-serial
- Untuk MPI, jalankan command dibawah.
$ make compile-mpi
- Untuk OpenMP, jalankan command dibawah.
$ make compile-openmp
Selanjutnya, salin executable, test cases, makefile, dan result folder ke semua server menggunakan
scp
. Dapat dilakukan dengan menjalankan command berikut.$ make copy-server
- Untuk Serial, jalankan command dibawah.
-
Jika langkah sebelumnya berhasil, maka Anda akan masuk ke dalam server publik. Langkah berikutnya, adalah mendistribusikan isinya ke semua server private dengan mengetikkan command berikut.
$ make copy-branch-server
Kemudian untuk menjalankan program ketikkan command dibawah.
- Untuk Serial, jalankan command dibawah.
$ make serial
- Untuk MPI, chmod +x executable dan jalankan dengan mpirun, pada command dibawah, MPI dijalankan dengan 4 process.
$ make mpi
- Untuk OpenMP, chmod +x executable dan jalankan dengan mpirun, pada command dibawah.
Sebagai catatan, untuk OpenMP tidak perlu melakukan copy branch server.
$ make openmp
- Untuk Serial, jalankan command dibawah.
-
Jika semua prosedur diatas dijalankan, maka seharusnya program dapat berjalan dengan baik!
Pastikan sistem yang digunakan memiliki Nvidia GPU yang telah terkonfigurasi dengan baik. Jika tidak memiliki sistem dengan spesifikasi tersebut, gunakan Google Colaboratory. Berikut adalah tautan Google Colaboratory kami.
Jika sebelumnya sudah melakukan prosedur diatas dan melakukan perubahan yang ingin di update, maka kedepannya yang perlu dilakukan hanya run command berikut.
- Untuk Serial, jalankan command di bawah.
$ make compile-serial $ make copy-server $ make serial
- Untuk MPI, jalankan command di bawah.
Untuk menjalankannya secara lokal, jalankan command dibawah.
$ make compile-mpi $ make copy-server $ make copy-branch-server $ make mpi
Untuk menjalankan debugger dengan$ make compile-mpi $ make mpi-local
valgrind
(pastikan sudah menginstall sebelumnya), jalankan command dibawah.Anda juga dapat mengubah konfigurasi jumlah proses dengan mengubah langsung konfigurasi makefile.$ make compile-mpi $ make mpi-debug
- Untuk OpenMP, baik secara lokal maupun server, jalankan command di bawah.
$ make compile-openmp $ make openmp
- Untuk CUDA, jalankan command di bawah.
$ make compile-cuda $ make cuda