NAMD

NAMD 2.13

NAMD vient en 5 versions :

Version Compilateur Interconnexion chemin d'accès
2.13 N/A N/A ${APPLIS}/NAMD_2.13_Linux-x86_64-multicore/
modulefile : NAMD/multicore/2.13
2.13 N/A N/A ${APPLIS}/NAMD_2.13_Linux-x86_64-multicore-CUDA/
modulefile : NAMD/multicore+CUDA/2.13
2.13 N/A Infiniband ${APPLIS}/NAMD_2.13_Linux-x86_64-ibverbs/
modulefile : NAMD/ibverbs/2.13
2.13 N/A Infiniband ${APPLIS}/NAMD_2.13_Linux-x86_64-ibverbs-smp/
modulefile : NAMD/ibverbs+smp/2.13
2.13 N/A Infiniband ${APPLIS}/NAMD_2.13_Linux-x86_64-ibverbs-smp-CUDA/
modulefile : NAMD/ibverbs+smp+CUDA/2.13

Avec ${APPLIS} = /applis/PSMN/generic/NAMD/2.13/.

Pour utiliser les modules, consulter Environnement Modules

Note : Les versions NAMD CUDA nécessitent un GPU. Pour bien choisir les files d'attente à utiliser, veuillez vous référer à la page décrivant les files d'attente (queues) (rubrique “Les files d'attente GPGPU”).

NAMD 2.12

NAMD vient en 5 versions :

Version Compilateur Interconnexion chemin d'accès
2.12 N/A N/A ${APPLIS}/NAMD_2.12_Linux-x86_64-multicore/
modulefile : NAMD/multicore/2.12
2.12 N/A N/A ${APPLIS}/NAMD_2.12_Linux-x86_64-multicore-CUDA/
modulefile : NAMD/multicore+CUDA/2.12
2.12 N/A Infiniband ${APPLIS}/NAMD_2.12_Linux-x86_64-ibverbs/
modulefile : NAMD/ibverbs/2.12
2.12 N/A Infiniband ${APPLIS}/NAMD_2.12_Linux-x86_64-ibverbs-smp/
modulefile : NAMD/ibverbs+smp/2.12
2.12 N/A Infiniband ${APPLIS}/NAMD_2.12_Linux-x86_64-ibverbs-smp-CUDA/
modulefile : NAMD/ibverbs+smp+CUDA/2.12

Avec ${APPLIS} = /applis/PSMN/generic/NAMD/2.12/.

Pour utiliser les modules, consulter Environnement Modules

Note : Les versions NAMD CUDA nécessitent un GPU. Pour bien choisir les files d'attente à utiliser, veuillez vous référer à la page décrivant les files d'attente (queues) (rubrique “Les files d'attente GPGPU”).

NAMD 2.11

NAMD vient en 5 versions :

Version Compilateur Interconnexion chemin d'accès
2.11 N/A N/A ${APPLIS}/NAMD_2.11_Linux-x86_64-multicore/
modulefile : NAMD/multicore/2.11
2.11 N/A N/A ${APPLIS}/NAMD_2.11_Linux-x86_64-multicore-CUDA/
modulefile : NAMD/multicore+CUDA/2.11
2.11 N/A Infiniband ${APPLIS}/NAMD_2.11_Linux-x86_64-ibverbs/
modulefile : NAMD/ibverbs/2.11
2.11 N/A Infiniband ${APPLIS}/NAMD_2.11_Linux-x86_64-ibverbs-smp/
modulefile : NAMD/ibverbs+smp/2.11
2.11 N/A Infiniband ${APPLIS}/NAMD_2.11_Linux-x86_64-ibverbs-smp-CUDA/
modulefile : NAMD/ibverbs+smp+CUDA/2.11

Avec ${APPLIS} = /applis/PSMN/generic/NAMD/2.11/.

Pour utiliser les modules, consulter Environnement Modules

Note : Les versions NAMD CUDA nécessitent un GPU. Pour bien choisir les files d'attente à utiliser, veuillez vous référer à la page décrivant les files d'attente (queues) (rubrique “Les files d'attente GPGPU”).

NAMD 2.09

NAMD vient en 5 versions :

Version Compilateur Interconnexion chemin d'accès
2.9 N/A N/A ${APPLIS}/NAMD_2.9_Linux-x86_64-multicore/
modulefile : NAMD/multicore/2.09
2.9 N/A N/A ${APPLIS}/NAMD_2.9_Linux-x86_64-multicore-CUDA/
modulefile : NAMD/multicore+CUDA/2.09
2.9 N/A Infiniband ${APPLIS}/NAMD_2.9_Linux-x86_64-ibverbs/
modulefile : NAMD/ibverbs/2.09
2.9 N/A Infiniband ${APPLIS}/NAMD_2.9_Linux-x86_64-ibverbs-smp/
modulefile : NAMD/ibverbs+smp/2.09
2.9 N/A Infiniband ${APPLIS}/NAMD_2.9_Linux-x86_64-ibverbs-smp-CUDA/
modulefile : NAMD/ibverbs+smp+CUDA/2.09

Avec ${APPLIS} = /applis/PSMN/generic/NAMD/2.9/.

Pour utiliser les modules, consulter Environnement Modules

Note : Les versions NAMD CUDA nécessitent un GPU. Pour bien choisir les files d'attente à utiliser, veuillez vous référer à la page décrivant les files d'attente (queues) (rubrique “Les files d'attente GPGPU”).

Site officiel

Exemples d'utilisation au PSMN

Ces exemples décrivent le mode d'utilisation de NAMD en mode séquentiel, parallèle multithreadé (un seul noeud) et parallèle multithreadé combiné avec utilisation de cartes GPU NVIDIA (CUDA).

Pour simplifier, on décrit ici le lancement du programme (namd2) directement sur le noeud. Rappelons que cela n'est autorisé au PSMN que pour des petits tests (“petits” par rapport à la durée, à la quantité de mémoire et au nombre de coeurs utilisés).

Pour le mode “batch” (c.à.d. utilisation des queues, que se soit des queues de test ou de production), il suffirait d'insérer les commandes ci-dessous (chargement du module et la commande d'exécution namd2) dans un script de soumission et de soumettre ce script.

  1. créer un répertoire de test et travailler dedans :
         mkdir $HOME/test_namd
         cd $HOME/test_namd 
  2. télécharger et desarchiver le tutoriel NAMD :
         wget http://www.ks.uiuc.edu/Training/Tutorials/namd/namd-tutorial-files.tar.gz
         tar -zxvf namd-tutorial-files.tar.gz 
  3. aller dans l'un des cas test (ici 1-2-sphere) :
         cd namd-tutorial-files/1-2-sphere 
  4. charger le module correspondant à la version de NAMD désirée (dans la liste ci-dessus). Par exemple :
         module load NAMD/multicore/2.11 
  5. exécuter NAMD en local (rappel : ce mode d'exécution n'est permis que pour des petits test, pour la production, il est obligatoire d'utiliser le système de queues). Le mode séquentiel est obtenu par :
         namd2 ubq_ws_eq.conf > ubq_ws_eq.log 
  6. vous pouvez suivre l'exécution (et les ressources utilisées p.ex. charge CPU et mémoire) en lançant la commande top dans un autre terminal ou bien en surveillant le fichier de sortie en temps réel :
        tail -f ubq_ws_eq_sequentiel.log 
  7. à la fin de l'exécution, on peut voir la consommation en temps CPU et mémoire retournées par NAMD dans le fichier de sortie :
         tail -2 ubq_ws_eq_sequentiel.log
         WallClock: 89.548943  CPUTime: 89.548943  Memory: 62.207031 MB
        [Partition 0][Node 0] End of program 
  8. L'exécution ci-dessous a utilisé un seul coeur (mode séquentiel). Pour utiliser plusieurs coeurs en version multithread , p.ex. 4, il faudrait rajouter l'option +p4 : :
         namd2 ubq_ws_eq.conf +p4 > ubq_ws_eq_4cores.log 
  9. Pour se rendre compte de l'efficacité du mode multithread, on peut à nouveau regarder la consommation en temps CPU (et en mémoire) et comparer aux valeurs obtenues en mode séquentiel :
         tail -2 ubq_ws_eq_4cores.log
         WallClock: 24.876143  CPUTime: 24.876143  Memory: 313.214844 MB
         [Partition 0][Node 0] End of program 
  10. Pour utiliser la version multithread avec des GPUs (sur les serveurs qui disposent de telles cartes, pour ces tests le serveur r730visu a été utilisé) :
         module load NAMD/multicore+CUDA/2.11
         namd2 +p4 +setcpuaffinity +devices 0,1 ubq_ws_eq.conf > ubq_ws_eq_4cores_2GPUs.log
  11. En plus de la commande top (pour suivre la charge CPU), on peut suivre l'utilisation des ressources GPU en utilisant la commande suivante (refresh tous les secondes) dans un autre terminal :
         nvidia-smi --loop=1 
  12. A la fin de l'exécution, on peut regarder à nouveau le temps CPU consommé :
         tail -2 ubq_ws_eq_4cores_2GPUs.log 
         WallClock: 7.821550  CPUTime: 7.821550  Memory: 86.968750 MB
         [Partition 0][Node 0] End of program 
  13. Pour utiliser NAMD en production (soumission au système de queues SGE), il suffit d'utiliser la commande d'exécution ci-dessous (et au préalable celle le chargement du module correspondant) dans un script de soumission SGE approprié et de soumettre ce script

Remarques :

  • D'autres options sont possibles à l'exécution pour l'exécution de namd2 et leur utilisation pourrait diminuer la durée de l'exécution. Par exemple, l'option +setcpuaffinity pourrait être utilisée et bénéfique pour la version multidread (avec ou sans GPU). Plus des détails sur ces options et d'autres possibilités d'utilisation NAMD se trouvent dans le fichier notes.txt du répertoire d'installation (voir le chemin d'installation dans les tableaux ci-dessus).
  • Pour la version NAMD 2.9, le lancement de la version multithread (avec ou sans CUDA) était légèrement différente. Par exemple, pour multithread+CUDA:
    namd2 +idlepoll +p4 +devices 0,1 ubq_ws_eq.conf 

    (pour plus de détails, référez vous à nouveau au fichier notes.txt, du répertoire d'installation (voir le chemin d'installation dans les tableaux ci-dessus).

documentation/tools/software/namd.txt · Dernière modification : 2020/08/25 15:58 (modification externe)