Lista de Comandos
Comandos SLURM¶
Principais recursos que você pode pedir com srun
¶
O que pedir | Opção do srun |
Exemplo |
---|---|---|
Número de tarefas (processos) | --ntasks ou -n |
--ntasks=2 |
CPUs por tarefa | --cpus-per-task |
--cpus-per-task=2 |
Memória total ou por CPU | --mem , --mem-per-cpu |
--mem=4G ou --mem-per-cpu=2G |
Tempo de execução | --time=DD-HH:MM:SS |
--time=01:12:49 |
Número de nós | --nodes |
--nodes=2 |
Nó específico | --nodelist |
--nodelist=compute13 |
GPUs | --gpus ou --gres=gpu:<num> |
--gpus=1 ou --gres=gpu:2 |
Partição (fila) | --partition ou -p |
--partition=gpu |
Sessão interativa | --pty bash |
--pty bash |
Exemplos
Pedido simples de execução de tarefa para o SLURM
srun --nodelist=compute10 --partition=normal --ntasks=1 --pty bash
Pedido sem especificar o nó exato:
srun --partition=normal --ntasks=1 --pty bash
Pedido com varias tasks para executar seu programa direto:
srun --partition=normal --ntasks=4 ./meu_programa_paralelo
Principais recursos que você pode pedir com sbatch
¶
O que pedir | Opção do sbatch (no script) |
Exemplo dentro do script |
---|---|---|
Nome do job | --job-name |
#SBATCH --job-name=teste%j |
Número de tarefas (processos) | --ntasks ou -n |
#SBATCH --ntasks=2 |
CPUs por tarefa | --cpus-per-task |
#SBATCH --cpus-per-task=2 |
Memória total ou por CPU | --mem , --mem-per-cpu |
#SBATCH --mem=4G ou --mem-per-cpu=2G |
Tempo de execução | --time=DD-HH:MM:SS |
#SBATCH --time=01:12:49 |
Número de nós | --nodes |
#SBATCH --nodes=2 |
Nó específico | --nodelist |
#SBATCH --nodelist=compute13 |
GPUs | --gpus ou --gres=gpu:<num> |
#SBATCH --gpus=1 ou #SBATCH --gres=gpu:2 |
Partição (fila) | --partition ou -p |
#SBATCH --partition=gpu |
Saída padrão (log) | --output |
#SBATCH --output=saida%j.txt |
Log de Erro do sistema | --error |
#SBATCH --error=erro%j.txt |
Exemplos
Arquivo: job1.slurm
#!/bin/bash
#SBATCH --job-name=teste%j
#SBATCH --partition=normal
#SBATCH --ntasks=1
#SBATCH --time=00:10:00
#SBATCH --output=saida%j.txt
./meu_programa
Submeter com:
sbatch job1.slurm
Comandos gerais do SLURM¶
Finalidade | Comando | Exemplo |
---|---|---|
Ver status das partições e nós | sinfo |
sinfo -N -l |
Ver detalhes de um nó específico | scontrol show node |
scontrol show node compute24 |
Ver detalhes de uma partição | scontrol show partition |
scontrol show partition normal |
Ver todos os jobs ativos | squeue |
squeue |
Ver seus próprios jobs | squeue -u <usuário> |
squeue -u liciascl |
Ver detalhes de um job | scontrol show job |
scontrol show job 12345 |
Cancelar job em execução ou na fila | scancel |
scancel 12345 |
Cancelar todos os seus jobs | scancel -u <usuário> |
scancel -u liciascl |
Ver todos os nós com status detalhado¶
sinfo -N -l
Ver informações completas do nó compute24
¶
scontrol show node compute24
IDLE
, ALLOCATED
, etc.).
Ver configurações de uma partição especifica¶
scontrol show partition normal
Ver jobs no sistema¶
squeue
R
(running), PD
(pending), etc.
Ver só os jobs da usuária liciascl
¶
squeue -u liciascl
Ver informações completas de um job específico¶
scontrol show job 12345
Cancelar job com ID 12345
¶
scancel 12345
Cancelar todos os seus jobs¶
scancel -u $USER
Para mais consulte a documentação oficial em https://slurm.schedmd.com/documentation.html
Pra verificar Hardware¶
CPU¶
- lscpu Mostra arquitetura, número de núcleos, threads, caches.
lscpu
Exemplo de saída:
Architecture: x86_64
CPU(s): 40
Thread(s) per core: 2
Core(s) per socket: 10
Socket(s): 2
L1d cache: 32K
L2 cache: 1M
L3 cache: 13M
Lista detalhes por CPU lógico (modelo, MHz, cache).
cat /proc/cpuinfo
Mostra o número de CPUs disponíveis.
nproc
Memória RAM¶
Mostra uso e total de memória física e swap.
free -h
Detalhes avançados de memória (MemTotal, MemFree, Buffers, Cached).
cat /proc/meminfo | grep -E "MemTotal|MemFree|MemAvailable|Swap"
Estatísticas de memória, processos e CPU.
vmstat 1 5
Cache¶
Mostra rapidamente o tamanho das caches.
lscpu | grep cache
Lista tamanhos de cada nível de cache (por CPU).
cat /sys/devices/system/cpu/cpu0/cache/index*/size
Shell script para trazer de forma resumida informações úteis
echo '=== HOSTNAME ==='; hostname; echo; \
echo '=== MEMORIA (GB) ==='; \
cat /proc/meminfo | grep -E 'MemTotal|MemFree|MemAvailable|Swap' | \
awk '{printf \"%s %.2f GB\\n\", \$1, \$2 / 1048576}'; \
echo; \
echo '=== CPU INFO ==='; \
lscpu | grep -E 'Model name|Socket|Core|Thread|CPU\\(s\\)|cache'
echo '=== GPU INFO ==='; \
if command -v nvidia-smi &> /dev/null; then nvidia-smi; else echo 'nvidia-smi não disponível'; fi
srun --partition=normal --ntasks=1 --pty bash -c \
"echo '=== HOSTNAME ==='; hostname; echo; \
echo '=== MEMORIA (GB) ==='; \
cat /proc/meminfo | grep -E 'MemTotal|MemFree|MemAvailable|Swap' | \
awk '{printf \"%s %.2f GB\\n\", \$1, \$2 / 1048576}'; \
echo; \
echo '=== CPU INFO ==='; \
lscpu | grep -E 'Model name|Socket|Core|Thread|CPU\\(s\\)|cache'
echo '=== GPU INFO ==='; \
if command -v nvidia-smi &> /dev/null; then nvidia-smi; else echo 'nvidia-smi não disponível'; fi"