Readme + plantillas SLURM

+ Makefile con posibilidad de correr en slurm
main
parent fc50b6b600
commit 949b7853ab

@ -5,9 +5,19 @@ install:
run:
bash ./run_simulation.sh
test: binaries
test:
cd tests/integration && python3 -m unittest test.py
perf: binaries
perf:
cd tests/performance && python3 generation.py
cd tests/performance && python3 connectivity.py
run-slurm:
sbatch run-simulation-slurm
test-slurm:
sbatch run-test-slurm
perf-slurm:
sbatch run-perf-slurm

@ -0,0 +1,73 @@
# 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
```
## Instalación de las librerías (Python 3)
Como requisitos previos a la instalación hace falta tener:
* `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 la simulación
```
make run
```
## Correr los casos de prueba
```
make test
```
## Correr las pruebas de performance
```
make perf
```
## 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.

@ -0,0 +1,109 @@
# 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.

@ -1,84 +1,9 @@
# Paralelización de simulación de permeabilidad
## Clonar este repositorio
## Corrida en PC de escritorio/laptop
```
# 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
```
Ver archivo **README-LOCAL.md**.
Entrar a la carpeta del proyecto
## Corrida en cluster TUPAC
```
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)
Como requisitos previos a la instalación hace falta tener:
**(Si se usa `nix-shell` ya están provistas estas dependencias)**
* `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 la simulación
```
make run
```
## Correr los casos de prueba
```
make test
```
## Correr las pruebas de performance
```
make perf
```
## 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.
Ver archivo **README-TUPAC.md**.

@ -0,0 +1,22 @@
#!/usr/bin/env bash
#SBATCH -o perf-$j.out
#SBATCH -e perf-%j.err
#SBATCH -N 1
#SBATCH --ntasks-per-node 32
#SBATCH --partition=free-rider
hostname
date
source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
# vuelca lista de nodos asignados a un archivo "nodefile"
nodelist=$(scontrol show hostname $SLURM_NODELIST)
printf "%s\n" "${nodelist[@]}" > nodefile
source venv/bin/activate
# ejecuta mpirun con el nodefile creado
make perf
rm nodefile

@ -0,0 +1,22 @@
#!/usr/bin/env bash
#SBATCH -o simulation-%j.out
#SBATCH -e simulation-%j.err
#SBATCH -N 2
#SBATCH --ntasks-per-node 32
#SBATCH --partition=free-rider
hostname
date
source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
# vuelca lista de nodos asignados a un archivo "nodefile"
nodelist=$(scontrol show hostname $SLURM_NODELIST)
printf "%s\n" "${nodelist[@]}" > nodefile
source venv/bin/activate
# ejecuta mpirun con el nodefile creado
mpirun --hostfile nodefile python3 ./mpirunner.py
rm nodefile

@ -0,0 +1,23 @@
#!/usr/bin/env bash
#SBATCH -o test-%j.out
#SBATCH -e test-%j.err
#SBATCH -N 1
#SBATCH --ntasks-per-node 32
#SBATCH --partition=free-rider
hostname
date
source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
# vuelca lista de nodos asignados a un archivo "nodefile"
nodelist=$(scontrol show hostname $SLURM_NODELIST)
printf "%s\n" "${nodelist[@]}" > nodefile
source venv/bin/activate
# ejecuta mpirun con el nodefile creado
#mpirun --hostfile nodefile python3 ./mpirunner.py
make test
rm nodefile
Loading…
Cancel
Save