Como Utilizar¶
Como acessar¶
O acesso ao nosso cluster pode ser feito, através do Open OnDemand ou pelo do Terminal do JupyterLab (K8S). Em ambas opções, é imprescindível possuir uma conta válida no ambiente computacional do LIneA. Caso não possua uma conta, entre em contato com o Service Desk por email (helpdesk@linea.org.br) para mais informações.
Atenção
Mesmo possuindo uma conta ativa no LIneA, o acesso ao ambiente de processamento HPC não é automático. Para mais informações entre em contato com o Service Desk pelo email helpdesk@linea.org.br.
Acessando pelo terminal do JupyterLab
Na tela inicial do seu Jupyter Notebook, na seção "Other", você encontrará o botão do terminal. Ao clicar nele, você será redirecionado para um terminal Linux, inicialmente localizado em seu diretório home. Para acessar o Cluster Apollo, basta executar o seguinte comando:
ssh loginapl01
A máquina loginapl01 é onde você poderá fazer a alocação do nó de computação para submeter o seu job.
$HOME e $SCRATCH
Os nós de computação não possuem acesso ao seu diretório (home) de usuário. Mova ou copie, para seu diretório SCRATCH, todos os arquivos necessários para a submissão do seu job.
Como usar a area de SCRATCH¶
Seu diretório SCRATCH é o local para enviar os arquivos essenciais à submissão do seu Job, assim como verificar os resultados após a execução do código. É crucial informar que todos os resultados e arquivos gerados devem ser transferidos de volta para o seu diretório de usuário (home)
. Caso contrário, há o risco de perder esses arquivos armazenados no seu SCRATCH
.
- Para acessar o seu diretório SCRATCH:
ssh $SCRATCH
- Para enviar arquivos para seu diretório SCRATCH:
cp <ARQUIVO> $SCRATCH
Gerenciador de pacotes EUPS¶
O EUPS é um gerenciador de pacotes alternativo (e oficial do LSST) que permite carregar variáveis de ambiente e incluir o caminho para programas e bibliotecas de forma modular.
- Para carregar o EUPS:
. /mnt/eups/linea_eups_setup.sh
- Para listar todos os pacotes disponíveis:
eups list
- Para listar um pacotes específico:
eups list | grep <PACOTE>
- Para carregar um pacotes na sessão atual:
setup <NOME DO PACOTE> <VERSÃO DO PACOTE>
- Para remover o pacote carregado:
unsetup <NOME DO PACOTE> <VERSÃO DO PACOTE>
Como Submeter um Job¶
Um Job solicita recursos de computação e especifica os aplicativos a serem iniciados nesses recursos, juntamente com quaisquer dados/opções de entrada e diretivas de saída. O gerenciamento e agendamento das tarefas e recursos do cluster é feito através do Slurm. Logo, para submeter um Job é necessário utilizar um script como abaixo:
#!/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/EXECUTABLE.CODE
srun $EXEC
.............. Para mais templates de script de submissão de Jobs, clique aqui ..............
-
Para submeter o Job:
Se o script estiver correto haverá uma saída que indica o ID do job.sbatch script-submit-job.sh
-
Para verificar o andamento e informações do Job:
scontrol show job <ID>
- Para cancelar o Job:
scancel <ID>
Comandos úteis do Slurm¶
Para aprender sobre todas as opções disponíveis para cada comando, insira man <comando>
enquanto estiver conectado ao ambiente do Cluster.
Comando | Definição |
---|---|
sbatch | Envia scripts de tarefas para a fila de execução |
squeue | Exibir estado dos jobs |
scontrol | Usado para exibir o estado Slurm (várias opções disponíveis apenas para root) |
sinfo | Exibir estado de partições e nós |
salloc | Envia um job para execução ou inicia um trabalho em tempo real |