Información y ayuda

HPC Universidad de Oriente

Herramientas de usuario

Herramientas del sitio


hpc-script-python

TRABAJO CON PYTHON USANDO LOS MÓDULOS INSTALADOS POR EASYBUILD

Python 3.7 tiene instalado un total de 380 módulos, los cuales pueden satisfacer las necesidades de los usuarios.

Para ver los módulos instalados se ejecuta:

module load Python/3.7.0-foss-2018b
python
>>> help ("modules")

o también:

module load Python/3.7.0-foss-2018b
pip list

En el caso de que sea necesario usar algún módulo que no esté instalado, cada usuario tiene que instalarlo de la forma que se describe a continuación.

Adición de módulos nuevos de python por los usuarios

Los módulos nuevos se instalan con pip usando la opción --user. Con esta opción, los módulos se instalan en el directorio $HOME/.local y solamente el usuario correspondiente puede utilizarlos. Con ello, también se pueden usar los módulos de Python 3.6 sin tener que hacer ninguna instalación.

Para adicionar módulos nuevos:

1. Cargar el módulo de Python:

module load Python/3.7.0-foss-2018b

2. Actualizar pip para trabajar con la última versión disponible. Se recomienda ejecutar este comando cada vez que se vaya a instalar un módulo nuevo:

python -m pip install --upgrade pip --user

3. Verificar que el fichero $HOME/.bash_profile contenga la siguiente línea:

PATH=$PATH:$HOME/.local/bin:$HOME/bin

4. Instalar o desinstalar nuevos módulos:

- Para instalar un módulo nuevo:

python -m pip install <nombre_módulo> --user

Ejemplo:

python -m pip install keras --user

- Para instalar varios módulos al mismo tiempo:

python -m pip install <nombre_módulo1> <nombre_módulo2> ... --user

Ejemplo:

python -m pip install matplotlib scikit-learn --user

- Para instalar un módulo especificando la versión:

python -m pip install <nombre_módulo>==<número de versión> --user

Por ejemplo para instalar theano con la versión 1.0.4:

python -m pip install theano==1.0.4 --user

- En el caso que quiera desinstalar un módulo:

python -m pip uninstall <nombre_módulo> 

Ejemplo:

python -m pip uninstall matplotlib

Aclaraciones sobre TensorFlow usando CPU y Pytorch

Actualmente, la última versión de TensorFlow es la 2.0 pero los procesadores AMD del HPC UO no soportan la opción AVX, lo cual es un requisito para utilizar TensorFlow a partir de la versión 1.6. Esto significa que para trabajar con TensorFlow usando CPU, los usuarios del HPC tienen que utilizar la versión 1.5.0 y deben instalarla con el comando siguiente:

python -m pip install tensorflow==1.5.0 --user

En el caso de PyTorch, hay que instalar torch (y no pytorch), de la forma siguiente:

python -m pip install torch --user

Envío de trabajos con programas escritos en Python

En los scripts de Slurm que siguen se muestran las directivas indispensables, otras directivas las debe incluir el usuario.

1. Cálculo en serie

Para ejecutar un programa secuencial escrito en python, por ejemplo python_serie.py, en el script de envío python_serie.sl hay que especificar:

#!/bin/bash
...
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
...
module load Python/3.7.0-foss-2018b
...
python python_serie.py

Se envía el trabajo con:

sbatch python_serie.sl

2. Cálculo en memoria distribuida

Para ejecutar un programa en paralelo python_paralelo.py en el script de envío python_paralelo.sl, hay que especificar:

#!/bin/bash
...
#SBATCH --nodes=2              # 2, 3, ...
#SBATCH --ntasks-per-node=2    # 2, 3, ...
...
module load Python/3.7.0-foss-2018b
...
python python_paralelo.py

Se envía el trabajo con:

sbatch python_paralelo.sl

3. Cálculo en memoria compartida

Para ejecutar un programa multihilo python_multihilo.py en el script de envío python_multihilo.sl, hay que especificar:

#!/bin/bash
...
#SBATCH --nodes=1
#SBATCH --cpus-per-task=2 # 2,3…
...
module load Python/3.7.0-foss-2018b
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
...
python python_multhilo.py

Se envía el trabajo con:

sbatch python_multihilo.sl
hpc-script-python.txt · Última modificación: 2022/12/14 17:40 por Beatriz Valdés Díaz