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