บทความนี้อธิบายวิธีการรันสคริปต์ 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