LAMMPS: Perbedaan antara revisi

Dari ALELEON by EFISON
(fix link tutorial)
(→‎SLURM sbatch via Terminal: fix link tutorial)
Baris 68: Baris 68:
|Menjalankan LAMMPS versi 2023.02.08 pada CPU saja
|Menjalankan LAMMPS versi 2023.02.08 pada CPU saja
|}
|}
===[[Menggunakan ALELEON Supercomputer via Terminal#4 - Menjalankan Komputasi ke Compute Node via SLURM sbatch|SLURM sbatch via Terminal]]===
===[[Menggunakan ALELEON Supercomputer via Terminal#3 - Menjalankan Komputasi ke Compute Node via SLURM|SLURM sbatch via Terminal]]===
Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS versi CPU. Perhatikan nama modul mengacu versi LAMMPS yang akan digunakan.
Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS versi CPU. Perhatikan nama modul mengacu versi LAMMPS yang akan digunakan.
{| class="wikitable mw-collapsible"
{| class="wikitable mw-collapsible"
Baris 152: Baris 152:
|Menjalankan LAMMPS versi 2023.02.08 dengan akselerasi GPU
|Menjalankan LAMMPS versi 2023.02.08 dengan akselerasi GPU
|}
|}
===[[Menggunakan ALELEON Supercomputer via Terminal#4 - Menjalankan Komputasi ke Compute Node via SLURM sbatch|SLURM sbatch via Terminal]]===
===[[Menggunakan ALELEON Supercomputer via Terminal#3 - Menjalankan Komputasi ke Compute Node via SLURM|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.
Berikut adalah contoh referensi Submit Script untuk menjalankan LAMMPS dengan akselerasi GPU. Perhatikan nama modul mengacu versi LAMMPS yang akan digunakan.
{| class="wikitable mw-collapsible"
{| class="wikitable mw-collapsible"

Revisi per 13 Maret 2023 05.36

Lammps-logo.png

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:

LAMMPS versi CPU
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
LAMMPS yang dapat berjalan di GPU
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:

Wiki-pelaporankendala.jpg

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 versi 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: 
# ---------------------------------------------------------
# | 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

Dengan pilihan template 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: 
# ---------------------------------------------------------
# | 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