OpenMX
[OpenMX] adalah software package untuk simulasi material skala nano berdasarkan DFT (Density Functional Theories), norm-conserving pseudopotensials, dan pseudo-atomic localized basis functinons. OpenMX merupakan software tidak berbayar dengan lisensi GNU GPLv3.
Modul OpenMX
Berikut adalah detail versi OpenMX yang tersedia secara global di ALELEON Supercomputer:
- Hubungi tim admin melalui email support@efisonlt.com untuk permintaan instalasi versi lain.
Versi | Nama modul | Dukungan hardware | ||||
---|---|---|---|---|---|---|
![]() |
![]() |
Parallel run | ||||
OMP1 | MPI2 | Hybrid3 | ||||
3.9.9 | openmx/3.9.9-GCC11.3-AOCL4.0
|
V | - | V | V | V |
Note:
- OMP -> komputasi berjalan multi-core CPU melalui API OpenMP.
- MPI -> komputasi berjalan multi-core CPU dan multi-node melalui protokol MPI (Message Passing Interface).
- Hybrid -> komputasi berjalan multi-core CPU dan multi-node melalui kombinasi OpenMP dan MPI.
DATA.PATH pada File Input
User wajib mendefinisikan DATA.PATH
berikut pada file input supaya OpenMX dapat berjalan. Daftar DATA.PATH
per versi OpenMX lihat tabel di bawah.
DATA.PATH [data-path-OpenMX]
Versi | DATA.PATH
|
---|---|
3.9.9 | /comp/openmx/3.9.9-GCC11.3-AOCL4.0/DFT_DATA19
|
Pilihan MPI atau Threading OpenMP untuk Menjalankan OpenMX
OpenMX di ALELEON Supercomputer dapat berjalan melalui paralelisasi MPI, OpenMP (OMP), atau keduanya (hybrid MPI/OMP) untuk menggunakan multi-core CPU dan multi-node. Admin menyerahkan keputusan kepada user untuk memilih metode paralelisasi melalui parameter Submit Script berikut:
- SBATCH ntasks mewakili jumlah task MPI sedangkan SBATCH cpus-per-task mewakili jumlah thread OMP.
#SBATCH --ntasks -> mewakili jumlah task MPI #SBATCH --cpus-per-task -> mewakili jumlah thread OpenMP
- Apabila ingin MPI saja <Pure MPI>, isi jumlah SBATCH cpus-per-task dengan 1:
# Pure MPI #SBATCH --ntasks=[isi-sesuai-keinginan] #SBATCH --cpus-per-task=1
- Apabila ingin Hybrid MPI/OMP, isi kedua parameter tersebut:
- Total core CPU yang digunakan adalah ntasks * cpus-per-task.
- Contoh menggunakan 2 proses MPI dan 4 thread OMP per MPI sehingga total menggunakan 8 core CPU:
# Hybrid MPI/OMP, contoh dengan 2 proses MPI dan 4 thread OMP per MPI. #SBATCH --ntasks=2 #SBATCH --cpus-per-task=4
- Apabila ingin OMP saja <Pure OMP>, isi jumlah ntasks dengan 1:
# Pure OMP #SBATCH --ntasks=1 #SBATCH --cpus-per-task=[isi-sesuai-keinginan]
Pilihan Menjalankan Komputasi
Berikut opsi menjalankan OpenMX, pilih sesuai kebutuhan:
Jenis Komputasi | Berjalan di |
---|---|
[Batch Job]
|
[Compute node]: |
Batch Job
Tersedia dua pilihan tampilan yaitu terminal dan web EFIRO melalui app Job Composer. Pilih sesuai keinginan.
(klik expand / kembangkan)
- Langkah Batch Job di Terminal - | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tutorial ini mengasumsikan user familiar dengan terminal Linux | ||||||||||||||
Menggunakan terminal!
| ||||||||||||||
0 | ||||||||||||||
Apakah bisa menjalankan job? | ||||||||||||||
User dengan Kredit Core Hour disarankan cek kuota terlebih dulu:
$ sausage
| ||||||||||||||
1 | ||||||||||||||
Lakukan persiapan: | ||||||||||||||
*Siapkan file komputasi yang dibutuhkan:**Upload / download file lihat [Upload / Download File HOME]
| ||||||||||||||
2A | ||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi:
$ nano submit.sh atau vim | ||||||||||||||
Contoh template Submit Script:
| ||||||||||||||
| ||||||||||||||
2B | ||||||||||||||
Berapa alokasi komputasi yang bisa digunakan? | ||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) punya limit berdasarkan:
Untuk melihat limit, jalankan perintah berikut: $ slimit-mpi
| ||||||||||||||
3 | ||||||||||||||
Jalankan job dengan perintah:
$ sbatch [nama-submit-script] Contoh: $ sbatch submit.sh | ||||||||||||||
4 | ||||||||||||||
User dapat melihat status jalannya job dengan perintah:
$ squeue -ul $USER
| ||||||||||||||
5 | ||||||||||||||
User dapat memantau file output dengan perintah Unix seperti:
| ||||||||||||||
6 | ||||||||||||||
Apabila user ingin menghentikan job yang berjalan, jalankan perintah:
$ scancel [job-ID] Job ID ada pada squeue diatas. contoh membatalkan job ID 231: $ scancel 231 | ||||||||||||||
--- |
- Langkah Batch Job di EFIRO Job Composer - | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ||||||||||||||||
Apakah bisa menjalankan job? | ||||||||||||||||
User dengan Kredit Core Hour disarankan cek kuota terlebih dulu:
$ sausage
| ||||||||||||||||
1 | ||||||||||||||||
[Login ke web EFIRO] ALELEON Supercomputer. | ||||||||||||||||
2 | ||||||||||||||||
| ||||||||||||||||
![]() New Job > From Template
| ||||||||||||||||
3 | ||||||||||||||||
Buat ruang job untuk menjalankan komputasi: | ||||||||||||||||
Create New Job
| ||||||||||||||||
4 | ||||||||||||||||
Lakukan persiapan: | ||||||||||||||||
Siapkan file komputasi yang dibutuhkan di ruang job:
Perhatikan | ||||||||||||||||
5A | ||||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor
| ||||||||||||||||
![]()
| ||||||||||||||||
| ||||||||||||||||
5B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) punya limit berdasarkan:
Untuk melihat limit, jalankan perintah berikut: $ slimit-hympi
| ||||||||||||||||
6 | ||||||||||||||||
Jalankan job dengan klik tombol Submit
| ||||||||||||||||
7 | ||||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
| ||||||||||||||||
8 | ||||||||||||||||
Apabila user ingin menghentikan job yang berjalan, klik Stop
| ||||||||||||||||
9 | ||||||||||||||||
Untuk menghapus ruang job dan datanya:
| ||||||||||||||||
--- |
Pilihan MPI atau Threading OpenMP untuk Menjalankan OpenMX
OpenMX di ALELEON Supercomputer dapat berjalan melalui paralelisasi MPI, OpenMP (OMP), atau keduanya (hybrid MPI/OMP) untuk menggunakan multi-core CPU dan multi-node. Admin menyerahkan keputusan kepada user untuk memilih metode paralelisasi melalui parameter Submit Script berikut:
- SBATCH ntasks mewakili jumlah task MPI sedangkan SBATCH cpus-per-task mewakili jumlah thread OMP.
#SBATCH --ntasks -> mewakili jumlah task MPI #SBATCH --cpus-per-task -> mewakili jumlah thread OpenMP
- Apabila ingin MPI saja <Pure MPI>, isi jumlah SBATCH cpus-per-task dengan 1:
# Pure MPI #SBATCH --ntasks=[isi-sesuai-keinginan] #SBATCH --cpus-per-task=1
- Apabila ingin Hybrid MPI/OMP, isi kedua parameter tersebut:
- Total core CPU yang digunakan adalah ntasks * cpus-per-task.
- Contoh menggunakan 2 proses MPI dan 4 thread OMP per MPI sehingga total menggunakan 8 core CPU:
# Hybrid MPI/OMP, contoh dengan 2 proses MPI dan 4 thread OMP per MPI. #SBATCH --ntasks=2 #SBATCH --cpus-per-task=4
- Apabila ingin OMP saja <Pure OMP>, isi jumlah ntasks dengan 1:
# Pure OMP #SBATCH --ntasks=1 #SBATCH --cpus-per-task=[isi-sesuai-keinginan]
Pelaporan Kendala dan Support
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini.
---
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email:
support@efisonlt.com