Gaussian

From Alliance Doc
Jump to navigation Jump to search
This site replaces the former Compute Canada documentation site, and is now being managed by the Digital Research Alliance of Canada.

Ce site remplace l'ancien site de documentation de Calcul Canada et est maintenant géré par l'Alliance de recherche numérique du Canada.

This page is a translated version of the page Gaussian and the translation is 100% complete.
Other languages:

Voir aussi la page sur les messages d'erreur de Gaussian.

Gaussian est une application de chimie computationnelle produite par Gaussian, Inc.

Limites

Gaussian est présentement disponible uniquement sur Graham et Cedar.

Nos systèmes nationaux ne prennent pas en charge l'exécution en parallèle grappe/réseau (parallélisme Linda), mais uniquement l'exécution en parallèle avec multiprocesseur à mémoire partagée.
Ainsi, une tâche Gaussian ne peut pas utiliser plus d'un nœud de calcul.

Licence

Pour utiliser l'application, vous devez accepter certaines conditions. Copiez les énoncés suivants dans un courriel et faites-le parvenir au soutien technique .

  1. Je ne fais pas partie d'un groupe de recherche qui développe une application concurrente.
  2. Je ne copierai pas Gaussian ni ne rendrai l'application disponible à un tiers.
  3. Je reconnaîtrai la collaboration de l'Alliance dans toute publication.
  4. J'informerai l'Alliance de tout changement concernant les précédentes conditions.

Si vous êtes un utilisateur parrainé par un chercheur principal, celui-ci doit aussi nous avoir fait parvenir une copie des mêmes énoncés.

Nous pourrons alors vous donner accès à Gaussian.

Utiliser Gaussian sur Graham et Cedar

Le module gaussian est installé sur Graham et Cedar. Pour connaître les versions disponibles. utiliser la commande module spider comme suit :

[name@server $] module spider gaussian

Pour les commandes qui s'appliquent aux modules, voir Utiliser des modules.


Soumettre des tâches

Les grappes nationales utilisent l'ordonnanceur Slurm; pour des renseignements sur la soumission d'une tâche, consultez Exécuter des tâches.

Puisque seule la version avec multiprocesseur à mémoire partagée de Gaussian est prise en charge, vos tâches ne peuvent utiliser qu'un seul nœud et jusqu'à 48 cœurs par nœud sur Cedar et 32 cœurs par nœud sur Graham. Si vos tâches nécessitent plus de mémoire que ce que vous pouvez obtenir sur un seul nœud, sachez que chacune des grappes offre quelques nœuds avec plus de mémoire. Pour connaître le nombre de nœuds sur une grappe et leur capacité, consultez Cedar et Graham.

En plus du fichier d'entrée name.com, vous devez préparer un script décrivant les ressources de calcul pour la tâche; ce script doit être dans le même répertoire que le fichier d'entrée.

Il y a deux options pour les tâches Gaussian sur Graham et Cedar, selon la localisation des fichiers d'exécution par défaut et la taille de la tâche :

Option 1 : G16 (G09, G03)

Avec cette option, les fichiers d'exécution par défaut (unnamed .rwf, .inp, .d2e, .int, .skr) sont enregistrés dans /scratch/username/jobid/ et demeurent dans ce répertoire si la tâche n'est pas terminée ou si elle a échoué. Le fichier .rwf peut y être récupéré pour redémarrer la tâche plus tard.

Voici un exemple d'un script G16.

Remarquez que pour assurer la cohérence, les fichiers portent le même nom avec des extensions différentes (name.sh, name.com, name.log).

File : mysub.sh

#!/bin/bash
#SBATCH --account=def-someuser
#SBATCH --mem=16G             # memory, roughly 2 times %mem defined in the input name.com file
#SBATCH --time=02-00:00       # expect run time (DD-HH:MM)
#SBATCH --cpus-per-task=16    # No. of cpus for the job as defined by %nprocs in the name.com file
module load gaussian/g16.c01
G16 name.com            # G16 command, input: name.com, output: name.log


