Open OnDemand¶
O Open Ondemand é uma interface que facilita a utilização do nosso ambiente de HPC constituído pelo Cluster Apollo. Para acessar é necessário possuir uma conta válida no LIneA (saiba mais). O acesso ao Open Ondemand é através de https://ondemand.linea.org.br/ .
Na tela inicial da plataforma, na parte superior, é possível visualizar um menu com os seguinte itens:
- Files - fornece uma interface para o seu diretório de usuário (Home Directory).
- Jobs - fornece uma interface para as telas “Active Jobs” e “Job Composer”.
- Clusters - fornece um acesso para o terminal em um navegador da web.
- Interactive Apps - fornece acesso ao Jupyter Notebook.
Home Directory¶
O Home Directory possibilita a visualização do diretório de usuário, onde estão armazenados seus arquivos, além de exibir uma variedade de botões com diferentes funcionalidades.
Mudando de Diretório¶
Clicar no botão Change Directory permite que você mude de diretório dentro da nossa infraestrutura. Para isso, basta escrever o caminho no campo Path e em seguida apertar "ok".
Acessando o Terminal¶
Clicar no botão Open Terminal o levará ao terminal linux dentro da máquina de login (loginapl01) do Cluster Apollo. Neste terminal, você se encontra no seu diretório "Home" de usuário e tem a capacidade de visualizar seus arquivos. No terminal também é possível executar todas as operações usuais de usuário HPC, como por exemplo, alocar um nó de computação e verificar a fila Slurm usando comandos.
Criando, Transferindo e Movendo Arquivos¶
No Open OnDemand a criação de novos arquivos e diretórios é bem simples, bem como a transferência deles.
- Clique nos botões "New File" ou "New Directory" e escolha o nome que deseja para o novo arquivo ou diretório.
- O botão "Upload" permite que você transfira arquivos da sua máquina para o seu diretório home em nosso ambiente;
- O botão "Download" possibilita enviar os arquivos que foram selecionados para a sua máquina local.
Para visualizar, renomear ou editar o novo arquivo criado, clique nos "três pontinhos" que aparecem ao lado direito do arquivo e você verá um menu com essas opções.
Para mover ou copiar arquivos é preciso seguir os passos:
- Selecionar o arquivo que deseja;
- Clicar no botão "Copy/Move";
- Clicar em "Change Directory" e escrever o caminho do diretório para onde deseja copiar ou mover o arquivo;
- Clicar em "Copy" ou "Move" na caixa que aparece no canto esquerdo da tela.
Jobs¶
Na seção Jobs do menu inicial, encontram-se as opções "Job Composer" e "Active Jobs". A tela "Job Composer" facilita o processo de submissão de jobs e em "Active Jobs" você pode acompanhar a execução do seu Job com detalhes.
Para submeter um job é necessário utilizar um script de submissão como este descrito abaixo: (saiba mais)
#!/bin/bash
#SBATCH -p PARTITION #Name of the Partition to use
#SBATCH --nodelist=NODE #Name of the Node to be allocated
#SBATCH -J simple-job #Job name
#----------------------------------------------------------------------------#
##path to executable code
EXEC=/lustre/t0/scratch/users/YOUR.USER/ondemand/projects/EXECUTABLE.CODE
srun $EXEC
Job Composer¶
O Open OnDemand facilita todo o processo de submissão de jobs através da ferramenta Job Composer. Para isto basta seguir os seguintes passos:
- Clicar no botão "New Job";
- Escolher a opção "Default Template";
- Editar as especificações do script de submissão em "Open Editor";
- Clicar em "Submit" para que o Job entre em execução.
Aviso Importante
Os nós de computação do cluster não possuem acesso ao seu diretório de usuário (Home Directory). Mova ou copie, para seu diretório SCRATCH, todos os arquivos necessários para a submissão do seu job.
JupyterLab¶
Com o Open OnDemand, é viável acessar o Jupyter Notebook em nosso ambiente de HPC. Por meio de "Interactive Apps", o Jupyter Notebook iniciará uma sessão em um dos nós de computação do cluster, bastando para isso:
- Clicar em "Jupyter Notebook";
- Em seguida preencher os campos "Account", "Partition" e "Select node";
- Depois pressionar o botão "Launch".
- Para conectar-se ao JupyterLab, clicando em "Connect to Jupyter".
Jupyter no Kubernetes VS Jupyter no HPC
Nós possuímos dois ambientes Jupyter em duas infraestruturas distintas. Um deles está disponível em https://jupyter.linea.org.br e é executado sobre Kubernetes. O outro, mencionado acima, é executado de forma interativa pela plataforma Open OnDemand diretamente nos nós de processamento.
Ao abrir um terminal dentro do JupyterLab via Open OnDemand, você poderá verificar que está localizado em um nó do Cluster Apollo e tem acesso à sua área "scratch" no storage de armazenamento Lustre.
Criando Kernels Python¶
Os comandos a seguir devem ser executados no terminal em "LIneA Shell Access".
Para acessar:
- Na pagina inicial do Open OnDemand, clique em: Clusters -> LIneA Shell Access.
Siga os comandos abaixo:
- Vá para sua área SCRATCH, Instale e carregue o 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 #Necessário para desativar o env "base"
- Crie, ative um venv conda e instale o ipykernel:
conda create -p $SCRATCH/kernelname conda activate kernelname/ conda install -c anaconda ipykernel
- Configure o JUPYTER_PATH (obrigatório ser esse caminho abaixo):
JUPYTER_PATH=$SCRATCH/.local echo $JUPYTER_PATH python -m ipykernel install --prefix=$JUPYTER_PATH --name 'kernelname'
- Abra uma sessão do Jupyter Notebook.
O output do último comando deve ser:
#[InstallIPythonKernelSpecApp] WARNING | Installing to /lustre/t0/scratch/users/YOUR.USER/.local/share/jupyter/kernels, which is not in ['/lustre/t0/scratch/users/YOUR.USER/kernelname/share/jupyter/kernels', '/home/YOUR.USER/.local/share/jupyter/kernels', '/usr/local/share/jupyter/kernels', '/usr/share/jupyter/kernels', '/home/YOUR.USER/.ipython/kernels']. The kernelspec may not be found.
Installed kernelspec kernelname in /lustre/t0/scratch/users/YOUR.USER/.local/share/jupyter/kernels/kernelname
Ao final dessa execução de comandos, será possível ver o botão do kernel python criado.
Vídeos tutoriais¶
Qualquer dúvida, entre em contato com o Service Desk.