LAMMPS: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (paraphrasing membedakan CPU dan GPU) |
WilsonLisan (bicara | kontrib) (paraphrasing CPU - GPU) |
||
Baris 4: | Baris 4: | ||
== '''Modul LAMMPS''' == | == '''Modul LAMMPS''' == | ||
ALELEON Supercomputer menyediakan LAMMPS yang dapat berjalan di CPU dan dengan akselerasi GPU. Berikut adalah detail versi LAMMPS yang tersedia secara global di ALELEON Supercomputer: | |||
{| class="wikitable" | {| class="wikitable" | ||
|+LAMMPS versi CPU | |+LAMMPS versi CPU | ||
Baris 56: | Baris 56: | ||
[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]] | [[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]] | ||
== '''Menjalankan LAMMPS | == '''Menjalankan LAMMPS di CPU''' == | ||
User dapat menjalankan LAMMPS | User dapat menjalankan LAMMPS di CPU dengan pilihan cara menjalankan komputasi: | ||
===[[Menggunakan ALELEON Supercomputer via EFIRO#3A - Menjalankan Komputasi ke Compute Node via Job Composer|EFIRO Job Composer]]=== | ===[[Menggunakan ALELEON Supercomputer via EFIRO#3A - Menjalankan Komputasi ke Compute Node via Job Composer|EFIRO Job Composer]]=== | ||
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template LAMMPS versi CPU yang tersedia: | Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template LAMMPS versi CPU yang tersedia: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Template Job Composer LAMMPS versi CPU | |||
!Nama Template | !Nama Template | ||
!Penjelasan | !Penjelasan | ||
|- | |- | ||
|LAMMPS 2023.02.08 (CPU) | |LAMMPS 2023.02.08 (CPU) | ||
|Menjalankan LAMMPS versi 2023.02.08 | |Menjalankan LAMMPS versi 2023.02.08 di CPU | ||
|} | |} | ||
===[[Menggunakan ALELEON Supercomputer via Terminal#3 - Menjalankan Komputasi ke Compute Node via SLURM|SLURM sbatch via Terminal]]=== | ===[[Menggunakan ALELEON Supercomputer via Terminal#3 - Menjalankan Komputasi ke Compute Node via SLURM|SLURM sbatch via Terminal]]=== | ||
Menjalankan komputasi pada terminal melalui job submission SLURM sbatch. Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS | Menjalankan komputasi pada terminal melalui job submission SLURM sbatch. Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS di CPU. Perhatikan nama modul mengacu versi LAMMPS yang akan digunakan. | ||
{| class="wikitable mw-collapsible" | {| class="wikitable mw-collapsible" | ||
!Contoh SLURM Submit Script LAMMPS versi CPU | !Contoh SLURM Submit Script LAMMPS versi CPU | ||
Baris 116: | Baris 117: | ||
INPUT_FILE='////' | INPUT_FILE='////' | ||
# Memuat modul software LAMMPS | # Memuat modul software LAMMPS versi CPU | ||
module load lammps//// | module load lammps//// | ||
Baris 146: | Baris 147: | ||
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template LAMMPS versi akselerasi GPU yang tersedia: | Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template LAMMPS versi akselerasi GPU yang tersedia: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Template Job Composer LAMMPS versi GPU | |||
!Nama Template | !Nama Template | ||
!Penjelasan | !Penjelasan | ||
Baris 209: | Baris 211: | ||
module load lammps//// | module load lammps//// | ||
# DAFTAR MODUL LAMMPS: | # DAFTAR MODUL LAMMPS versi GPU: | ||
# --------------------------------------------------------- | # --------------------------------------------------------- | ||
# | Nama modul | Versi LAMMPS | | # | Nama modul | Versi LAMMPS | |
Revisi per 17 April 2023 10.27
LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) adalah framework molekular dinamik untuk pemodelan material (material modelling). LAMMPS adalah software open-source di bawah lisensi GPL v2.
Modul LAMMPS
ALELEON Supercomputer menyediakan LAMMPS yang dapat berjalan di CPU dan dengan akselerasi GPU. Berikut adalah detail versi LAMMPS yang tersedia secara global di ALELEON Supercomputer:
Versi | Nama modul | Modul
DEFAULT |
Dukungan hardware | |||
---|---|---|---|---|---|---|
CPU | GPU | OMP
Threading |
MPI
multi-node | |||
2023.02.08 | lammps/2023.02.08-GCC12.2-FFTW3-CUDA12 | V | V | V | V | V |
Versi | Nama modul | Modul
DEFAULT |
Dukungan hardware | |||
---|---|---|---|---|---|---|
CPU | GPU | OMP
Threading |
MPI
multi-node | |||
2023.02.08 | lammps/2023.02.08-GCC12.2-FFTW3-CUDA12 | V | V | V | V | V |
Permintaan Instalasi Package LAMMPS
Apabila user menjumpai error package LAMMPS yang hilang (missing package), silahkan lapor ke admin lengkap dengan nama package yang dibutuhkan supaya dapat dilakukan proses instalasinya melalui:
Menjalankan LAMMPS di CPU
User dapat menjalankan LAMMPS di CPU dengan pilihan cara menjalankan komputasi:
EFIRO Job Composer
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template LAMMPS versi CPU yang tersedia:
Nama Template | Penjelasan |
---|---|
LAMMPS 2023.02.08 (CPU) | Menjalankan LAMMPS versi 2023.02.08 di CPU |
SLURM sbatch via Terminal
Menjalankan komputasi pada terminal melalui job submission SLURM sbatch. Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS di CPU. Perhatikan nama modul mengacu versi LAMMPS yang akan digunakan.
Contoh SLURM Submit Script LAMMPS versi CPU |
---|
#!/bin/bash # ------------------------------------------------------------------------ # | Template SLURM Submit Script # | Software : LAMMPS # | Versi : tergantung input user # | Update script : 07/03/2023 # | # | NOTES: # | 1. Isi bagian yang ditandai 4 garing (////). # | 2. Template ini adalah referensi - user dapat mengubah bagian yang # | sekiranya perlu diubah. # | 3. Panduan mengisi alokasi komputasi (SBATCH) menurut spesifikasi # | ALELEON Supercomputer lihat: # | https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer # ------------------------------------------------------------------------ # -------------------------------------------------- # Alokasi komputasi, modul software, dan file input # -------------------------------------------------- # Alokasi jumlah compute node #SBATCH --nodes=//// # Alokasi jumlah core thread CPU #SBATCH --ntasks=//// # Alokasi jumlah memori RAM (satuan GB) #SBATCH --mem=////GB # Alokasi limit waktu menjalankan job #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 # Nama input file LAMMPS dengan format file-nya INPUT_FILE='////' # Memuat modul software LAMMPS versi CPU module load lammps//// # DAFTAR MODUL LAMMPS versi CPU: # --------------------------------------------------------- # | Nama modul | Versi LAMMPS | # --------------------------------------------------------- # | lammps/2023.02.08-GCC12.2-FFTW3-CUDA12 | 2023.02.08 | # --------------------------------------------------------- # ------------------------------------------------- # RUN SCRIPT # ------------------------------------------------- # Perintah menjalankan LAMMPS mpirun --mca pml ucx --mca osc ucx --np $SLURM_NTASKS lmp -in $INPUT_FILE |
Menjalankan LAMMPS dengan Akselerasi GPU
Terdapat beberapa hal khusus dan rekomendasi yang harus diperhatikan ketika menjalankan LAMMPS dengan akselerasi GPU untuk menghasilkan performa optimal yaitu:
- Menggunakan 2 atau 4 core thread CPU per jumlah GPU.
- Menggunakan threading OpenMP (OMP; OMP_NUM_THREAD) dengan jumlah 2 untuk kebanyakan komputasi.
- Atau gunakan jumlah 4 untuk beban komputasi yang besar.
Berikutnya user dapat menjalankan LAMMPS dengan pilihan:
EFIRO Job Composer
Menjalankan komputasi dengan tampilan grafis pada formulir job submission EFIRO Job Composer. Berikut adalah pilihan template LAMMPS versi akselerasi GPU yang tersedia:
Nama Template | Penjelasan |
---|---|
LAMMPS 2023.02.08 (GPU) | Menjalankan LAMMPS versi 2023.02.08 dengan akselerasi GPU |
SLURM sbatch via Terminal
Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS dengan akselerasi GPU. Perhatikan nama modul mengacu versi LAMMPS yang akan digunakan.
Contoh SLURM Submit Script LAMMPS dengan akselerasi GPU |
---|
#!/bin/bash # ------------------------------------------------------------------------ # | Template SLURM Submit Script # | Software : LAMMPS # | Versi : tergantung input user # | Update script : 07/03/2023 # | # | NOTES: # | 1. Isi bagian yang ditandai 4 garing (////). # | 2. Template ini adalah referensi - user dapat mengubah bagian yang # | sekiranya perlu diubah. # | 3. Panduan mengisi alokasi komputasi (SBATCH) menurut spesifikasi # | ALELEON Supercomputer lihat: # | https://wiki.efisonlt.com/wiki/Submit_Script_ALELEON_Supercomputer # ------------------------------------------------------------------------ # -------------------------------------------------- # Alokasi komputasi, modul software, dan file input # -------------------------------------------------- # Partisi compute node GPU #SBATCH --partition=ampere # Alokasi jumlah GPU #SBATCH --gpus=//// # Alokasi jumlah core thread CPU #SBATCH --ntasks=//// # Rekomendasi 2 thread OMP secara umum #SBATCH --cpus-per-task=2 # Alokasi jumlah memori RAM (satuan GB) #SBATCH --mem=////GB # Alokasi limit waktu menjalankan job #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 # Nama input file LAMMPS dengan format file-nya INPUT_FILE='////' # Memuat modul software LAMMPS versi GPU module load lammps//// # DAFTAR MODUL LAMMPS versi GPU: # --------------------------------------------------------- # | Nama modul | Versi LAMMPS | # --------------------------------------------------------- # | lammps/2023.02.08-GCC12.2-FFTW3-CUDA12 | 2023.02.08 | # --------------------------------------------------------- # ------------------------------------------------- # RUN SCRIPT # ------------------------------------------------- # Export threading OMP export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK # Perintah menjalankan LAMMPS mpirun --mca pml ucx --mca osc ucx --np $SLURM_NTASKS lmp -sf gpu -pk gpu $SLURM_GPUS -in $INPUT_FILE |
Notifikasi Status Jalannya Job Submission via email
SLURM ALELEON Supercomputer dapat mengirim notifikasi email kepada user untuk mengabarkan apabila job user sudah berjalan atau selesai. SLURM ALELEON Supercomputer menggunakan nama email Jojo untuk mengirim notifikasi email.
Silahkan tambahan SBATCH berikut pada SLURM Submit Script (dapat ditambahkan setelah SBATCH error) apabila user ingin menerima notifikasi email dari SLURM:
#SBATCH --mail-user=<alamat-email-user> #SBATCH --mail-type=begin #SBATCH --mail-type=end
- mail-user
- Alamat email user untuk menerima notifikasi SLURM
- mail-type=begin
- Notifikasi email yang menginfokan job sudah berjalan.
- mail-type=end
- Notifikasi email yang menginfokan job sudah selesai.
- Sekaligus memberikan cuplikan 20 baris terakhir dari file output SBATCH output dan error job user.