parent
fc50b6b600
commit
949b7853ab
@ -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…
Reference in New Issue