[https://www.vasp.at/ 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 [[VASP/fr#Exception_pour_certains_sites|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 [[VASP/fr#Construire_VASP_par_vous-même|Construire VASP par vous-même]] ci-dessous pour les directives d'installation. === Exception pour certains sites === L'Université Simon-Fraser ([[Cedar/fr|Cedar]]), l'Université de Waterloo ([[Graham/fr|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/fr|Cedar]] [[Graham/fr|Graham]] et/ou [[Niagara]], écrivez au [[Technical support/fr|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 [[VASP/fr#Construire_VASP_par_vous-même|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/ 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|Utiliser des modules]]. Pour l'utilisation sur Niagara, voir [https://docs.scinet.utoronto.ca/index.php/VASP 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  : *[http://theory.cm.utexas.edu/vtsttools/ Transition State Tools] *[https://github.com/henniggroup/VASPsol VASPsol] 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 [[Technical support | soutien technique]] de la construire et l’installer. == Vasp-GPU == [[File:VASP benchmark ENG.png|400px|thumb| 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 |name=vasp_job.sh |lang="sh" |contents= #!/bin/bash #SBATCH --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/ srun }} * Ce script demande quatre cœurs et 4096Mo de mémoire (4x1024Mo). * est le nom du compte Slurm; pour connaître la valeur à entrer, consultez [[Running_jobs/fr|Exécuter des tâches]], section Comptes et projets. * est le numéro de version de VASP que vous voulez utiliser : 4.6, 5.4.1, 5.4.4 ou 6.1.0. * est le nom de l'exécutable; voyez la section ''Programmes exécutables'' ci-dessus pour les exécutables que vous pouvez choisir. {{File |name=vasp_gpu_job.sh |lang="sh" |contents= #!/bin/bash #SBATCH --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/ srun }} * 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 [https://docs.computecanada.ca/wiki/Using_GPUs_with_Slurm/fr#N.C5.93uds_disponibles 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 [[Running_jobs/fr#Tâches interactives|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 [[Running jobs/fr#Tâches_complétées|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 [[Job_scheduling_policies/fr|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/fr|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 [https://www.vasp.at/ 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 [[VASP/fr#Utilisation_des_modules_VASP|Utilisation des modules VASP]]. Pour construire une version personnalisée de VASP, voir [[Installing software in your home directory/fr| Installation de logiciels dans votre répertoire /home]], [https://www.vasp.at/wiki/index.php/Installing_VASP.5.X.X Installing VASP 5] ou [https://www.vasp.at/wiki/index.php/Installing_VASP.6.X.X Installing VASP 6]. = Références = * [https://www.vasp.at/tutorials/latest/part1/ Getting Started], guide sur le site Web de l'équipe de développement. * [https://www.vasp.at/py4vasp/latest/ py4vasp], interface Python pour l'extraction de données suite à des calculs avec VASP. [[Category:Software]][[Category:ComputationalChemistry]]