Vasp

VASP (Vienna Ab initio Simulation Package) est un code de chimie quantique computationnelle et de physique de la matière condensée.

Les versions disponibles sur Kairos


6.5.1


CPU-x86

Chargement du module

module load vasp/6.5.1-oneapi2025.3

Script SLURM 

#!/bin/bash
#SBATCH --job-name=VASP_STD
#SBATCH --nodes=1     # adapter selon vos besoins : 1,2,3,4...
#SBATCH --ntasks-per-node=192     # tous les cœurs du nœud
#SBATCH --time=02:00:00
#SBATCH --partition=noeud

module purge
module load vasp/6.5.1-oneapi2025.3

# Paramètres de performance
export OMP_NUM_THREADS=1
export OMP_PROC_BIND=close
export OMP_PLACES=cores
export MALLOC_MMAP_MAX_=0
export MALLOC_TRIM_THRESHOLD_=-1
export FORT_BUFFERED=true
export UCX_TLS=sm,self,rc_x,ud_x,dc_x
export UCX_NET_DEVICES=mlx5_0:1
export OMPI_MCA_coll_tuned_enable=1
export OMPI_MCA_coll_tuned_priority=100
export OMPI_MCA_coll_hcoll_enable=0

ulimit -s unlimited
ulimit -n 131072

# Adapter NCORE à votre système
sed -i "s/_NCORE_/6/g" INCAR

mpirun -np $SLURM_NTASKS \
 --map-by numa:PE=$OMP_NUM_THREADS \
 --bind-to core \
 vasp_std | tee vasp.out

 

GPU-ARM

Chargement du module

module load vasp/6.5.1-nvhpc26.1

Script SLURM Mono-GPU (conseillé)

#!/bin/bash
#SBATCH --job-name=VASP_GPU_STD
#SBATCH --partition=shared-gpu
#SBATCH --nodes=1         # adapter selon vos besoins : 1 ou 2
#SBATCH --ntasks-per-node=1    # 1 tâche MPI par GPU
#SBATCH --cpus-per-task=40
#SBATCH --gres=gpu:1           # 1 seul GPU
#SBATCH --time=02:00:00

source /etc/profile
module purge
module load vasp/6.5.1-nvhpc26.1

# OpenMP
export OMP_NUM_THREADS=4
export OMP_PLACES=cores
export OMP_PROC_BIND=spread
export OMP_STACKSIZE=512m

# GPU
export CUDA_VISIBLE_DEVICES=0,1,2,3
export FORT_BUFFERED=true
export OMPI_MCA_coll_hcoll_enable=0

ulimit -s unlimited

mpirun -n $SLURM_NTASKS \
 --map-by socket:pe=$OMP_NUM_THREADS \
 --bind-to none \
 vasp_std | tee vasp.out
 

Script SLURM Multi-GPU 

Il faut utiliser le script wrapper.sh (fourni ci-dessous) pour effectuer correctement le binding. La variable WRAPPER doit aussi être modifiée avec le chemin correct.

#!/bin/bash
#SBATCH --job-name=VASP_GPU_STD
#SBATCH --partition=gpu
#SBATCH --nodes=1         # adapter selon vos besoins : 1 ou 2
#SBATCH --ntasks-per-node=4    # 1 tâche MPI par GPU
#SBATCH --cpus-per-task=40
#SBATCH --gres=gpu:4
#SBATCH --time=02:00:00

module purge
module load vasp/6.5.1-nvhpc26.1

# OpenMP
export OMP_NUM_THREADS=4
export OMP_PLACES=cores
export OMP_PROC_BIND=spread
export OMP_STACKSIZE=512m

# GPU
export CUDA_VISIBLE_DEVICES=0,1,2,3
export FORT_BUFFERED=true
export OMPI_MCA_coll_hcoll_enable=0

ulimit -s unlimited

WRAPPER=/path/to/wrapper.sh

mpirun -n $SLURM_NTASKS \
 --map-by ppr:4:node:pe=$OMP_NUM_THREADS \
 --bind-to none \
 $WRAPPER \
 vasp_std | tee vasp.out
 

wrapper.sh:

#!/bin/bash
NICS=(mlx5_0 mlx5_1 mlx5_2 mlx5_3)
CPUNODESBIND=(0 1 2 3)
NUMANODESBIND=(0 1 2 3)
lrank=$OMPI_COMM_WORLD_LOCAL_RANK
export UCX_NET_DEVICES=${NICS[$lrank]}:1
numactl --cpunodebind=${CPUNODESBIND[$lrank]} --membind=${NUMANODESBIND[$lrank]} $@

Voir aussi

Commandes utiles Conda miniforge ARM

D'abord il faut reserver et se connecter sur un noeud avec la commande suivante avant de creer son environnement:

Gaussian 16 sur Kairos

La version G16 révision B01 est installée sur Kairos ( uniquement sur partition x86)

NAMD

La version 3.0.2 est installée sur Kairos ( uniquement s

GROMACS

La version 2025 est installée sur Kairos ( uniquement sur partition GPU-ARM) avec NVHPC 25.3 

Gaussview (Kairos)

Notebook jupyter sur Kairos

Il est possible de faire un notebook jupyter sur Kairos, à certaines conditions :

Alphafold3

Modélisation avec Alphafold3 sur KairosCette page explique la mise en place du job à partir du répertoire suivant, à récupérer ici :

chdb

In this tutorial, you’ll learn how to use chdb to run your embarassingly parallel computations. All the usecases supported by chdb will be described here.

CP2K on Kairos

Le code CP2K est disponible sur kairos.

GAMESS

Chargement du modulemodule purgemodule load gamess/v2024.2.1-oneapi2025