HPC 와 Slurm · 작업 제출과 자원 요청 · 퀴즈
퀴즈: 작업 제출
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
`#SBATCH --gres=gpu:2` 를 `echo` 다음 줄에 썼습니다. 결과는?
- 위치와 무관하게 정상 적용된다
- 형식 오류로 제출이 거부된다
- 경고가 나온 뒤에 적용된다
- 평범한 주석으로 무시되며 에러도 경고도 나지 않는다
`--array=1-100%10` 에서 `%10` 의 의미는?
- 10개만 실행한다
- 동시에 실행할 최대 작업 수를 10개로 제한한다
- 10번째마다 실행한다
- 10% 확률로 실행한다
`squeue` 출력의 마지막 열(NODELIST(REASON))이 중요한 이유는?
- 작업이 대기 중인 이유가 그 열에 적혀 있기 때문
- 실행 중인 노드 이름을 알려 줘서
- 남은 실행 시간을 알려 줘서
- 계산된 우선순위 값이 나와서
`--dependency=afterok:12345` 와 `afterany:12345` 의 차이는?
- afterok 은 선행이 성공했을 때만, afterany 는 끝나기만 하면 시작한다
- afterok 쪽이 대기 없이 더 빨리 시작한다
- afterok 은 선행과 같은 노드에서 실행된다
- 이름만 다를 뿐 동작에 차이가 없다
`SLURM_CPUS_PER_TASK` 를 코드에서 읽어 쓰는 이유는?
- 자원 요청과 실제 병렬도를 자동으로 일치시키기 위해
- 실행 로그에 요청값을 남기려고
- 작업 ID 를 코드에서 알기 위해
- 배정된 노드 이름을 얻기 위해
출력 파일 경로의 디렉터리가 없으면?
- Slurm 이 경로를 자동으로 만들어 준다
- 출력이 홈 디렉터리에 대신 저장된다
- 작업이 시작하자마자 실패하는데 실패 이유를 담을 파일도 못 만든다
- 터미널 표준 출력으로 그냥 나온다