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

110 lines
2.8 KiB
Markdown

# Paralelización de simulación de permeabilidad
## 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
```
## Habilitar NIX e ingresar a entorno
```
enable_nix
nix-shell
```
Para más info ver el archivo `shell.nix`.
## Instalación de las librerías (Python 3)
Los siguentes requisitos vienen provistos por `nix-shell`:
* `python3`
* `python3-pip`
* `gfortran`
* `gcc`
* `build-essentials`
```
make install
```
El instalador genera un entorno virtual en `venv`.
Para activar el entorno virtual:
```
source venv/bin/activate
```
Para desactivarlo `deactivate`.
## Correr simulación/tests/performance en cluster
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 eoncolado 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.