LAMMPS: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→Permintaan Instalasi Package LAMMPS: menambah gambar laporan kendala) |
WilsonLisan (bicara | kontrib) (→Menjalankan LAMMPS: memisahkan CPU dan GPU plus update info GPU) |
||
Baris 20: | Baris 20: | ||
|V | |V | ||
|V | |V | ||
| | | V | ||
|V | |V | ||
|} | |} | ||
Baris 38: | Baris 38: | ||
|V | |V | ||
|V | |V | ||
| | | V | ||
|V | |V | ||
|} | |} | ||
Baris 52: | Baris 52: | ||
* Jumlah GPU yang didefinisikan pada file input harus sesuai dengan jumlah GPU pada SLURM Submit Script. | * Jumlah GPU yang didefinisikan pada file input harus sesuai dengan jumlah GPU pada SLURM Submit Script. | ||
== '''Menjalankan LAMMPS''' == | == '''Menjalankan LAMMPS (Versi CPU)''' == | ||
User dapat menjalankan LAMMPS dengan pilihan: | User dapat menjalankan LAMMPS dengan pilihan: | ||
Baris 63: | Baris 63: | ||
|LAMMPS 2023.02.08 (CPU) | |LAMMPS 2023.02.08 (CPU) | ||
|Menjalankan LAMMPS versi 2023.02.08 pada CPU saja | |Menjalankan LAMMPS versi 2023.02.08 pada CPU saja | ||
|} | |} | ||
===[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#4_-_Menjalankan_Komputasi_ke_Compute_Node_via_SLURM_sbatch SLURM sbatch via Terminal]=== | ===[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#4_-_Menjalankan_Komputasi_ke_Compute_Node_via_SLURM_sbatch SLURM sbatch via Terminal]=== | ||
Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS baik versi CPU | Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS baik versi CPU. Untuk nama modul software lihat tabel pada subbab "'''Modul LAMMPS"''' diatas. | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Contoh SLURM Submit Script LAMMPS versi CPU | !Contoh SLURM Submit Script LAMMPS versi CPU | ||
Baris 131: | Baris 128: | ||
mpirun --mca pml ucx --mca osc ucx --np $SLURM_NTASKS lmp -in $INPUT_FILE | mpirun --mca pml ucx --mca osc ucx --np $SLURM_NTASKS lmp -in $INPUT_FILE | ||
|} | |} | ||
== '''Menjalankan LAMMPS dengan Akselerasi GPU NVIDIA''' == | |||
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 CPU per jumlah GPU. | |||
* Menggunakan threading OpenMP (OMP_NUM_THREAD) dengan jumlah 4. | |||
Berikutnya user dapat menjalankan LAMMPS dengan pilihan: | |||
===[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_EFIRO#3_-_Menjalankan_Komputasi_ke_Compute_Node_via_Job_Composer EFIRO Job Composer]=== | |||
Dengan pilihan template yang tersedia: | |||
{| class="wikitable" | |||
!Nama Template | |||
!Penjelasan | |||
|- | |||
|LAMMPS 2023.02.08 (GPU) | |||
|Menjalankan LAMMPS versi 2023.02.08 dengan optimasi khusus untuk GPU | |||
|} | |||
===[https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#4_-_Menjalankan_Komputasi_ke_Compute_Node_via_SLURM_sbatch 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. | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Contoh SLURM Submit Script LAMMPS yang dapat berjalan di GPU | !Contoh SLURM Submit Script LAMMPS yang dapat berjalan di GPU | ||
Baris 140: | Baris 157: | ||
Template SLURM Submit Script | Template SLURM Submit Script | ||
Software : LAMMPS versi | Software : LAMMPS versi GPU | ||
Versi : tergantung input user | Versi : tergantung input user | ||
Update script : | Update script : 15/02/2023 | ||
NOTES: | NOTES: | ||
Baris 155: | Baris 172: | ||
4. Daftar modul software LAMMPS lihat: | 4. Daftar modul software LAMMPS lihat: | ||
<nowiki>https://wiki.efisonlt.com/wiki/LAMMPS#Modul_LAMMPS</nowiki> | <nowiki>https://wiki.efisonlt.com/wiki/LAMMPS#Modul_LAMMPS</nowiki> | ||
5. Rekomendasi alokasi SBATCH optimal: | |||
> ntasks antara 2 atau 4 per jumlah GPU | |||
> OMP_NUM_THREAD=4 | |||
README | README | ||
Baris 170: | Baris 191: | ||
# Alokasi jumlah core thread CPU | # Alokasi jumlah core thread CPU | ||
#SBATCH --ntasks=//// | #SBATCH --ntasks=//// | ||
# Rekomendasi 4 thread CPU per ntasks | |||
#SBATCH --cpus-per-task=4 | |||
# Alokasi jumlah memori RAM (satuan GB) | # Alokasi jumlah memori RAM (satuan GB) | ||
Baris 192: | Baris 216: | ||
# RUN SCRIPT | # RUN SCRIPT | ||
# ------------------------------------------------- | # ------------------------------------------------- | ||
# Export threading OMP | |||
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK | |||
# Perintah menjalankan LAMMPS | # Perintah menjalankan LAMMPS | ||
mpirun --mca pml ucx --mca osc ucx --np $SLURM_NTASKS lmp -in $INPUT_FILE | mpirun --mca pml ucx --mca osc ucx --np $SLURM_NTASKS lmp -sf gpu -pk gpu $SLURM_GPUS -in $INPUT_FILE | ||
|} | |} |
Revisi per 15 Februari 2023 08.02
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 di GPU NVIDIA
ALELEON Supercomputer menyediakan LAMMPS yang dapat berjalan di GPU NVIDIA (versi 2023.02.08). User harus menyiapkan file input yang tepat supaya LAMMPS dapat berjalan di GPU NVIDIA.
- Jumlah GPU yang didefinisikan pada file input harus sesuai dengan jumlah GPU pada SLURM Submit Script.
Menjalankan LAMMPS (Versi 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 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 NVIDIA
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 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 yang dapat berjalan di GPU |
---|
#!/bin/bash echo <<README Template SLURM Submit Script Software : LAMMPS versi GPU Versi : tergantung input user Update script : 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 > OMP_NUM_THREAD=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 4 thread CPU per ntasks #SBATCH --cpus-per-task=4 # 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 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 |