VASP
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 :
- Pour connaître les versions disponibles, lancez
module spider vasp
. - Sélectionnez votre version et lancez
module spider vasp/<version>
pour connaître les dépendances qui doivent être chargées avec cette version. - 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-gammavasp-gamma
pour les calculs standards de NVT avec uniquement des points k gammamakeparam
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-gammavasp_gam
pour les calculs standards de NVT avec uniquement des points k gammavasp_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-gammavasp_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
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.
#!/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.
#!/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>
- Ce script demande un (1) cœur CPU et 1024Mo de mémoire.
- Ce script demande un (1) GPU de type p100, disponible uniquement sur Cedar; voyez les types disponibles sur les autres superordinateurs.
- La tâche utilise
srun
pour faire exécuter 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.
Pour l'environnement StdEnv/2020
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
Pour l'environnement StdEnv/2023
eb -f VASP-5.4.4-iofb-2023a.eb --sourcepath=SOURCEPATH
eb -f VASP-6.4.2-iofb-2023a.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.