====== 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 [[documentation:tools:modules|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 [[documentation:clusters:batch&#les_files_d_attente|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 [[documentation:tools:modules|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 [[documentation:clusters:batch&#les_files_d_attente|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 [[documentation:tools:modules|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 [[documentation:clusters:batch&#les_files_d_attente|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 [[documentation:tools:modules|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 [[documentation:clusters:batch&#les_files_d_attente|les files d'attente (queues)]] (rubrique "Les files d'attente GPGPU"). ===== Site officiel ===== * http://www.ks.uiuc.edu/Research/namd/ ===== 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. - créer un répertoire de test et travailler dedans : mkdir $HOME/test_namd cd $HOME/test_namd - 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 - aller dans l'un des cas test (ici 1-2-sphere) : cd namd-tutorial-files/1-2-sphere - charger le module correspondant à la version de NAMD désirée (dans la liste ci-dessus). Par exemple : module load NAMD/multicore/2.11 - 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 - 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 - à 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 - 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 - 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 - 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 - 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 - 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 - 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).