Ejemplo ABINIT

De NLHPC

Introducción

En esta wiki se realiza el tutorial básico para el uso de ABINIT, bajo la partición main.

Este ejercicio permite la ejecución exitosa de https://docs.abinit.org/tutorial/base1/ en la infraestructura de Leftraru EPU.

Carga de módulos y copia de archivos

Nuestro primer paso será la carga de módulos y ver sus detalles para poder conocer las rutas disponibles y copiar archivos necesarios:

ml purge
ml openmpi/5.0.6-zen4-e
ml abinit/10.0.9-mpi-openmp-zen4-b

Una vez cargado los módulos, veremos el detalle de abinit con

ml show abinit/10.0.9-mpi-openmp-zen4-b

Veremos el detalle del módulo y podremos buscar en el directorio por los archivos que necesitamos.

En el caso del tutorial señalado en la página oficial (https://docs.abinit.org/tutorial/base1/) deberemos realizar los siguientes pasos:

  • Copiar archivo tbase1_1.abi
  • Definir variable ABI_PSPDIR en la tarea SBATCH

Copia de Archivo

Realizaremos la copia del archivo en una carpeta para nuestra prueba:

mkdir abitest
cd abitest
cp /home/modules/spack/opt/spack/linux-rocky9-zen4/aocc-4.2.0/abinit-10.0.9-bu4l56e3w3ty6nhicbiurceqr7fxmbql/tests/tutorial/Input/tbase1_1.abi tbase1_1.abi

Y ya podremos preparar nuestro script.

Tarea SBATCH

Editaremos un script para lanzar a la cola de trabajo en el clúster, el que contendrá la siguiente información:

#!/bin/bash
#SBATCH -J abitest
#SBATCH -p main
#SBATCH -n 10
#SBATCH --ntasks-per-node=10
#SBATCH -c 1
#SBATCH --mem-per-cpu=4090
#SBATCH -o abitest_%j.out 

ml purge
ml openmpi/5.0.6-zen4-e
ml abinit/10.0.9-mpi-openmp-zen4-b

export ABI_PSPDIR=/home/modules/spack/opt/spack/linux-rocky9-zen4/aocc-4.2.0/abinit-10.0.9-bu4l56e3w3ty6nhicbiurceqr7fxmbql/tests/Psps_for_tests/

srun abinit tbase1_1.abi

Guardamos nuestro archivo con el nomnbre abitest.job y en nuestro directorio de trabajo tendremos únicamente lo siguiente:

abitest.job
tbase1_1.abi

Es importante destacar que nuestro script ha definido la variable de entorno ABI_PSPDIR, sin dicha variable la ejecución de nuestra tarea fallará.

Ejecutando nuestra tarea

Ejecutaremos nuestra tarea mediante SLURM con:

sbatch abitest.job

Una vez que nuestra tarea se ejecute, veremos que se han generado varios archivos:

abinitest_43646064.out  
abitest.job 
tbase1_1.abi 
tbase1_1.abo 
tbase1_1o_DDB 
tbase1_1o_DEN 
tbase1_1o_EBANDS.agr 
tbase1_1o_EIG 
tbase1_1o_EIG.nc 
tbase1_1o_GSR.nc 
tbase1_1o_OUT.nc 
tbase1_1o_WFK

Nos fijaremos en el archivo abinitest_43646064.out o el equivalente en base a la ejeución del Job ID asignado, el cual deberá tener un contenido similar a:

ABINIT 10.0.9
  
ABI_PSPDIR  found in environment, with value /home/modules/spack/opt/spack/linux-rocky9-zen4/aocc-4.2.0/abinit-10.0.9-bu4l56e3w3ty6nhicbiurceqr7fxmbql/tests/Psps_for_tests/
-instrng: 67 lines of input have been read from file tbase1_1.abi
 

.Version 10.0.9 of ABINIT, released Sep 2024.
.(MPI version, prepared for a x86_64_linux_llvm16.0 computer)  

.Copyright (C) 1998-2024 ABINIT group . 
ABINIT comes with ABSOLUTELY NO WARRANTY.
It is free software, and you are welcome to redistribute it
under certain conditions (GNU General Public License,
see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt).
...
...
--- !FinalSummary
program: abinit
version: 10.0.9
start_datetime: Thu Feb 06 12:27:17 2025
end_datetime: Thu Feb 06 12:27:18 2025
overall_cpu_time:           6.2
overall_wall_time:           6.4
exit_requested_by_user: no 
timelimit: 0
pseudos: 
    H   : 314bcaf03656e059fe5e18308886932b
usepaw: 0
mpi_procs: 10
omp_threads: 1
num_warnings: 0
num_comments: 0
...

Note que el archivo se ha acortado mostrando solo las primereas líneas y el final indicado por --- !FinalSumary.

También se han creado una serie de otros archivos según lo esperado.