VASP sur Jean Zay
Licence
⚠️ L’utilisateur doit disposer d’une licence VASP valide pour pouvoir accéder aux exécutables. Il est nécessaire de s'enregistrer personnellement sur une licence VASP. L'IDRIS procède à la vérification de l'inscription sur la licence auprès de l'éditeur du logiciel.
Liens utiles
- 🌐 Site officiel : https://www.vasp.at
- 📘 Documentation utilisateur : https://www.vasp.at/wiki
- 💬 Forum : https://www.vasp.at/forum
Versions disponibles
La liste des versions disponibles est accessible avec les commandes suivantes :
- Partitions CPU et V100
- Partition A100
- Partition H100
module purge
module avail vasp
module purge
module load arch/a100
module avail vasp
module purge
module load arch/h100
module avail vasp
Exécutables disponibles
Sur CPU
vasp_std: version standard de VASPvasp_gam: version pour les calculs avec seulement le point Gammavasp_ncl: version pour les calculs non colinéaires.
Sur GPU
Version 6
vasp_std: version standard de VASPvasp_gam: version pour les calculs avec seulement le point Gammavasp_ncl: version pour les calculs non colinéaires.
Version 5
vasp_gpu: version standard, portée sur GPU avec CUDA ;vasp_ncl_gpu: version pour les calculs non colinéaires, portée sur GPU avec CUDA
Conseils pour l'exécution sur GPU
Les recommendations de VASP pour l'exécution du code sur GPU se trouvent sur le wiki.
Pour résumer :
- Utiliser 1 tâche MPI par GPU
- Adapter le fichier INCAR
- Définir KPAR=#GPUs
- Optimiser le NSIM
- Définir NCORE=1
Exemples de scripts de soumission
⚠️ Les scripts de soumission sont des exemples à modifier en fonction des ressources nécessaires pour le calcul.
Nous vous invitons à bien lire les pages de documentation concernant la réservation des ressources.
- Partition CPU
- Partition V100
- Partition A100
- Partition H100
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=20 # Number of MPI tasks per node
#SBATCH --cpus-per-task=2 # Number of core for each MPI task
#SBATCH --job-name=vasp
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@cpu # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load vasp # check the available versions with module avail vasp
srun vasp_std
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=4 # Number of MPI tasks per node
#SBATCH --cpus-per-task=10 # Number of core for each MPI task
#SBATCH --gpus-per-node=4
#SBATCH --job-name=vasp
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@v100 # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load vasp # check the available versions with module avail vasp
srun vasp_std
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=8 # Number of MPI tasks per node
#SBATCH --cpus-per-task=8 # Number of core for each MPI task
#SBATCH --gpus-per-node=8
#SBATCH --constraint=a100
#SBATCH --job-name=vasp
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@a100 # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load arch/a100
module load vasp # check the available versions with module avail vasp
srun vasp_std
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=4 # Number of MPI tasks per node
#SBATCH --cpus-per-task=24 # Number of core for each MPI task
#SBATCH --gpus-per-node=4
#SBATCH --constraint=h100
#SBATCH --job-name=vasp
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@h100 # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load arch/h100
module load vasp # check the available versions with module avail vasp
srun vasp_std