Open OnDemand¶
El Open OnDemand es una interfaz que facilita el uso de nuestro entorno HPC conformado por el Cluster Apollo. Para acceder es necesario tener una cuenta válida en LIneA (más información).
El acceso al Open OnDemand es a través de https://ondemand.linea.org.br/.
En la pantalla inicial de la plataforma, en la parte superior, se puede visualizar un menú con los siguientes elementos:
- Files - proporciona una interfaz para su directorio de usuario (Home Directory).
- Jobs - proporciona interfaces para las pantallas "Active Jobs" y "Job Composer".
- Clusters - proporciona acceso al terminal en un navegador web.
- Interactive Apps - proporciona acceso a Jupyter Notebook.
Home Directory¶
El Home Directory permite visualizar el directorio de usuario donde se almacenan sus archivos, además de mostrar varios botones con diferentes funcionalidades.
Cambiando de Directorio¶
Al hacer clic en el botón Change Directory puede navegar por nuestra infraestructura. Solo escriba la ruta en el campo Path y luego presione "ok".
Accediendo al Terminal¶
Al hacer clic en el botón Open Terminal accederá al terminal Linux en la máquina de login (loginapl01) del Cluster Apollo. En este terminal, se encuentra en su directorio "Home" de usuario y puede visualizar sus archivos. También puede ejecutar todas las operaciones habituales de usuario HPC, como asignar nodos de computación y verificar la cola de Slurm mediante comandos.
Creando, Transfiriendo y Moviendo Archivos¶
En el Open OnDemand, crear nuevos archivos y directorios es muy sencillo, así como transferirlos.
- Haga clic en los botones "New File" o "New Directory" y elija el nombre que desea para el nuevo archivo o directorio.
- El botón "Upload" le permite transferir archivos desde su computadora local a su directorio home en nuestro entorno.
- El botón "Download" le permite enviar los archivos seleccionados a su computadora local. Para visualizar, renombrar o editar un archivo creado, haga clic en los "tres puntos" que aparecen junto al archivo para ver un menú con estas opciones. Para mover o copiar archivos, siga estos pasos:
- Seleccione el archivo deseado
- Haga clic en "Copy/Move"
- Haga clic en "Change Directory" y escriba la ruta del directorio destino
- Haga clic en "Copy" o "Move" en el cuadro que aparece en el lado izquierdo de la pantalla.
Jobs¶
En la sección Jobs del menú principal, se encuentran las opciones "Job Composer" y "Active Jobs". La pantalla "Job Composer" facilita el proceso de envío de jobs y en "Active Jobs" puede monitorear la ejecución de su Job con detalles.
Para enviar un job es necesario usar un script de envío como este: (más información)
#!/bin/bash
#SBATCH -p PARTICIÓN #Nombre de la Partición a usar
#SBATCH --nodelist=NODO #Nombre del Nodo a asignar
#SBATCH -J simple-job #Nombre del Job
#----------------------------------------------------------------------------#
##ruta al código ejecutable
EXEC=/scratch/users/USUARIO/ondemand/projects/CODIGO.EJECUTABLE
srun $EXEC
Job Composer¶
El Open OnDemand simplifica todo el proceso de envío de jobs mediante la herramienta Job Composer. Solo siga estos pasos:
- Haga clic en el botón "New Job"
- Elija la opción "Default Template"
- Edite las especificaciones del script de envío en "Open Editor"
- Haga clic en "Submit" para que el Job comience su ejecución.
Aviso Importante
Los nodos de computación del cluster no tienen acceso a su directorio de usuario (Home Directory). Mueva o copie todos los archivos necesarios para el envío de su job a su directorio SCRATCH.
JupyterLab¶
Con el Open OnDemand, es posible acceder al Jupyter Notebook en nuestro entorno HPC. A través de "Interactive Apps", Jupyter Notebook iniciará una sesión en uno de los nodos de computación del cluster. Para ello:
- Haga clic en "Jupyter Notebook"
- Complete los campos "Account", "Partition" y "Select node"
- Presione el botón "Launch"
- Conéctese a JupyterLab haciendo clic en "Connect to Jupyter".
Jupyter en Kubernetes VS Jupyter en HPC
Tenemos dos entornos Jupyter en infraestructuras distintas. Uno disponible en https://jupyter.linea.org.br que se ejecuta sobre Kubernetes. El otro, mencionado arriba, se ejecuta de forma interactiva mediante Open OnDemand directamente en los nodos de procesamiento.
Al abrir un terminal dentro de JupyterLab vía Open OnDemand, podrá ver que está ubicado en un nodo del Cluster Apollo y tiene acceso a su área "scratch" en el almacenamiento Lustre.
Creando Kernels Python¶
Los siguientes comandos deben ejecutarse en el terminal en "LIneA Shell Access".
Para acceder:
- En la página inicial del Open OnDemand, haga clic en: Clusters -> LIneA Shell Access.
Siga estos comandos:
- Vaya a su área SCRATCH, instale y cargue Miniconda:
cd $SCRATCH
curl -L -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh -p $SCRATCH/miniconda
source miniconda/bin/activate
conda deactivate #Necesario para desactivar el env "base"
- Cree y active un venv conda e instale ipykernel:
conda create -p $SCRATCH/kernelname
conda activate kernelname/
conda install -c anaconda ipykernel
- Configure JUPYTER_PATH (debe ser exactamente esta ruta):
JUPYTER_PATH=$SCRATCH/.local
echo $JUPYTER_PATH
python -m ipykernel install --prefix=$JUPYTER_PATH --name 'kernelname'
- Abra una sesión de Jupyter Notebook.
La salida del último comando debe ser:
#[InstallIPythonKernelSpecApp] WARNING | Installing to /lustre/t0/scratch/users/USUARIO/.local/share/jupyter/kernels, which is not in ['/lustre/t0/scratch/users/USUARIO/kernelname/share/jupyter/kernels', '/home/USUARIO/.local/share/jupyter/kernels', '/usr/local/share/jupyter/kernels', '/usr/share/jupyter/kernels', '/home/USUARIO/.ipython/kernels']. The kernelspec may not be found.
Installed kernelspec kernelname in /lustre/t0/scratch/users/USUARIO/.local/share/jupyter/kernels/kernelname
Al finalizar estos comandos, podrá ver el botón del kernel de Python creado.
Videos tutoriales¶
Para cualquier duda, contacte al Service Desk.