Ejemplo ABINIT
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.