quickstart.rst
-
Odair M. authored
build(Makefile,gitignore): Add struct of watch function on makefile, add 'nohup.out' on .gitignore feat(Html): Add favicon icon on html pages refactor(Access-page): Refactor the access page, rename sections and add some examples feat(Statics): Add static files, like favicon.svg, diagrams, and others feat(Overview-page): Add initial overview page feat(Quickstart-page): Add initial quickstart
Odair M. authoredbuild(Makefile,gitignore): Add struct of watch function on makefile, add 'nohup.out' on .gitignore feat(Html): Add favicon icon on html pages refactor(Access-page): Refactor the access page, rename sections and add some examples feat(Statics): Add static files, like favicon.svg, diagrams, and others feat(Overview-page): Add initial overview page feat(Quickstart-page): Add initial quickstart
Guia rápido de submissão
A submissão de jobs pode ser realizado por dois comandos do gerenciador do cluster: srun
e sbatch
. O comando srun
executa na linha de comando e é bloqueante, equanto o comando sbatch
executa um arquivo de configuração e não é bloqueante.
Contents
Principais parametros de submissão:
-p|--partition nome
Especifica o nome da partição que o job será executado.-t|--time tempo
Especifica um tempo limite para a execução do job. Caso o tempo limite especificado seja maior que o tempo da partição, o job ficará com o estado pendente (PENDING), possivelmente para sempre. Formatos de tempo aceitos: “minutos”, “minutos:segundos”, “horas:minutos:segundos”, “dias-horas”, “dias-horas:minutos” e “dias-horas:minutos:segundos”.-c|--cpus-per-task
Especifica a quantidade de core/threads o seu programa vai utilizar.--mem tamano unidade
Especifica quantidade de memória seu programa vai utilizar.-n NUM_PROCESSOS
Especifica o número de processos a serem iniciados.-N NUM_NODOS
Especifica que deverão ser alocados pelo menos NUM_NODOS nodos para a execução do job, ou seja, cada nodo vai executar NUM_PROCESSOS dividido por NUM_NODOS.–job-name=NOME
Especifica o nome do Job que será executado. Este nome irá aparecer juntamente com o id do job na listagem de jobs do sistema.-e
Especifica o redirecionamento do stderr. Exemplo:
-e arquivoErros.txt
-o
Especifica o redirecionamento do stdout. Caso -e não tenha sido especificado, stderr também será enviado para o arquivo especificado. Exemplo:
-o arquivoSaida.txt
ou--output arquivoSaida.txt
Comando srun
srun
submete um job para o escalanodador, por padrão esse comando é bloqueante. A sintaxe do comando é:srun executavel
Exemplo: Execução simples do srun
O exemplo submete o programa /cluster/tests/omp/omp
para fila de execução do cluster e será executado quando tiver recursos disponíveis.
testem@c3hpc:~$ srun /cluster/tests/omp/omp
Missing arguments
Usage: /cluster/tests/omp/omp [-n|--nprocs] <cpus> [-t|--time] <time>
Examples:
Example 1: short options: To Execute program with 4 threads during 10 seconds:
/cluster/tests/omp/omp -n 4 -t 10
Example 2: long options: To Execute program with 8 threads during 15 seconds:
/cluster/tests/omp/omp --nprocs 8 --time 15
srun: error: node4: task 0: Exited with exit code 2
testem@c3hpc:~$ srun /cluster/tests/omp/omp --nprocs 4 -t 4
Time 4 Nproc 4
count: 258531857
count: 260249707
count: 262771821
count: 262113384
testem@c3hpc:~$
srun <argumentos do srun> executavel
Exemplo: Execução com argumentos srun
No exemplo abaixo, o executável é um programa em openMP que lança 4 threads, mas o srun só disponibiliza duas threads para ser executado. Portanto para que as quatros threads tenham aceso a 4 nucleo de processamento é necessário passar o argumento --cpus-per-task 4
.
testem@c3hpc:~$ srun --cpus-per-task 2 --mem 16G --partition maratona /cluster/tests/omp/omp --nprocs 4 -t 60
Time 60 Nproc 4
count: 430357224
count: -63444304
count: -21866144
count: -33171848
testem@c3hpc:~$
Comando sbatch
#SBATCH
antes da opção.#SBATCH --time=1
Abaixo, um exemplo de script que roda a aplicação “meuPrograma” que está dentro do diretório bin. A aplicação irá executar por no máximo 7 dias e é solicitado 1 nodo para a execução.
sbatch -o saida.txt meuscript.sh
Modelo de arquivo sbatch
#!/bin/bash
#SBATCH -t 1-10:00:00
#SBATCH --cpus-per-task=NUM_CPUS_POR_PROCESSO
#SBATCH -o ARQUIVO_DE_SAIDA
#SBATCH --job-name=NOME_JOB
#SBATCH -p PARTICAO_ONDE_SERA_EXECUTADO
#SBATCH -n NUM_DE_PROCESSOS
#SBATCH -N NUM_NODOS_NECESSARIOS
srun $HOME/meuPrograma parametro1Programa parametro2Programa
sbatch -o saida.txt -t 5-00:00:00 meuscript.sh
Cancelando jobs
scancel jobId
Note
O jobid pode ser obitido através do comando squeue