VASP

From Alliance Doc
Jump to navigation Jump to search
This site replaces the former Compute Canada documentation site, and is now being managed by the Digital Research Alliance of Canada.

Ce site remplace l'ancien site de documentation de Calcul Canada et est maintenant géré par l'Alliance de recherche numérique du Canada.

This page is a translated version of the page VASP and the translation is 100% complete.
Other languages:

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

VASP est un logiciel commercial dont la licence est seulement accordée à des groupes à l'emploi d'une personne juridique unique, ce qui n'est pas compatible avec notre fonctionnement. Malgré nos efforts de négociation, nous n'avons pas pu arriver à une entente pour l'installer dans toute notre infrastructure. Pour cette raison, vous pourriez devoir installer VASP par vous-même (voir Exception pour certains sites ci-dessous). Veuillez lire les termes de votre propre licence, puisque vous êtes probablement soumis aux mêmes restrictions. Cela limite le soutien que nous pouvons apporter pour l’installation du logiciel. Voyez la section Construire VASP par vous-même ci-dessous pour les directives d'installation.

Exception pour certains sites

L'Université Simon-Fraser (Cedar), l'Université de Waterloo (Graham) et l'Université de Toronto Niagara possèdent une licence VASP, ce qui permet à certains de leurs employés d'avoir accès à des versions spécifiques, de les installer et d'offrir une assistance limitée.

Pour utiliser les binaires VASP disponibles sur les grappes Cedar Graham et/ou Niagara, é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. De même pour la version 6, vous pouvez utiliser les versions 5 et 4.

Utilisation des modules VASP

Des fichiers binaires VASP préconstruits sont installés sur Cedar, Graham et Niagara uniquement. Notre entente ne nous permet pas d'installer VASP pour en permettre l'accès sur nos autres grappes. Vous pouvez cependant installer VASP dans votre répertoire /home avec les directives de la section Construire VASP par vous-même ci-dessous. Pour charger une version préconstruite de VASP, les directives sont :

  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.

Pour l'utilisation sur Niagara, voir la page wiki de SciNet sur VASP. Puisque les nœuds de Niagara n'ont pas de GPU, les versions pour GPU ne sont donc pas offertes.


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.

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.

Construire VASP par vous-même

Si vous disposez d'une licence VASP et que vous avez accès à du code source VASP, vous pouvez installer VASP-5.4.4, 6.1.2, 6.2.1 ou 6.3.0 dans votre répertoire /home sur toutes nos grappes (à l'exception de Niagara) avec les commandes EasyBuild suivantes. VASP sera construit de la même manière que sur Cedar et Graham et inclura aussi les extensions Transition State Tools et VASPsol.

eb -f VASP-5.4.4-iimpi-2020a.eb --sourcepath=SOURCEPATH

eb -f VASP-6.1.2-iimpi-2020a.eb --sourcepath=SOURCEPATH

eb -f VASP-6.2.1-iimpi-2020a.eb --sourcepath=SOURCEPATH

eb -f VASP-6.3.0-iimpi-2020a.eb --sourcepath=SOURCEPATH

où SOURCEPATH est le chemin vers le fichier source VASP. Les fichiers sources respectifs pour vasp-5.4.4, 6.1.2, 6.2.1 et 6.3.0 sont respectivement vasp.5.4.4.pl2.tgz , vasp.6.1.2_patched.tgz , vasp.6.2.1.tgz et vasp.6.3.0.tgz . Vous pouvez télécharger le code source à partir du site Web de VASP. La commande peut prendre quelque temps, peut-être plus d'une heure. Quand elle aura terminé, vous pouvez charger et lancer VASP avec les commandes module décrites dans Utilisation des modules VASP.

Pour construire une version personnalisée de VASP, voir Installation de logiciels dans votre répertoire /home, Installing VASP 5 ou Installing VASP 6.

Références

  • Getting Started, guide sur le site Web de l'équipe de développement.
  • py4vasp, interface Python pour l'extraction de données suite à des calculs avec VASP.