Gaussian 16 pour le Workshop GPU
Article mis en ligne le 4 avril 2019
dernière modification le 5 avril 2019

Cet article traite de la version GPU Gaussian 16 B01
Cette version a été compilée dans l’environnement PGI et CUDA :

g16root=/usr/local/gaussian/GAUSSIAN16/B01/g16_gpu_cuda_9.0/
export g16root
. $g16root/g16/bsd/g16.profile
module purge
module load pgi/18.3 cuda/9.0.176.2

Utilisation Gaussian 16 avec GPU

Modifications du fichier .com : nouveaux paramètres %cpu et %gpucpu
%cpu liste des cores utilisés lors du calcul
%gpucpu liste des GPU et liste des cores contrôlant les GPU

  • Exemple 1 :
    %cpu=0 core 0 est utilisé
    %gpucpu=0=0 le GPU 0 est controlé par le core 0
  • Exemple 2 :
    %cpu=0-1 core 0 et 1 sont utilisés
    %gpucpu=0-1=0-1 le GPU 0 et le GPU 1 sont contrôlés respectivement par le core 0 et le core 1
  • Exemple 3 :
    %cpu=0-1,18-19 les cores numéros 0,1 18,19 sont utilisés
    %gpucpu=0-3=0,1,18,19 les GPU 0,2,3 Et 4 sont contrôlés par les cores numéro 0,1,18 et 19
  • Exemple 4 :
    %cpu=0-17,18-35 tous les cores sont utilisés (du numéro 0 au numéro 35)
    %gpucpu=0-3=0,1,18,19 les GPU 0,2,3 Et 4 sont controlés par les cores numéro 0,1,18 et 19

Résultat commande nvidia-smi topo -m :

[@olympevolta0 ~]$ nvidia-smi topo -m
GPU0 GPU1 GPU2 GPU3 CPU Affinity
GPU0 X NV2 NV2 NV2 0-17,36-53
GPU1 NV2 X NV2 NV2 0-17,36-53
GPU2 NV2 NV2 X NV2 18-35,54-71
GPU3 NV2 NV2 NV2 X 18-35,54-71

Exemples script slurm :

$ ls -1 /usr/local/gaussian/exemple_script_slurm_g16/
exemple_1cpu_1gpu_script_g16_gpu_test1.slurm
exemple_36cpu_4gpu_script_g16_gpu_test1.slurm
exemple_4cpu_4gpu_script_g16_gpu_test1.slurm
g16_test1_1cpu_1gpu.com
g16_test1_36cpu_4gpu.com
g16_test1_4cpu_4gpu.com