Executing a Python script on LANTA HPC using Apptainer (Singularity)
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.
Example of a Slurm script for launching the Python script
Running on Compute node
#!/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
Full node: -c 128, Half node: -c 64, ¼ node: -c 32
Running on GPU node
#!/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
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.
username@lanta:~> sbatch script.sh
Related articles