Software

Software

PYTHON Para el lenguaje de programación Python la política es que cada usuario instale Anconda en su cuenta y administre su entrono con los paquetes que requiera. Instalar...

PYTHON

Para el lenguaje de programación Python la política es que cada usuario instale Anconda en su cuenta y administre su entrono con los paquetes que requiera.

Anaconda se instala por defecto en la raíz de su cuenta en el directorio “anaconda3”, todos los paquetes que requiera se instalaran dentro de ese directorio por lo que no requiere de ningún permiso especial.

Para instalar anaconda primero debe ingresar a su cuenta en el clúster y ejecutar lo siguiente en la línea de comandos de linux:

$ wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
$ chmod 755 Anaconda3-2021.05-Linux-x86_64.sh
$ ./Anaconda3-2021.05-Linux-x86_64.sh

Al final de la instalación consulta si quiere activar anaconda en cuanto ingrese a su cuenta, se recomienda responder “yes”.

Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes

Esta activación automática después se puede deshabilitar con el comando.

conda config --set auto_activate_base false

Si respondió “yes” a la consulta, para que tome efecto debe salir de su cuenta y volver a ingresar. Para verificar puede ejecutar el comando “which python”, lo que indicara que el comando esta dentro del directorio “anaconda3”.

(base) [usuario1@cluster ~]$ which python
~/anaconda3/bin/python

Las versiones de Anaconda corresponden a una versión de Python específica, para encontrar todos archivos de instalación debe ingresar al archivo de instaladores.

  • Anaconda3-2019.10 -> Python 3.7.4
  • Anaconda3-2020.02 -> Python 3.7.6
  • Anaconda3-2020.07 -> Python 3.8.3
  • Anaconda3-2021.05 -> Python 3.8.5
Anaconda cuenta con el comando “conda” para gestionar los paquetes. Anaconda ya viene con varios paquetes instalados. Algunas tareas comunes son: Listar los paquetes instalados.
conda list
  Buscar paquetes disponibles para instalar.
conda search nombredelpaquete
Instalar un paquete.
conda install nombredelpaquete

MATLAB

El clúster cuenta con la versión de Matlab R2021a Update 4 con todos sus tolboxes y con licencias ilimitadas. La ejecución de programas  Matlab en el clúster no tiene despliegue gráfico, usted debe subir a su cuenta su archivo con el código de Matlab  y luego enviarlo al clúster.

Para usar MATLAB en su cuenta del clúster debe ejecutar el siguiente comando:

$ module load MATLAB/R2021a

Para ver la versión de Matlab y los tolboxes disponibles debe ejecutar los siguientes comandos dentro de su cuenta:

$ module load MATLAB/R2021a
$ matlab -nodisplay -nojvm -batch "ver"
   

Una vez que tenga el archivo con el código de Matlab en su cuenta puede enviar el trabajo al clúster. En los dos ejemplos a continuación la salida del programa quedara en el archivo “salida.txt”.

Si su código no ejecutara tareas en paralelo (Parallel Computing Toolbox) solo debe solicitar dos cpus, y el archivo de configuración debería ser así:


#!/bin/bash

# Nombre del trabajo
#SBATCH --job-name=Matlab-Test
# Archivo de salida
#SBATCH --output=salida.txt
# Partición (Cola de trabajo)
#SBATCH --partition=512x1024
# Solicitud de cpus
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=2
#SBATCH --mail-user=user1@ing.puc.cl
#SBATCH --mail-type=ALL

module load MATLAB/R2021a
srun matlab -nodisplay -singleCompThread < ejemplo.m

Si su código ejecutara tareas en paralelo usando el "Parallel Computing Toolbox", debe solicitar la cantidad de cpus que especifique su código, por ejemplo si a la función "parpool" le indica que levante 12 workers, la configuración debiese ser así:


#!/bin/bash

