LAMMPS
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
Berikut adalah detail versi LAMMPS yang tersedia secara global di ALELEON Supercomputer:
Versi | Nama modul | Dukungan hardware | |||
---|---|---|---|---|---|
CPU | GPU | OMP Threading | MPI multi-node | ||
2023.02.08 | lammps/2023.02.08-GCC12.2-FFTW3-CUDA12 | V | V | V | V |
Versi | Nama modul | Dukungan hardware | |||
---|---|---|---|---|---|
CPU | GPU | OMP Threading | MPI multi-node | ||
2023.02.08 | lammps/2023.02.08-GCC12.2-FFTW3-CUDA12 | 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 pada CPU
User dapat menjalankan LAMMPS dengan pilihan:
EFIRO Job Composer
Dengan pilihan template yang tersedia:
Nama Template | Penjelasan |
---|---|
LAMMPS 2023.02.08 (CPU) | Menjalankan LAMMPS versi 2023.02.08 pada CPU saja |
SLURM sbatch via Terminal
Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS baik versi CPU. Untuk nama modul software lihat tabel pada subbab "Modul LAMMPS" diatas.
Contoh SLURM Submit Script LAMMPS versi CPU |
---|
#!/bin/bash echo <<README Template SLURM Submit Script Software : LAMMPS versi CPU Versi : tergantung input user Update script : 14/02/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 4. Daftar modul software LAMMPS lihat: https://wiki.efisonlt.com/wiki/LAMMPS#Modul_LAMMPS README # -------------------------------------------------- # 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 # Memuat modul software LAMMPS versi CPU module load lammps//// # Nama input file LAMMPS dengan format file-nya INPUT_FILE='////' # ------------------------------------------------- # 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_NUM_THREAD) dengan jumlah 4.
Berikutnya user dapat menjalankan LAMMPS dengan pilihan:
EFIRO Job Composer
Dengan pilihan template yang tersedia:
Nama Template | Penjelasan |
---|---|
LAMMPS 2023.02.08 (GPU) | Menjalankan LAMMPS versi 2023.02.08 dengan optimasi khusus untuk GPU |
SLURM sbatch via Terminal
Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS baik versi CPU. Untuk nama modul software lihat tabel pada subbab "Modul LAMMPS" diatas.
Contoh SLURM Submit Script LAMMPS dengan akselerasi GPU |
---|
#!/bin/bash echo <<README Template SLURM Submit Script Software : LAMMPS versi GPU Versi : tergantung input user Update script c: 15/02/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 4. Daftar modul software LAMMPS lihat: https://wiki.efisonlt.com/wiki/LAMMPS#Modul_LAMMPS 5. Rekomendasi alokasi SBATCH optimal: > ntasks antara 2 atau 4 per jumlah GPU > cpus-per-task direkomendasikan 2 tapi bisa dicoba 4 README # -------------------------------------------------- # 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 CPU per ntasks #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 # Memuat modul software LAMMPS versi CPU module load lammps//// # Nama input file LAMMPS dengan format file-nya INPUT_FILE='////' # ------------------------------------------------- # 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 |