xTB/Crest sur Jean Zay

Présentation

xTB est un package de programmes semi-empiriques de Tight-Binding développé par le groupe Grimme à Bonn.

Crest est une extension du package xTB. Il fonctionne comme un planificateur OpenMP basé sur les IO (I.E., des calculs sont effectués par le programme xTB). Cette extension est outillée pour la création et l'analyse des ensembles de structure.

Liens utiles

Versions disponibles

xTB :

Version Modules à charger
6.4.1 xtb/6.4.1
6.5.0 xtb/6.5.0

Crest

Version Modules à charger
2.11.1 crest/2.11.1

Script de soumission de xTB sur la partition CPU

xtb_omp.slurm
#!/bin/bash                                                                                                                                                                                         
#SBATCH --nodes=1                   # Number of nodes
#SBATCH --ntasks-per-node=1         # Number of tasks per node
#SBATCH --cpus-per-task=4           # Number of cores for each task (important to get all memory)
#SBATCH --hint=nomultithread        # Disable hyperthreading
#SBATCH --job-name=xtb_omp          # 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 100h)
##
## 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 20 hours (up to 4 nodes)
 
# echo commands
set -x
 
# Cleans out the modules loaded in interactive and inherited by default
module purge
 
# Load needed modules
module load xtb/6.4.1
 
# go into the submission directory
cd ${SLURM_SUBMIT_DIR}
 
# number of OpenMP threads
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
 
# Execute code
srun xtb struc.xyz -gfn2 -g h2o -T 4

Script de soumission de Crest sur la partition CPU

crest_omp.slurm
#!/bin/bash                                                                                                                                                                                         
#SBATCH --nodes=1                   # Number of nodes
#SBATCH --ntasks-per-node=1         # Number of tasks per node
#SBATCH --cpus-per-task=4           # Number of cores for each task (important to get all memory)
#SBATCH --hint=nomultithread        # Disable hyperthreading
#SBATCH --job-name=crest_omp        # 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 100h)
##
## 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 20 hours (up to 4 nodes)
 
# echo commands
set -x
 
# Cleans out the modules loaded in interactive and inherited by default
module purge
 
# Load needed modules
module load crest/2.11.1
 
# go into the submission directory
cd ${SLURM_SUBMIT_DIR}
 
# number of OpenMP threads
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
 
# Execute code
srun crest struc.xyz -gfn2 -g h2o -T 4

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.