CP2K
CP2K adalah package untuk quantum chemistry dan solid state physics yang dapat melakukan simulasi liquid, molekolar, periodik, material, kristal, dan sistem biologis. CP2K menggunakan pemodelan DFT dengan pendekatan Gaussian and plane waves GPW dan GAPW.
Modul CP2K
ALELEON Supercomputer menyediakan CP2K yang dapat berjalan di CPU dan dengan akselerasi GPU. Berikut adalah detail versi CP2K yang tersedia secara global di ALELEON Supercomputer:
Versi | Nama modul | Modul
DEFAULT |
Dukungan hardware | |||
---|---|---|---|---|---|---|
CPU | GPU | OMP
Threading |
MPI
multi-node | |||
9.1 | cp2k/9.1-GCC10-MKL | V | V | - | - | V |
Versi | Nama modul | Modul
DEFAULT |
Dukungan hardware | |||
---|---|---|---|---|---|---|
CPU | GPU | OMP
Threading |
MPI
multi-node | |||
9.1 | cp2k/9.1-GCC10-MKL-CUDA | V | V | V | - | V |
Menjalankan CP2K di CPU
User dapat menjalankan CP2K 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 CP2K versi CPU yang tersedia:
Nama Template | Penjelasan |
---|---|
CP2K 9.1 (CPU) | Menjalankan CP2K versi 9.1 di CPU |
SLURM sbatch via Terminal
Menjalankan komputasi pada terminal melalui job submission SLURM sbatch. Berikut adalah contoh referensi Submit Script untuk menjalankan CP2K di CPU. Perhatikan nama modul mengacu versi CP2K yang akan digunakan.
Contoh SLURM Submit Script CP2K versi CPU |
---|
#!/bin/bash # ------------------------------------------------------------------------ # | Template SLURM Submit Script # | Software : CP2K # | Versi : tergantung input user # | Update script : 17/04/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 CP2K dengan format file-nya INPUT_FILE='////.inp' # Memuat modul software CP2K versi CPU module load cp2k//// # DAFTAR MODUL CP2K versi CPU: # --------------------------------------- # | Nama modul | Versi CP2K | # --------------------------------------- # | cp2k/9.1-GCC10-MKL | 9.1 | # --------------------------------------- # ------------------------------------------------- # RUN SCRIPT # ------------------------------------------------- # Perintah menjalankan CP2K mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx cp2k.zen2 $INPUT_FILE |
Menjalankan CP2K dengan Akselerasi GPU
Saat ini CP2K versi akselerasi GPU sedang dalam tahap pengujian dengan referensi SLURM Submit Script yang digunakan oleh tim admin:
SLURM Submit Script tim admin untuk menguji CP2K versi GPU |
---|
#!/bin/bash #SBATCH --partition=ampere #SBATCH --gres=gpu:1 #SBATCH --ntasks=9 #jumlah ideal menurut dokumentasi CP2K #SBATCH --mem=64GB #SBATCH --time=24:00:00 #SBATCH --output=result-%j.txt #SBATCH --error=error-%j.txt # Nama input file CP2K dengan format file-nya INPUT_FILE='////.inp' # Memuat modul software CP2K versi GPU module load cp2k/9.1-GCC10-MKL-CUDA # ------------------------------------------------- # RUN SCRIPT # ------------------------------------------------- # Unset UCX supaya MPI berjalan di NVIDIA unset UCX_TLS unset UCX_NET_DEVICES # Perintah menjalankan CP2K mpirun -np $SLURM_NTASKS --mca pml ucx --mca osc ucx cp2k.zen2 $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.