Siesta à l'IDRIS


Vous êtes ici : Support technique -> Chimie -> Siesta.


Le logiciel Siesta version 2.01 est installé à l'IDRIS, sur la machine Vargas, en version séquentielle et parallèle.

Si vous n'avez pas besoin de modifier les fichiers sources de Siesta, vous pouvez utiliser les exécutables compilés par l'assistance. Vous évitez ainsi les problèmes d'installation et vous n'avez pas besoin de stocker les fichiers sources de Siesta.

Si vous voulez modifier les fichiers sources de Siesta et donc compiler Siesta vous-même, nous vous proposons d'utiliser les fichiers suivants. Les fichiers Siesta_seq.mk et Siesta_par.mk sont à copier dans le répertoire Src/Sys de Siesta. Le fichier Makefile remplace le fichier de même nom dans le répertoire Src/MPI de Siesta. Selon que vous vouliez créer un exécutable séquentiel ou parallèle, vous devez créer un lien symbolique arch.make dans le répertoire Src qui pointe vers Siesta_seq.mk ou Siesta_par.mk. Par exemple, depuis le répertoire Src :

ln -s Sys/Siesta_par.mk arch.make

Pour avoir accès aux exécutables que nous avons compilés, vous devez avoir une licence personnelle d'utilisation de Siesta. La démarche à suivre pour obtenir cette licence est décrite sur le site officiel de Siesta, rubrique distribution. Contactez-nous ensuite . Nous sommes tenus de vérifier auprès de l'équipe de Siesta que vous êtes bien enregistré avant de vous donner l'accès aux exécutables.

Les exécutables :

sont dans le répertoire /usr/local/prod/SIESTA/2.0.2/bin sur Vargas. Vous pouvez aussi utiliser l'exécutable atm_2.0.2 (cf. le manuel de Siesta, § 2.2) sous le meme répertoire.

Exemple d'exécution séquentielle

Voici un exemple en interactif pour la molécule H2O. Les fichiers de pseudo-potentiels, H.psf et O.psf, n'apparaissent pas dans la commande d'exécution de Siesta mais doivent être présents dans le répertoire courant au moment de l'exécution. Supposons que le chemin /usr/local/prod/SIESTA/2.0.2/bin soit inclus dans la variable d'environnement PATH. Imaginons que vous conserviez le fichier d'entrée, H2O.fdf, et les fichiers de pseudo-potentiels dans le répertoire $home alors, à partir de ce répertoire, tapez :

cp H.psf O.psf $workdir
cd $workdir
siesta_seq <~/H2O.fdf >H2O.out

Pour placer cette même exécution en queue et non en interactif, créez un fichier de soumission du type suivant :

#@ wall_clock_limit = 01:00:00
# (means 1 heure de temps "elapse")
#@ data_limit = 200MB
# (means 200 megabytes)

#@ job_name = siesta
#@ output = $(job_name).out
#@ error =  $(output)

#@ queue

set -x

cp H.psf O.psf H2O.fdf $tmpdir
cd $tmpdir
siesta_seq <H2O.fdf >H2O.out

ls -l

mv H20.out $LOADL_STEP_INITDIR
# save to $LOADL_STEP_INITDIR or $workdir any other file you need
puis soumettez ce fichier depuis le répertoire contenant les fichiers de pseudo-potentiel et le fichier d'entrée.

Exemple d'exécution parallèle

Toujours avec l'exemple de la molécule H2O, en interactif. Supposons que le chemin /usr/local/prod/SIESTA/2.0.2/bin soit inclus dans la variable d'environnement PATH. Imaginons que vous conserviez le fichier d'entrée, H2O.fdf, et les fichiers de pseudo-potentiels dans le répertoire $home alors, à partir de ce répertoire, tapez :

cp H.psf O.psf $workdir
cd $workdir
export MP_PROCS=2 # choose the number of processes here
siesta_par <~/H2O.fdf >H2O.out

Pour placer cette même exécution en queue et non en interactif, créez un fichier de soumission du type suivant :

#@ job_type = parallel
#@ total_tasks = 2
#@ wall_clock_limit = 01:00:00
# (means 1 heure de temps "elapse"
#@ data_limit = 200MB
# (means 200 megabytes per process)

#@ job_name = siesta
#@ output = $(job_name).out
#@ error =  $(output)

#@ queue

set -x

cp H.psf O.psf H2O.fdf $tmpdir
cd $tmpdir
siesta_par <H2O.fdf >H2O.out

ls -l

mv H20.out $LOADL_STEP_INITDIR
# save to $LOADL_STEP_INITDIR or $workdir any other file you need
puis soumettez ce fichier depuis le répertoire contenant les fichiers de pseudo-potentiel et le fichier d'entrée.


© CNRS - IDRIS, 13/01/2012