You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
simulacion-permeabilidad/README-TUPAC.md

3.2 KiB

Paralelización de simulación de permeabilidad en Cluster HPC (SLURM)

ANTES DEL PRIMER USO

Seguir los siguientes pasos del tutorial:

  1. Clonar este repositorio
  2. Entrar al entorno NIX
  3. Generar entorno Python para la simulación

USO HABITUAL:

Habiendo completado las instrucciones previas al primer uso:

  1. Entrar al entorno NIX
  2. Activar el entorno python
  3. Ejecutar las siimulaciones de interés

Clonar este repositorio

# Por HTTPS
git clone https://git.csc.gob.ar/ssantisi/simulacion-permeabilidad.git
# Por SSH
git clone git@git.csc.gob.ar:ssantisi/simulacion-permeabilidad.git

Entrar a la carpeta del proyecto

cd simulacion-permeabilidad

Entrar al entorno NIX

nix-shell

Para más info ver el archivo shell.nix.

Generar entorno Python para la simulación

Los siguentes requisitos ya vienen provistos por nix-shell:

  • python3
  • python3-pip
  • gfortran
  • gcc
  • build-essentials
make install

El instalador genera un entorno virtual en venv.

Activar el entorno python

Para activar el entorno virtual (LUEGO DE HABER ACTIVADO EL ENTORNO NIX):

source venv/bin/activate

Para desactivarlo deactivate.

Correr simulaciones de interés

Los siguientes comandos encolan trabajos en el cluster, que correrán tan pronto como les toque su lugar en la cola de trabajos. Se puede monitorear el estado de el/los trabajos encolados con squeue. Se puede cancelar un trabajo encolado con scancel numero_de_trabajo

Correr la simulación (en SLURM)

Por defecto: 2 nodos, 32 tasks por nodo. Para cambiarlo editar archivo run-simulation-slurm.

make run-slurm

Una vez en ejecución, la salida se escribe a los siguientes archivos:

  • simulation-nro-de-trabajo.out la salida del trabajo.
  • simulation-nro-de-trabajo.err los errores del proceso

Correr los casos de prueba (en SLURM)

Por defecto: 1 nodo, 64 cpus por nodo. Para cambiarlo editar archivo run-tests-slurm.

make test-slurm

Una vez en ejecución, la salida se escribe a los siguientes archivos:

  • test-nro-de-trabajo.out la salida del trabajo.
  • test-nro-de-trabajo.err los errores del proceso

Correr las pruebas de performance (en SLURM)

Por defecto: 1 nodo, 64 cpus por nodo. Para cambiarlo editar archivo run-perf-slurm.

make perf-slurm

Una vez en ejecución, la salida se escribe a los siguientes archivos:

  • perf-nro-de-trabajo.out la salida del trabajo.
  • perf-nro-de-trabajo.err los errores del proceso

Branches de github

Explicacion sobre las branches que quedaron en github para entender cuales usar:

  • main -> solo la migracion a python3 sin ninguna cambio sobre el modulo de FFTMA (sin mejoras)

  • improvement_NOMBRE -> branch con el NOMBRE de la mejora que esta explicado que hace cada una en el analisis

donde la primera es remove_generate_array y la ultima es multiple_buffers

  • improvement_NOMBRE-logs -> misma branch de mejora pero agregando informacion de logs que se utilizo para realizar los analisis y no deberian utilizarse porque degradan la performance considerablemente.

  • migrate_fortran -> una branch donde se trato de migrar de fortran a C pero quedo inconcluso el trabajo y no se continuo.