본문 바로가기
HPC

[SLURM] SRUN 명령어

by Yoon_estar 2024. 9. 5.
728x90
반응형

SRUN

$ srun hostname
master90

ntasks 옵션(작업 개수)

  • 1cpu 당 1개의 작업 돌릴 수 있음(현 구성에서는 36코어가 최대)
$ srun --ntasks=36 hostname
/home/admin/.gc/hostname_gc_interactive: line 8: 159222 Segmentation fault      /engrid/ensh/usrbin/jobUpdater START
node92
master90
master90
master90
...

nodes 옵션(노드 수 할당)

$ srun --nodes=3 hostname
node91
node92
master90

ntasks + nodes

  • 12개의 작업 * 2 node
$ srun --tasks=12 --nodes=2 hostname
master90
master90
master90
master90
master90
master90
master90
master90
master90
master90
master90
master90
node91
node91
node91
node91
node91
node91
node91
node91
node91
node91
node91
node91

nodelist

  • 노드 명으로 작업 할당
$ srun --nodelist=master90,node91 --nodes=2 hostname
master90
node91

nodelist + ntasks

$ srun --ntasks=14 --nodelist=node91,node92 --nodes=2 hostname
node92
node92
node91
node91
node91
node91
node91
node91
node91
node91
node91
node91
node91
node91

task-per-node

  • 노드당 CPU 할당
$ srun --nodes=3 --tasks-per-node=3 hostname
node91
node91
node91
master90
master90
master90
node92
node92
node92

$ srun --tasks-per-node=11 --nodelist=node91 hostname
node91
node91
node91
node91
node91
node91
node91
node91
node91
node91
node91

다수의 코어 할당 시 코어 할당 순 확인

  • ‘-l’ 옵션으로 순서 보이게
$ srun -p all.q -n 8  hostname | sort -n
master90
master90
master90
master90
master90
master90
master90
master90

$ srun -l -p all.q -n 8  hostname | sort -n
0: master90
1: master90
2: master90
3: master90
4: master90
5: master90
6: master90
7: master90

$ srun -l -p all.q -n 24  hostname | sort -n
 0: master90
 1: master90
 2: master90
 3: master90
 4: master90
 5: master90
 6: master90
 7: master90
 8: master90
 9: master90
10: master90
11: master90
12: node91
13: node91
14: node91
15: node91
16: node91
17: node91
18: node91
19: node91
20: node91
21: node91
22: node91
23: node91

1대 서버 최대 코어수 이상의 코어 요청 시

  • 다음 노드로 작업이 넘어간다.
$ srun -l -p all.q -n 14 hostname | sort -n
 0: master90
 1: master90
 2: master90
 3: master90
 4: master90
 5: master90
 6: master90
 7: master90
 8: master90
 9: master90
10: master90
11: master90
12: node91
13: node91

distrubution=plane

  • 특정 노드에 부하가 걸리지 않도록 노드에 할당된 TASK의 수에 따라 구분
$ srun -l -n 36 --distribution=plane=4 hostname | sort -n
 0: master90
 1: master90
 2: master90
 3: master90
 4: node91
 5: node91
 6: node91
 7: node91
 8: node92
 9: node92
10: node92
11: node92
12: master90
13: master90
14: master90
15: master90
16: node91
17: node91
18: node91
19: node91
20: node92
21: node92
22: node92
23: node92
24: master90
25: master90
26: master90
27: master90
28: node91
29: node91
30: node91
31: node91
32: node92
33: node92
34: node92
35: node92

$ srun -l -n 12 --distribution=plane=4 hostname | sort -n
 0: slurm-node01
 1: slurm-node01
 2: slurm-node01
 3: slurm-node01
 4: slurm-node02
 5: slurm-node02
 6: slurm-node02
 7: slurm-node02
 8: slurm-node01
 9: slurm-node01
10: slurm-node01
11: slurm-node01

spread-job

  • 균등하게 작업 분배
$ srun -l -n 18 --spread-job hostname | sort -n
 0: master90
 1: master90
 2: master90
 3: master90
 4: master90
 5: master90
 6: master90
 7: master90
 8: master90
 9: master90
10: master90
11: node91
12: node91
13: node91
14: node91
15: node91
16: node91
17: node92
반응형

'HPC' 카테고리의 다른 글

[SLURM] SBATCH(2)  (0) 2024.09.09
[SLURM] SBATCH(1)  (0) 2024.09.06
[Ubuntu] SGE 설치  (0) 2024.09.03
Slurm 수동 설치  (0) 2024.06.17
[Ubuntu]Munge Install  (0) 2024.06.16