Pour utiliser Gaussian 09 ou Gaussian 03, remplacez gaussian/g16.b01 par gaussian/g09.e01 ou gaussian/g03.d01 et remplacez G16 par G09 ou G03. Modifiez --mem, --time, --cpus-per-task selon vos besoins en ressources de calcul.

Option 2 : g16 (g09, g03)

Avec cette option, les fichiers d'exécution par défaut (unnamed .rwf, .inp, .d2e, .int, .skr) sont enregistrés temporairement dans $SLURM_TMPDIR (/localscratch/username.jobid.0/) dans le nœud de calcul où la tâche devait être exécutée. L'ordonnanceur supprime les fichiers quand la tâche est terminée avec ou sans succès. Vous pouvez utiliser cette option si vous n'aurez pas besoin du fichier .rwf pour redémarrer la tâche plus tard.

/localscratch est d'environ 800Go, partagés par toutes les tâches exécutées sur le même nœud. Si la taille de vos fichiers est semblable ou plus grande, utilisez plutôt l'option G16 (G09, G03).

Voici un exemple d'un script g16.

File : mysub.sh

#!/bin/bash
#SBATCH --account=def-someuser
#SBATCH --mem=16G             # memory, roughly 2 times %mem defined in the input name.com file
#SBATCH --time=02-00:00       # expect run time (DD-HH:MM)
#SBATCH --cpus-per-task=16    # No. of cpus for the job as defined by %nprocs in the name.com file
module load gaussian/g16.c01
g16 < name.com                # g16 command, input: name.com, output: slurm-<jobid>.out by default


Soumettez la tâche

sbatch mysub.sh

Tâches interactives

Il est possible d'exécuter une tâche Gaussian interactive sur Graham et Cedar à des fins de test. Il n'est cependant pas indiqué d'exécuter une tâche Gaussian interactive sur un nœud de connexion. Ouvrez plutôt une session interactive sur un nœud de calcul avec salloc pour une durée d'une heure, avec 8 CPUs et 10Go de mémoire.

Question.png
[name@server ~]$ salloc --time=1:0:0 --cpus-per-task=8 --mem=10g

Puis, utilisez

[name@server ~]$ module load gaussian/g16.c01
[name@server ~]$ G16 g16_test2.com    # G16 saves runtime file (.rwf etc.) to /scratch/yourid/93288/


ou

[name@server ~]$ module load gaussian/g16.c01
[name@server ~]$ g16 < g16_test2.com >& g16_test2.log &   # g16 saves runtime file to /localscratch/yourid/

Redémarrer une tâche

Une tâche Gaussian peut être redémarrée à partir du fichier rwf précédent.

Comme d'habitude, l'optimisation géométrique peut être redémarrée à partir du ficher chk. Avec le fichier rwf, vous pouvez redémarrer les calculs qui se font en une étape, par exemple les calculs de fréquence analytique incluant des propriétés comme ROA et VCD avec ONIOM; les calculs CCSD et EOM-CCSD; NMR; Polar=OptRot; et les énergies CID, CISD, CCD, QCISD et BD.

Pour redémarrer une tâche à partir du fichier rwf, vous devez connaître l'endroit où se situe ce fichier rwf de la tâche précédente.

Il suffit d'indiquer d'abord le chemin %rwf vers le fichier rwf précédent et modifier la ligne des mots-clés pour qu'elle se lise #p restart, puis laisser une ligne vide à la fin.

Voici un exemple :

File : restart.com

%rwf=/scratch/yourid/jobid/name.rwf
%NoSave
%chk=name.chk
%mem=5000mb
%nprocs=16
#p restart
(one blank line)


Exemples

Un exemple de fichier d'entrée et de scripts *.sh se trouve dans /opt/software/gaussian/version/examples/ où la version est g03.d10, g09.e01, g16.a03 ou g16.b01.

Remarques

  1. NBO7 est inclus uniquement dans la version g16.c01 avec l'emploi des mots-clés nbo6 et nbo7.
  2. NBO6 est inclus dans les versions g09.e01 et g16.b01.
  3. Voir le tutoriel Gaussian16 and NBO7 on Graham and Cedar.

Erreurs

Vous trouverez la solution à plusieurs erreurs dans Gaussian – Messages d’erreur.