Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

This article describes how to execute a Python script on the LANTA HPC system using Apptainer. The following table of contents provides a summary of the article's material so that the reader can quickly identify the most important sections.

Table of Contents
minLevel1
maxLevel76
styleoutlinenone

Install Singularity 3.x on your local linux machine.

  • แนะนำติดตั้ง Singularity ตาม the official guide https://sylabs.io/guides/3.5/user-guide/quick_start.html

  • หลีกเลี่ยงการใช้ apt-get หรือ yum ซึ่งจะได้เวอร์ชั่นที่ต่ำกว่า 3.x ค่อนข้างมากและไม่ fully compatible กับ Singularity 3.4 และ 3.3 ที่ถูกติดตั้งอยู่บน TARA

  • ซึ่งคำแนะนำนี้อาจได้รับการปรับเปลี่ยนในอนาคตขึ้นกับ version ที่ถูกติดตั้งบน HPC system

How to check the software version on HPC system (TARA)

  1. บน TARA-frontend-node สามารถตรวจสอบว่าคลัสเตอร์มีการติดตั้งซอฟแวร์ใดให้ใช้งานได้ด้วยคำสั่ง
    $ module avail

$ module avail

------------------------- /tarafs/utils/modules/modules/all --------------------------

   ANSYS/2020.1

   ARAGORN/1.2.38-foss-2019b

   AUGUSTUS/3.3.3-foss-2019b

   Advisor/2019_update5

   Autoconf/2.69-GCCcore-8.3.0

   Autoconf/2.69-GCCcore-10.2.0

   Autoconf/2.69                                      (D)

2. หากต้องการจำเพาะเจาะจงชื่อซอฟแวร์เพื่อตรวจสอบเวอร์ชั่น ดังเช่นกรณีนี้ต้องการทราบเวอร์ชั่นของ Singularity บน HPC system TARA
$ module avail Singularity

$ module avail singularity

------------------------- /tarafs/utils/modules/modules/all --------------------------

   Singularity/3.3.0    Singularity/3.4.2 (D)

  Where:

   D:  Default Module

Use "module spider" to find all possible modules.

Use "module keyword key1 key2 ..." to search for all possible modules matching any of

the "keys".

ซึ่งปัจจุบัน (เข้าถึงระบบเมื่อ 23/07/2021) Singularity บน TARA มีสองเวอร์ชั่นคือ 3.3.0 และ 3.4.2 (D) ซึ่ง (D) คือการระบุว่าเป็น default version

Related articles

Filter by label (Content by label)
cqllabel in ( "singularity" , "linuxfalse
typelist
printablefalse

Example of a Slurm script for launching the Python script

Running on Compute node

Code Block
#!/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
Info

Full node: -c 128, Half node: -c 64, ¼ node: -c 32

Running on GPU node

Code Block
#!/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-task=1		         # 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
Info

1 GPU card: --ntasks-per-node=1, 2 GPU cards: --ntasks-per-node=2, 4 GPU cards: --ntasks-per-node=4

Submit a job

Use the sbatch script.sh command to submit your job to the Slurm system.

Code Block
username@lanta:~> sbatch script.sh

Related articles

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
cqllabel in ( "python-script" , "python-vir-env" , "jupyter-apptainer" ) and space = currentSpace ( )

...