OpenMolcas sur Jean Zay

Présentation

OpenMolcas est un logiciel de modélisation moléculaire spécialisé dans les méthodes post Hartree-Fock avancées.

Liens utiles

Versions disponibles

OpenMolcas

Version Modules à charger Commentaires
19.11 openmolcas/19.11-mpi
intel-mkl/19.0.5
Version de production CPU

Informations

OpenMolcas utilise un driver qui implémente directement la commande d'exécution srun. Il ne faut donc pas l'ajouter dans votre script de soumission.

Variables d'environnement

Molcas utilise des variables d'environnement pour le contrôle de l'exécution :

  • Project : le nom du projet (cette variable est utilisée pour choisir le nom de fichiers de sortie),
  • MOLCAS_MEM : la quantité de mémoire par tâche MPI que Molcas peut utiliser,
  • MOLCAS_WORKDIR : le dossier dans lequel sera stocké les fichiers temporaires générés.

Pour MOLCAS_WORKDIR, nous vous conseillons d'utiliser soit $SCRATCH (les fichiers seront accessibles après la fin du job) ou $JOBSCRATCH (tous les fichiers sont détruits à la fin du job).

Pour les autres variables, nous vous recommendons de consulter la page sur les variables dans la documentation.

Script de soumission sur la partition CPU

molcas.slurm
#!/bin/bash
#SBATCH --nodes=1               # Utilisation d'un seul noeud
#SBATCH --ntasks-per-node=40    # 40 taches MPI
#SBATCH --cpus-per-task=1       # pas d'OpenMP 
#SBATCH --hint=nomultithread    # desactive l'hyperthreading
#SBATCH --job-name=molcas               # Jobname
#SBATCH --output=%x.o%j         # Output file %x is the jobname, %j the jobid
#SBATCH --error=%x.o%j          # Error file
#SBATCH --time=10:00:00         # Expected runtime HH:MM:SS (max 20h)
##
## Please, refer to comments below for
## more information about these 4 last options.
##SBATCH --account=<account>@cpu       # To specify cpu accounting: <account> = echo $IDRPROJ
##SBATCH --partition=<partition>       # To specify partition (see IDRIS web site for more info)
##SBATCH --qos=qos_cpu-dev      # Uncomment for job requiring less than 2 hours
##SBATCH --qos=qos_cpu-t4      # Uncomment for job requiring more than 20h (only one node)
 
 
# Cleans out the modules loaded in interactive and inherited by default
module purge
 
# Load needed modules
module load openmolcas/19.11-mpi intel-mkl/19.0.5
 
set -x
### Definition of variables ###
export Project=dhe
if [ -z "$SLURM_CPUS_PER_TASK" ]
then
   export MOLCAS_MEM=$(( $SLURM_MEM_PER_CPU * 2 ))
else
   export MOLCAS_MEM=$(( $SLURM_MEM_PER_CPU * 2 * $SLURM_CPUS_PER_TASK ))
fi
export HomeDir=PWD
## MOLCAS_NPROCS depends on values of "-nodes" and of "--ntasks-per-node"
export MOLCAS_NPROCS=$SLURM_NTASKS
export MOLCAS_WORKDIR=$JOBSCRATCH
export CurrDir=$(pwd)
 
pymolcas ${Project}.cas.input

Remarques

  • Les jobs ont tous des ressources définies dans Slurm par une partition et une “Qualité de Service” QoS (Quality of Service) par défaut. Vous pouvez en modifier les limites en spécifiant une autre partition et/ou une QoS comme indiqué dans notre documentation détaillant les partitions et les Qos.
  • Pour les comptes multi-projets ainsi que ceux ayant des heures CPU et GPU, il est indispensable de spécifier l'attribution d'heures sur laquelle décompter les heures de calcul du job comme indiqué dans notre documentation détaillant la gestion des heures de calcul.