slurm 스케줄러에서는 sbatch 옵션으로 이름, 작업시간 뿐만 아니라 자원 할당량을 지정할 수 있습니다. 비슷한 옵션이 많아서... 자주 사용하는 옵션만 메모용으로 남겨 둡니다.

-J, --jobname=작업 이름

작업 이름을 지정.

-t, --time=시간

작업이 수행될 시간을 지정.

-o, --output=파일 이름 패턴

표준 출력 파일 지정.

-e, --error=파일 이름 패턴

표준 에러 파일 지정.

--priority=값

작업의 우선순위 지정. (관리자만 사용 가능)

-d, --dependency=dependency 목록

작업에 종속성을 설정. after, Afterany, Afterok ... 등

--mem=메모리 크기

작업에 사용할 메모리를 지정.
--mem-per-cpu, --mem-per-gpu 와 중복으로 설정 불가. (서로 상호 배타적)

--exclusive

노드 독점 사용 옵션.

-n, --ntasks=값

작업에서 사용할 총 task 수를 입력.
예를 들어 2개 노드에서 2 MPI 실행을 한다면 -n 4 가 되는 것.

--ntask-per-node=값

노드당 실행될 task 수.
예를 들어 2 MPI 하여야 한다면 2 를 입력.

-c, --cpus-per-task=cpu 개수

task 당 사용될 cpu 수를 입력.
예를 들어 OpenMP, thread 로 실행되는 프로그램은 실행할 스레드 수 만큼 값을 입력.
1 노드에서 2 MPI, 4 OpenMP 프로그램이라면...? ntask-per-node 2, cpus-per-task=4
(-n 은 두 값의 곱)

--cpus-per-gpu=cpu 개수

gpu 당 사용될 cpu 수를 입력.
gpu-cpu 매칭을 의미하는 것은 아님.

--gres=name[[:type]:count]

가능한 리소스를 지정하여 할당.
예를 들어 gpu 카드 2장이라면 --gres=gpu:2 (특정 GPU를 지정하여 가져올 수도 있다.)

'Study > etc' 카테고리의 다른 글

conda 명령 정리  (0) 2021.02.23