DFTB+: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (placeholder DFTB+ hingga terminal) |
WilsonLisan (bicara | kontrib) (→Pilihan MPI atau Threading OpenMP untuk Menjalankan DFTB+: paraphrasing) |
||
(19 revisi perantara oleh pengguna yang sama tidak ditampilkan) | |||
Baris 1: | Baris 1: | ||
[[Berkas:DFTB logo.png|nirbing|200x200px]] | [[Berkas:DFTB logo.png|nirbing|200x200px]] | ||
[https://dftbplus.org/ '''DFTB+'''] adalah software package yang versatil untuk simulasi ''mechanical quantum''. DFTB+ | [https://dftbplus.org/ '''DFTB+'''] adalah software package yang versatil untuk simulasi ''mechanical quantum''. DFTB+ merupakan software tidak berbayar dengan lisensi ''GNU Lesser General Public License''. | ||
== '''Modul DFTB+''' == | == '''Modul DFTB+''' == | ||
Baris 8: | Baris 8: | ||
! rowspan="2" |Versi | ! rowspan="2" |Versi | ||
! rowspan="2" |Nama modul | ! rowspan="2" |Nama modul | ||
! colspan="4" |Dukungan hardware | ! colspan="4" |Dukungan hardware | ||
|- | |- | ||
Baris 21: | Baris 19: | ||
|22.2 | |22.2 | ||
|dftbplus/22.2-GCC11.3-AOCL4.0 | |dftbplus/22.2-GCC11.3-AOCL4.0 | ||
|V | |V | ||
| - | | - | ||
Baris 27: | Baris 24: | ||
|V | |V | ||
|} | |} | ||
== '''Menyiapkan File Slaster-Koster (SK)''' == | |||
File input DFTB+ membutuhkan file '''Slater-Koster (SK)''' pada bagian Hamiltonian yang bisa didapatkan pada tautan berikut. File dalam format .tar sehingga perlu di ekstrak. | |||
* [https://dftb.org/parameters/download '''Halaman utama Download File SK'''] | |||
* [https://dftb.org/parameters/download/all-sk-files '''File SK dalam satu archive'''] | |||
Admin menyarankan menaruh / upload folder SK pada direktori HOME supaya dapat diakses oleh banyak job. | |||
'''$HOME'''''/<folder-file-SK-yang-dibutuhkan>'' | |||
Pastikan file input dftb_in.hsd pada bagian Hamiltonian menunjuk direktori file SK spesifik pada HOME tersebut. | |||
== '''File Input dftb_in.hsd''' == | |||
User membuat file input DFTB+ dengan nama file '''<code>dftb_in.hsd</code>'''. | |||
* Pastikan bagian Hamiltonian di file input menunjuk direktori file SK yang tepat. | |||
===[[ | == '''Pilihan MPI atau Threading OpenMP untuk Menjalankan DFTB+''' == | ||
DFTB+ 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: | |||
{| class="wikitable" | *''Penjelasan submit script lihat subbab berikutnya (Pilihan Menjalankan Komputasi).'' | ||
! | *'''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,''' 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,''' isi jumlah ntasks dengan 1: | |||
''# Pure OMP'' | |||
'''#SBATCH --ntasks=1''' | |||
'''#SBATCH --cpus-per-task='''''[isi-sesuai-keinginan]'' | |||
=='''Pilihan Menjalankan Komputasi'''== | |||
User dapat memilih metode menjalankan komputasi sesuai keinginan: ''<small>(klik expand / kembangkan)</small>'' | |||
*'''Job submission terminal''' | |||
** ''Berjalan di [[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]] melalui manajemen Slurm.'' | |||
* '''Job submission web EFIRO''' | |||
**''Berjalan di [[Spesifikasi ALELEON Supercomputer#Spesifikasi%20Compute%20Node|compute node]] melalui manajemen Slurm via web EFIRO.'' | |||
===Job Submission Terminal=== | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!Langkah Job Submission Terminal | |||
[[Berkas:Sbatch Terminal.png|tepi|400x400px]] | |||
|- | |||
!1 | |||
|- | |||
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#Login_SSH Login SSH]''' ke ALELEON Supercomputer. | |||
|- | |||
!2 | |||
|- | |||
| Siapkan file komputasi yang dibutuhkan. | |||
* File input dftb_in.hsd yang dibuat user. | |||
*User dapat upload / download file dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | |||
|- | |||
! 3A | |||
|- | |||
|Buat '''Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi. | |||
* Nama file bebas dengan format .sh, contoh '''<code>submit.sh</code>''' | |||
|- | |||
! | |||
|- | |||
|Contoh template Submit Script, ikuti petunjuk NOTES didalamnya. | |||
*''<small>Klik expand / kembangkan</small>'' | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!Template Submit Script DFTB+ | |||
|- | |- | ||
|DFTB+ | |<syntaxhighlight lang="bash" line="1"> | ||
#!/bin/bash | |||
# ----------------------------------------------------- | |||
# Template SLURM Submit Script | |||
# DFTB+ | rev.080124 | |||
# | |||
# NOTES: | |||
# 1. Isi bagian yang ditandai 4 garing (////). | |||
# 2. Template ini bersifat referensi. | |||
# User dapat mengubah bagian yang perlu diubah. | |||
# 3. Perhatikan rate CCH = ntasks * cpus-per-task. | |||
# ----------------------------------------------------- | |||
# ----------------------------------------------------- | |||
# Alokasi komputasi SBATCH, input, dan module | |||
# ----------------------------------------------------- | |||
# Alokasi jumlah core thread CPU. mewakili jumlah task MPI | |||
#SBATCH --ntasks=//// | |||
# Alokasi jumlah thread OMP per task MPI | |||
#SBATCH --cpus-per-task=//// | |||
# Alokasi jumlah memori RAM (satuan GB) | |||
#SBATCH --mem=////GB | |||
# Alokasi limit waktu menjalankan job | |||
# Format HH:MM:SS atau D-HH:MM:SS | |||
#SBATCH --time=//// | |||
# Definisi file untuk menampung output terminal | |||
#SBATCH --output=result-%j.txt | |||
# Definisi file untuk menampung output error log | |||
#SBATCH --error=error-%j.txt | |||
# Memuat modul software DFTB+ | |||
# Daftar modul lihat subbab "Modul DFTB+" di atas | |||
module load dftbplus//// | |||
# ---------------------------------------------------- | |||
# Script jalannya program | |||
# ---------------------------------------------------- | |||
# Definisi threading OMP | |||
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} | |||
# Perintah menjakankan DFTB+ | |||
mpirun -np ${SLURM_NTASKS} dftb+ | |||
</syntaxhighlight> | |||
|} | |} | ||
|- | |||
| | |||
*''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>'' | |||
* | *''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>'' | ||
* Apabila ingin | |- | ||
!3B | |||
|- | |||
|'''SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit''' berdasarkan: | |||
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']]. | |||
*Spesifikasi sistem dan software komputasi. | |||
Untuk melihat limit, jalankan perintah berikut: | |||
'''$ slimit-hympi''' | |||
|- | |||
!4 | |||
|- | |||
|Jalankan job komputasi dengan perintah: | |||
$ '''sbatch ''[nama-submit-script]''''' | |||
''Contoh:'' | |||
$ sbatch submit.sh | |||
|- | |||
!5 | |||
|- | |||
|User dapat melihat status jalannya job dengan perintah: | |||
'''<code>$ squeue -ul $USER</code>''' | |||
{| class="wikitable" | |||
! colspan="2" |''Kolom ST atau STATE menunjukkan status jalannya job.'' | |||
|- | |||
! STATE | |||
! Penjelasan | |||
|- | |||
| R (RUN) | |||
|Job berjalan | |||
|- | |||
|PD (PENDING) | |||
|Job tertahan, lihat [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']] | |||
|- | |||
| CG (COMPLETING) | |||
|Job selesai dan dalam proses clean-up | |||
|- | |||
|CA (CANCELED) | |||
|Job dibatalkan user | |||
|- | |||
|PR (PREEMPETED) | |||
|Job dibatalkan admin, alasan dikabarkan via email | |||
|- | |||
|S (SUSPENDED) | |||
|Job ditahan admin, alasan dikabarkan via email | |||
|} | |||
|- | |||
! | |||
|- | |||
|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 | |||
|} | |||
===Job Submission Web EFIRO=== | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
!Langkah Job Submission Web EFIRO | |||
[[Berkas:Efirojobcomposer3.png|nirbing|400x400px]] | |||
|- | |||
!1 | |||
|- | |||
| Lakukan [https: / wiki.efisonlt.com wiki Menggunakan_ALELEON_Supercomputer_via_Terminal#1_ |'''[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#Login_Web_EFIRO Login ke web EFIRO]''' ALELEON Supercomputer. | |||
|- | |||
! 2 | |||
|- | |||
|[[Berkas:New Pinnedapps jc.png|nirbing|128x128px]]Buka pinned apps '''Job Composer''' di homepage EFIRO. | |||
Pilih menu '''<code>New Job</code>''' -> '''<code>From Template</code>''' | |||
[[Berkas:Jcnewjobmarked.png|nirbing|180x180px]] | |||
|- | |||
! 3 | |||
|- | |||
| | |||
{| class="wikitable" | |||
! colspan="2" |'''Pilih template DFTB+ yang diinginkan:''' | |||
|- | |||
!Nama Template | |||
!Penjelasan | |||
|- | |||
| DFTB+ 22.2 | |||
| Menjalankan DFTB+ versi 22.2 | |||
|}Isi '''<code>Job Name</code>''' dan klik '''<code>Create New Job</code>''' | |||
* Apabila ingin | [[Berkas:Jctemplate-2.png|nirbing]] | ||
|- | |||
!4 | |||
|- | |||
|Siapkan file komputasi yang dibutuhkan: | |||
* File input dftb_in.hsd yang dibuat user. | |||
* Upload / download / edit file via menu <code>'''Edit Files'''</code> | |||
**Untuk upload file tunggal diatas 2GB gunakan [[Upload File dengan Aplikasi FTP|'''software FTP''']]. | |||
[[Berkas:JC job menu.png|nirbing|500x500px]] | |||
|- | |||
!5A | |||
|- | |||
|Lengkapi '''Submit Script''' melalui tombol '''<code>Open Editor:</code>''' | |||
*Submit script adalah 'formulir' untuk menjalankan job komputasi. | |||
**Ikuti petunjuk NOTES didalamnya. | |||
*Klik '''<code>Save</code>''' setiap kali mengubah script. | |||
[[Berkas:Jceditor3.png|al=|nirbing|400x400px]] | |||
|- | |||
| | |||
*''<small>Info script lebih detail lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']].</small>'' | |||
*''<small>Untuk SBATCH notifikasi email status jalannya job lihat [https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer#SBATCH_untuk_notifikasi_email_SLURM '''Slurm Jojo'''].</small>'' | |||
|- | |||
!5B | |||
|- | |||
|SBATCH komputasi (ntasks, mem, time, dll) '''mempunyai limit''' berdasarkan: | |||
*Sisa Core Hour user dan [[Limitasi Fair Usage ALELEON Supercomputer|'''Fair Usage Limit''']]. | |||
*Spesifikasi sistem dan software komputasi. | |||
Untuk melihat limit, jalankan perintah ini via menu '''<code>Open Terminal</code>''': | |||
'''$ slimit-hympi''' | |||
|- | |||
!6 | |||
|- | |||
|Jalankan job dengan klik tombol '''<code>Submit</code>'''. | |||
*Pantau kolom status yang menjelaskan status jalannya job. | |||
*Apabila ingin membatalkan job yang berjalan, klik '''<code>Stop</code>'''. | |||
[[Berkas:JC job runstop.png|al=|nirbing|500x500px]] | |||
{| class="wikitable" | |||
! colspan="2" |Daftar Status Job | |||
|- | |||
!Status | |||
!Arti | |||
|- | |||
|Not Submitted | |||
|Job belum pernah dijalankan. | |||
|- | |||
|Running | |||
|Job berjalan. | |||
|- | |||
|Queue | |||
|Job mengantri dan belum berjalan. | |||
|- | |||
| Completed | |||
|Job selesai berjalan. | |||
|- | |||
|Failed | |||
|Job berhenti karena error atau di stop user. | |||
|- | |||
| colspan="2" |'''''Untuk melihat alasan job yang queue:'''''[[Berkas:Active Jobs detail.png|nir|jmpl|300x300px|''Buka pinned apps '''Active Jobs''' di homepage EFIRO. Ubah opsi All jobs ke '''Your Jobs'''. Klik simbol '''>''' untuk melihat status job yang pending pada kolom Reason. Arti reason lihat laman [[Daftar Reason NODELIST ALELEON Supercomputer|'''Daftar Reason NODELIST ALELEON Supercomputer''']].'']] | |||
|} | |||
|- | |||
!7 | |||
|- | |||
|Lihat output file komputasi pada kolom '''<code>Folder Contents</code>''' | |||
*Atau dengan membuka menu '''<code>Edit Files</code>''' | |||
[[Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|''Kolom '''<code>Folder Contents</code>'''.'']] | |||
|- | |||
!8 | |||
|- | |||
|Untuk menghapus ruang job dan datanya: | |||
*Pilih ruang job yang akan dihapus. | |||
*Klik menu '''<code>Delete</code>''' | |||
[[Berkas:JC delete menu.png|nirbing|500x500px]] | |||
|} | |||
== '''Pelaporan Kendala dan Support'''== | |||
Apabila menjumpai masalah teknis dalam menjalankan komputasi, silahkan lapor dengan klik gambar berikut ini. | |||
[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]] | |||
--- | |||
Bila terdapat pertanyaan lainnya, silahkan hubungi admin EFISON melalui email: | |||
'''support@efisonlt.com''' | |||
Revisi terkini sejak 30 September 2024 03.52
DFTB+ adalah software package yang versatil untuk simulasi mechanical quantum. DFTB+ merupakan software tidak berbayar dengan lisensi GNU Lesser General Public License.
Modul DFTB+
Berikut adalah detail versi DFTB+ yang tersedia secara global di ALELEON Supercomputer:
Versi | Nama modul | Dukungan hardware | |||
---|---|---|---|---|---|
CPU | GPU | OMP
Threading |
MPI
multi-node | ||
22.2 | dftbplus/22.2-GCC11.3-AOCL4.0 | V | - | V | V |
Menyiapkan File Slaster-Koster (SK)
File input DFTB+ membutuhkan file Slater-Koster (SK) pada bagian Hamiltonian yang bisa didapatkan pada tautan berikut. File dalam format .tar sehingga perlu di ekstrak.
Admin menyarankan menaruh / upload folder SK pada direktori HOME supaya dapat diakses oleh banyak job.
$HOME/<folder-file-SK-yang-dibutuhkan>
Pastikan file input dftb_in.hsd pada bagian Hamiltonian menunjuk direktori file SK spesifik pada HOME tersebut.
File Input dftb_in.hsd
User membuat file input DFTB+ dengan nama file dftb_in.hsd
.
- Pastikan bagian Hamiltonian di file input menunjuk direktori file SK yang tepat.
Pilihan MPI atau Threading OpenMP untuk Menjalankan DFTB+
DFTB+ 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:
- Penjelasan submit script lihat subbab berikutnya (Pilihan Menjalankan Komputasi).
- 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, 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, isi jumlah ntasks dengan 1:
# Pure OMP #SBATCH --ntasks=1 #SBATCH --cpus-per-task=[isi-sesuai-keinginan]
Pilihan Menjalankan Komputasi
User dapat memilih metode menjalankan komputasi sesuai keinginan: (klik expand / kembangkan)
- Job submission terminal
- Berjalan di compute node melalui manajemen Slurm.
- Job submission web EFIRO
- Berjalan di compute node melalui manajemen Slurm via web EFIRO.
Job Submission Terminal
Langkah Job Submission Terminal | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||
Login SSH ke ALELEON Supercomputer. | ||||||||||||||||
2 | ||||||||||||||||
Siapkan file komputasi yang dibutuhkan.
| ||||||||||||||||
3A | ||||||||||||||||
Buat Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
| ||||||||||||||||
Contoh template Submit Script, ikuti petunjuk NOTES didalamnya.
| ||||||||||||||||
| ||||||||||||||||
3B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah berikut: $ slimit-hympi | ||||||||||||||||
4 | ||||||||||||||||
Jalankan job komputasi dengan perintah:
$ sbatch [nama-submit-script] Contoh: $ sbatch submit.sh | ||||||||||||||||
5 | ||||||||||||||||
User dapat melihat status jalannya job dengan perintah:
| ||||||||||||||||
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 |
Job Submission Web EFIRO
Langkah Job Submission Web EFIRO | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||
Login ke web EFIRO ALELEON Supercomputer. | ||||||||||||||||
2 | ||||||||||||||||
![]() Pilih menu | ||||||||||||||||
3 | ||||||||||||||||
Job Name dan klik Create New Job
| ||||||||||||||||
4 | ||||||||||||||||
Siapkan file komputasi yang dibutuhkan:
| ||||||||||||||||
5A | ||||||||||||||||
Lengkapi Submit Script melalui tombol Open Editor:
| ||||||||||||||||
| ||||||||||||||||
5B | ||||||||||||||||
SBATCH komputasi (ntasks, mem, time, dll) mempunyai limit berdasarkan:
Untuk melihat limit, jalankan perintah ini via menu $ slimit-hympi | ||||||||||||||||
6 | ||||||||||||||||
Jalankan job dengan klik tombol Submit .
| ||||||||||||||||
7 | ||||||||||||||||
Lihat output file komputasi pada kolom Folder Contents
| ||||||||||||||||
8 | ||||||||||||||||
Untuk menghapus ruang job dan datanya:
|
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