Para conectar, após conectar na gate:
ssh usuario@bohr.ifi.unicamp.br
No cluster Bohr está disponível a versão de Intel MPI 5 e compiladores Intel2019.
Para utilizar essa versão deve-se executar:
module load intel2019
module load intelmpi2019
module load impi/5.1
Filas de processamento definidas
Os nodes possuem 2 processadores Intel Xeon ) Gold 6148 com 192 GB de RAM. Dessa forma, cada node possui 2 (processadores )* 20 (núcleo por processadores) *2 (threads por núcleo) = 80. O usuário pode escolher em um ppn com o número de cores máximo de 40.
A submissão de jobs para o nós de processamento é realizado através de filas de processamento. Na tabela abaixo contém as filas que estão definidas no momento:
Fila | descrição/uso | # de cores | jobs por usuário | tempo máximo (walltime) | nós disponíveis -l nodes |
par40 | para jobs que precisem de até 40 cores e um node | 40 | 1 | 3 dias | 1 |
par120 | para jobs que precisem de até 120 cores | 120 | 1 | 3 dias | 3 |
emu | para jobs de usuários externos | 40 | 1 | 3 dias | 1 |
teste | para jobs serem testados antes de submeter na fila principal | 5 | 1 | 20 minutos | 1 |
Filas de processamento definidas
A submissão de jobs para o nós de processamento é realizado através de filas de processamento. A seguir apresenta-se as filas que estão definidas no momento:
- Para o envio de jobs , deve-se criar um arquivo de submissão (por exemplo exemplo 1.pbs) e usar o comando qsub (por exemplo qsub exemplo1.pbs)
- Cada usuário poderá ter no máximo 2 jobs na mesma fila (um executando e outro esperando a execução ou dois jobs esperando execução)
Exemplos de arquivos para envio de jobs
- envio para a fila par40 (permite ate 40 cores em máquinas com 192 GB de RAM)
#!/bin/bash
#PBS -N test
### Arquivos de saida
#PBS -e test.err
#PBS -o test.out
### Definindo a fila e o número de processadores
## no caso, estamos solicitando para rodar na fila par40
## e solicitando 1 node e 40 cores em cada um, totalizando 40 cores
#PBS -q par40
#PBS -l nodes=1:ppn=40
cd $PBS_O_WORKDIR
module load intelmpi2019
module load intel2019
module load impi/5.1
export I_MPI_HYDRA_BOOTSTRAP=rsh
export I_MPI_HYDRA_BOOTSTRAP_EXEC=/opt/pbs/bin/pbs_tmrsh
export I_MPI_DEVICE=rdssm
export I_MPI_FABRICS=ofa
mpirun -n 40 ./binario
- envio para a fila par120 (permite ate 120 cores em máquinas com 192 GB de RAM)
#!/bin/bash #PBS -N test ### Arquivos de saida #PBS -e test.err #PBS -o test.out ### Definindo a fila e o número de processadores ## no caso, estamos solicitando para rodar na fila par120 ## e solicitando 3 nodes e 40 cores em cada um, totalizando 120 cores #PBS -q par120 #PBS -l nodes=3:ppn=40 cd $PBS_O_WORKDIR module load intelmpi2019 module load intel2019 module load impi/5.1 export I_MPI_HYDRA_BOOTSTRAP=rsh export I_MPI_HYDRA_BOOTSTRAP_EXEC=/opt/pbs/bin/pbs_tmrsh export I_MPI_DEVICE=rdssm export I_MPI_FABRICS=ofa mpirun -n 120 ./binario
- envio para a fila gpu_a100 (permite ate 40 cores com 192 GB de RAM e uma GPU Nvidia A100)
#!/bin/bash
#PBS -N test
### Arquivos de saida
#PBS -e test.err
#PBS -o test.out
### Definindo a fila e o número de processadores
## no caso, estamos solicitando para rodar na fila par40
## e solicitando 1 node e 40 cores em cada um, totalizando 40 cores
#PBS -q gpu_a100
#PBS -l nodes=1:ppn=40
cd $PBS_O_WORKDIR
module load intelmpi2019
module load intel2019
module load impi/5.1
export I_MPI_HYDRA_BOOTSTRAP=rsh
export I_MPI_HYDRA_BOOTSTRAP_EXEC=/opt/pbs/bin/pbs_tmrsh
export I_MPI_DEVICE=rdssm
export I_MPI_FABRICS=ofa
mpirun -n 40 ./binario
- Comandos básicos:
- qsub – para submissao de jobs, por exemplo
- qsub exemplo1.pbs
- qdel – para remocao de jobs das filas, por exemplo
- qdel jobid: remove o job jojid da fila
- qstat – exibe o estado de filas e jobs, por exemplo
- qstat -q: lista todas as filas do sistema
- qstat -Q: lista os “limites” de todas as filas do sistema
- qstat -a: lista todos os jobs
- qstat -au userid: lista todos os jobs de determinado usuário
- qstat -r: lista todos os jobs em execução
- qstat -f jobid: lista toda s informação sobre determinado job
- qsub – para submissao de jobs, por exemplo