# Nombre del trabajo
#SBATCH --job-name=Matlab-Test
# Archivo de salida
#SBATCH --output=salida.txt
# Partición (Cola de trabajo)
#SBATCH --partition=512x1024
# Solicitud de cpus
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=12
#SBATCH --mail-user=user1@ing.puc.cl
#SBATCH --mail-type=ALL

module load MATLAB/R2021a
srun matlab -nodisplay < ejemplo.m
 

El convenio campus-wide license (CWL) con Mathworks permite acceder a los cursos de Matlab que tiene Mathworks en linea. Para esto primero debe crear su cuenta en Mathworks siguiendo las instrucciones que hay en el sitio de la Dirección de Informática de la UC, o puede seguir las instrucciones de este procedimiento. Luego debe ingresar al sitio de la Academia Matlab.

GUROBI

El clúster cuenta con licencias para Gurobi 9.5.1, acá se indica como instalar el paquete Gurobi de Python.

Primero se debe instalar la ultima versión de anaconda, y luego ejecutar lo siguiente:

$ conda install gurobi


Si no tiene instalada la última versión de Anaconda y el comando para instalar le indica que no encuentra el paquete de Gurobi, entonces debe ejecutar lo siguiente:

$ conda config --add channels http://conda.anaconda.org/gurobi
$ conda install gurobi
El clúster tiene configurada la variable de ambiente GRB_LICENSE_FILE, la que indica donde esta el archivo de licencia y con lo cual el código debiese ejecutarse, si no es así ejecute lo siguiente:
$ cd
$ cp $GRB_LICENSE_FILE .

Tensorflow

El clúster cuenta con varias versiones de CUDA y el driver de NVIDA 510.39.01. Se debe instalar “tensorflow-gpu” para usar las GPUs, si solo se instala “tensorflow” el proceso solo se ejecutara en CPUs. Se listaran las configuraciones que se requieren para usar cada una de estas versiones.

La versión predeterminada en el servidor de GPUs es CUDA 10.1. Primero se debe instalar Miniconda, esta versión trae Python 3.8.
$ cd
$ wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.12.0-Linux-x86_64.sh
$ chmod 755 Miniconda3-py38_4.12.0-Linux-x86_64.sh
$ ./Miniconda3-py38_4.12.0-Linux-x86_64.sh
Una vez instalado Miniconda se debe instalar tensorflow-gpu versión 2.2.0.
$ conda install tensorflow-gpu=2.2.0
Primero se debe cargar el módulo.
$ module load cuda/11.0
  Luego se debe instalar Miniconda, esta versión trae Python 3.8.
$ cd
$ wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.12.0-Linux-x86_64.sh
$ chmod 755 Miniconda3-py38_4.12.0-Linux-x86_64.sh
$ ./Miniconda3-py38_4.12.0-Linux-x86_64.sh
  Una vez instalado Miniconda se debe instalar tensorflow-gpu versión 2.4.1.
$ conda install tensorflow-gpu=2.4.1

Primero se debe cargar el módulo.

$ module load cuda/11.2

 

Luego se debe instalar Miniconda, esta versión trae Python 3.9.

$ cd
$ wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.12.0-Linux-x86_64.sh
$ chmod 755 Miniconda3-py39_4.12.0-Linux-x86_64.sh
$ ./Miniconda3-py39_4.12.0-Linux-x86_64.sh

 

Una vez instalado Miniconda se debe activar el repositorio “conda-forge” e instalar “tensorflow-gpu” versión 2.6.0.

$ conda config --add channels conda-forge
$ conda install tensorflow-gpu=2.6.0

Fenics

FEniCS 2019 es una versión heredada, su última versión 2019.1.0 se libero en abril del 2019. 

$ cd
$ wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.12.0-Linux-x86_64.sh
$ chmod 755 Miniconda3-py39_4.12.0-Linux-x86_64.sh
$ ./Miniconda3-py39_4.12.0-Linux-x86_64.sh
$ conda install mamba
$ mamba install fenics