VASP

From CC Doc
Jump to navigation Jump to search
This page is a translated version of the page VASP and the translation is 100% complete.
Other languages:
English • ‎français

VASP pour Vienna ab initio Simulation Package est un logiciel servant à modéliser les matériaux à l'échelle atomique avec, par exemple, le calcul des propriétés électroniques et la dynamique moléculaire par mécanique quantique.

Licence

Pour utiliser les binaires VASP disponibles sur les grappes Cedar et/ou Graham, écrivez au soutien technique et indiquez :

  • les renseignements sur le détenteur de la licence (votre chercheur principal) :
    • nom;
    • courriel;
    • nom du département et de l'établissement universitaire;
  • les renseignements sur la licence :
    • la version (4 ou 5);
    • le numéro de la licence VASP;
    • faites-nous parvenir une mise à jour de la liste des personnes autorisées à utiliser votre licence, par exemple en nous transmettant le dernier courriel reçu de votre gestionnaire de licence à ce sujet.

La licence pour la version 5 vous permet d'utiliser aussi la version 4; par contre, la licence pour la version 4 ne vous permet pas d'utiliser la version 5.

Utilisation des modules VASP

  1. Pour connaître les versions disponibles, lancez module spider vasp.
  2. Sélectionnez votre version et lancez module spider vasp/<version> pour connaître les dépendances qui doivent être chargées avec cette version.
  3. Chargez les dépendances et le module VASP, par exemple
 module load intel/2020.1.217  intelmpi/2019.7.217 vasp/5.4.4

Pour plus d'information, consultez Utiliser des modules.

Pseudopotentiels

Tous les pseudopotentiels ont été téléchargés à partir du site officiel de VASP sans être décompressés. Ils sont situés dans $EBROOTVASP/pseudopotentials/ sur Cedar et Graham. Le module VASP doit être chargé pour que vous puissiez avoir accès aux pseudopotentiels.

Programmes exécutables

Pour VASP 4.6, les fichiers exécutables disponibles sont  :

  • vasp pour les calculs standards de NVT avec des points k non gamma
  • vasp-gamma pour les calculs standards de NVT avec uniquement des points k gamma
  • makeparam pour estimer la quantité de mémoire requise pour opérer VASP sur une grappe en particulier

Pour VASP 5.4.1, 5.4.4 et 6.1.0 (sans CUDA), les fichiers exécutables disponibles sont  :

  • vasp_std pour les calculs standards de NVT et les points k non gamma
  • vasp_gam pour les calculs standards de NVT avec uniquement des points k gamma
  • vasp_ncl pour les calculs de NPT avec des points k non gamma

Pour VASP-5.4.4 et 6.1.0 (avec CUDA), les fichiers exécutables disponibles sont  ::

  • vasp_gpu pour les calculs standards de NVT et les points K gamma et non gamma
  • vasp_gpu_ncl pour les calculs de NPT avec des points K gamma et non gamma

Les deux extensions suivantes sont aussi incorporées  :

Si la version de VASP que vous voulez utiliser n'est pas offerte, vous pouvez soit la construire vous-même (voir ci-dessous) ou demander au soutien technique de la construire et l’installer.

Vasp-GPU

Fig.1 Durée des simulations en fonction du nombre de CPU

Les fichiers exécutables Vasp-GPU peuvent être utilisés sur les CPU et les GPU. Comme il est beaucoup plus coûteux de faire des calculs de base sur GPU, nous recommandons fortement d’effectuer des essais (benchmarking) avec un ou deux GPU pour vous assurer que leur utilisation est optimale. Dans la figure 1 nous avons l’exemple de Si cristallin qui contient 256 atomes dans une boîte de simulation. Les lignes illustrent la durée de la simulation en fonction du nombre de CPU utilisés : bleue avec 0 GPU, noire avec 1 GPU et rouge avec 2 GPU. Nous remarquons qu’avec 1 CPU, la performance avec 1 ou 2 GPU est au-delà de 5 fois meilleure que sans GPU. Cependant, entre 1 et 2 GPU, la performance varie peu; en fait, l'utilisation de 2 GPU est d'environ 50 % dans notre système de monitorage. Il est donc recommandé d’effectuer ce type de test sur l’ordinateur que vous utiliserez afin d’économiser les ressources de calcul.

Construire VASP

Si vous possédez une licence, vous pouvez télécharger le code source du site web VASP et construire votre propre version. Consultez Installation de logiciels dans votre répertoire personnel et Installing VASP.

Exemple de script

Le script de tâche suivant exécute VASP en parallèle avec l'ordonnanceur Slurm.


File : vasp_job.sh

#!/bin/bash
#SBATCH --account=<ACCOUNT>
#SBATCH --ntasks=4             # number of MPI processes
#SBATCH --mem-per-cpu=1024M    # memory
#SBATCH --time=0-00:05         # time (DD-HH:MM)
module load intel/2020.1.217  intelmpi/2019.7.217 vasp/<VERSION>
srun <VASP>


  • Ce script demande quatre cœurs et 4096Mo de mémoire (4x1024Mo).
  • <ACCOUNT> est le nom du compte Slurm; pour connaître la valeur à entrer, consultez Exécuter des tâches, section Comptes et projets.
  • <VERSION> est le numéro de version de VASP que vous voulez utiliser : 4.6, 5.4.1, 5.4.4 ou 6.1.0.
  • <VASP> est le nom de l'exécutable; voyez la section Programmes exécutables ci-dessus pour les exécutables que vous pouvez choisir.


File : vasp_gpu_job.sh

#!/bin/bash
#SBATCH --account=<ACCOUNT>
#SBATCH --cpus-per-task=1      # number of CPU processes
#SBATCH --gres=gpu:p100:1      # Number of GPU type:p100 (valid type only for cedar)
#SBATCH --mem=3GB              # memory
#SBATCH --time=0-00:05         # time (DD-HH:MM)
module load intel/2020.1.217  cuda/11.0  openmpi/4.0.3 vasp/<VERSION>
srun <VASP>


VASP utilise quatre fichiers d'entrée, soit INCAR, KPOINTS, POSCAR et POTCAR. Il est préférable de préparer les fichiers d'entrée dans un répertoire différent pour chaque tâche. Pour soumettre la tâche à partir du répertoire, utilisez

sbatch vasp_job.sh

Si vous ignorez combien de mémoire votre tâche nécessite, préparez tous vos fichiers d’entrée et exécutez makeparam dans une tâche interactive. Utilisez ensuite la quantité de mémoire obtenue en résultat pour la prochaine exécution. Pour obtenir une meilleure estimation pour les tâches futures, vérifiez quelle est la taille maximale de la pile de mémoire pour les tâches complétées et utilisez cette valeur pour demander la quantité de mémoire par processeur.

Si vous voulez utiliser 32 cœurs ou plus, consultez la politique d'ordonnancement des tâches, section Nœuds entiers ou cœurs.