Guia rápido — SLURM¶
Comandos gerais¶
| O que quero fazer | Comando |
|---|---|
| Ver partições e nós | sinfo |
| Ver meus jobs | squeue -u $USER |
| Ver detalhes de um job | scontrol show job <JOB_ID> |
| Ver detalhes de um nó | scontrol show node <NODE> |
| Ver detalhes de uma partição | scontrol show partition <PARTITION> |
| Cancelar um job | scancel <JOB_ID> |
| Cancelar todos os meus jobs | scancel -u $USER |
Cluster Franky¶
Partições¶
| Recurso | Partição |
|---|---|
| CPU | merry_cpu / sunny_cpu / pluton_cpu |
| GPU | merry_gpu / sunny_gpu / pluton_gpu |
Execução interativa¶
Abrir um terminal em um nó¶
srun --nodelist=compute10 \
--partition=merry_cpu \
--mem=1G \
--pty bash
Executar programa sequencial¶
CPU¶
srun --partition=pluton_cpu \
--mem=1G \
./meu_binario
CPU de um nó da fila de GPU¶
srun --partition=pluton_gpu \
--mem=1G \
./meu_binario
Executar programa OpenMP¶
export OMP_NUM_THREADS=4
srun --partition=merry_cpu \
--mem=1G \
--cpus-per-task=4 \
./meu_programa_paralelo
Submeter job com sbatch¶
Programa sequencial¶
Arquivo run.slurm:
#!/bin/bash
#SBATCH --job-name=teste
#SBATCH --partition=merry_cpu
#SBATCH --mem=1G
#SBATCH --time=00:10:00
#SBATCH --output=saida_%j.txt
./meu_programa
Submeter:
sbatch run.slurm
Submeter programa OpenMP¶
#!/bin/bash
#SBATCH --job-name=openmp
#SBATCH --partition=pluton_cpu
#SBATCH --mem=1G
#SBATCH --cpus-per-task=16
#SBATCH --time=00:10:00
#SBATCH --output=saida_%j.txt
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
./meu_programa_paralelo
Cluster Santos Dumont¶
Diretório de trabalho¶
Trabalhe na sua pasta SCRATCH.
cd /scratch/insperhpc/$USER
Ver recursos disponíveis para seu usuário¶
sacctmgr list user $USER -s \
format=partition%20,MaxJobs,MaxSubmit,MaxNodes,MaxCPUs,MaxWall
Partições utilizadas¶
| Recurso | Partição |
|---|---|
| CPU | sequana_cpu_dev |
| GPU | sequana_gpu_dev |
Ver nós¶
CPU¶
sinfo -p sequana_cpu_dev
GPU¶
sinfo -p sequana_gpu_dev
Ver jobs¶
Meus jobs¶
squeue -u $USER
Jobs do projeto Insper¶
squeue -A insperhpc
Executar programa sequencial¶
CPU¶
srun --partition=sequana_cpu_dev \
--mem=1G \
./meu_binario
GPU¶
No Santos Dumont, ao utilizar a partição de GPU, solicite também uma GPU:
srun --partition=sequana_gpu_dev \
--gres=gpu:1 \
--mem=1G \
./meu_binario
Executar programa OpenMP¶
export OMP_NUM_THREADS=4
srun --partition=sequana_cpu_dev \
--mem=1G \
--cpus-per-task=4 \
./meu_programa_paralelo
Submeter programa OpenMP com sbatch¶
Arquivo run.slurm:
#!/bin/bash
#SBATCH --job-name=openmp
#SBATCH --output=saida_%j.txt
#SBATCH --time=00:10:00
#SBATCH --cpus-per-task=16
#SBATCH --partition=sequana_cpu_dev
#SBATCH --mem=1G
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
./meu_binario
Submeter:
sbatch run.slurm
Submeter programa CUDA com sbatch¶
#!/bin/bash
#SBATCH --job-name=cuda
#SBATCH --output=saida_%j.txt
#SBATCH --time=00:10:00
#SBATCH --gres=gpu:1
#SBATCH --partition=sequana_gpu_dev
#SBATCH --mem=1G
module load cuda/12.6_sequana
./meu_binario
Submeter:
sbatch run.slurm
Consultando o hardware do nó¶
Execute estes comandos dentro do nó de computação alocado.
CPU¶
lscpu
Número de CPUs disponíveis:
nproc
Memória¶
free -h
Cache¶
lscpu | grep cache
GPU¶
nvidia-smi
Problemas com arquivos criados no Windows¶
Se um .sh ou .slurm criado no Windows apresentar problemas de fim de linha:
dos2unix arquivo.slurm
Ou com vim:
vim arquivo.slurm
Dentro do editor:
:set ff=unix
:wq