การรัน Python Script บน LANTA โดยใช้โปรแกรม Apptainer

บทความนี้อธิบายวิธีการรันสคริปต์ Python บนระบบ LANTA HPC โดยใช้โปรแกรม Apptainer หัวข้อต่อไปนี้ให้ข้อมูลสรุปเนื้อหาของบทความ เพื่อให้ผู้อ่านสามารถระบุส่วนที่ต้องการอ่านได้อย่างรวดเร็ว

ตัวอย่างสคริปต์ Slurm สำหรับการเรียกใช้สคริปต์ Python

สำหรับรันงานบนเครื่อง Compute

#!/bin/bash #SBATCH -p compute # Specify partition [Compute/Memory/GPU] #SBATCH -N 1 -c 128 # Specify number of nodes and processors per task #SBATCH --ntasks-per-node=1 # Specify tasks per node #SBATCH -t 120:00:00 # Specify maximum time limit (hour: minute: second) #SBATCH -A ltxxxxxx # Specify project name #SBATCH -J JOBNAME # Specify job name module load Apptainer/1.1.6 # Load the Apptainer module apptainer exec -B $PWD:$PWD file.sif python3 file.py # Run your program
  • คำสั่ง -c ใช้ในการระบุจำนวน Core ที่จะใช้งานบนเครื่อง Compute (เต็มเครื่อง : -c 128, ครึ่งเครื่อง : -c 64, 1 ใน 4 ของเครื่อง : -c 32)

  • คำสั่ง -B $PWD:$PWD ใช้เพื่อระบุ Path ของไฟล์ Container และไฟล์สคริปต์ Python เป็น Path ที่ใช้ส่งงานของคุณไปยังระบบ Slurm ของ LANTA

สำหรับรันงานบนเครื่อง GPU

#!/bin/bash #SBATCH -p gpu # Specify partition [Compute/Memory/GPU] #SBATCH -N 1 -c 16 # Specify number of nodes and processors per task #SBATCH --gpus-per-node=4 # Specify number of GPU per task #SBATCH --ntasks-per-node=4 # Specify tasks per node #SBATCH -t 120:00:00 # Specify maximum time limit (hour: minute: second) #SBATCH -A ltxxxxxx # Specify project name #SBATCH -J JOBNAME # Specify job name module load Apptainer/1.1.6 # Load the Apptainer module apptainer exec --nv -B $PWD:$PWD file.sif python3 file.py # Run your program
  • คำสั่ง --ntasks-per-node ใช้ในการระบุจำนวน task ต่อ 1 node (โดยปกติจะระบุให้ตรงกับจำนวน GPU ที่ต้องการใช้งาน)

  • คำสั่ง --gpus-per-node ใช้ในการระบุจำนวน GPU ต่อ 1 node (GPU 1 ตัว: --gpus-per-node=1, GPU 2 ตัว: --gpus-per-node=2, GPU 4 ตัว: --gpus-per-node=4

  • คำสั่ง --nv ใช้สำหรับการเปิดใช้งาน GPU

การส่งงานเข้ารันในระบบ

ใช้คำสั่ง sbatch script.sh เพื่อส่งงานของคุณเข้ารันบนเครื่อง LANTA

username@lanta:~> sbatch script.sh

คู่มืออื่นๆที่เกี่ยวข้อง