2017-12-06 2 views
2

slurm으로 비대칭 하이브리드 매핑을 수행하려고합니다.SLURM을 사용한 비대칭 하이브리드 매핑

내 코드는 3 mpi tasks이어야합니다. 그러나 task 12에는 하나 이상의 CPU가 있어야합니다. mpi task 0에는 단 하나의 CPU 만 있어야합니다.

내가 현재이 slurm 구성 사용이 구성에서

#SBATCH --nodes 3 
#SBATCH --ntasks 3 
#SBATCH --cpus-per-task 32 

을, 나는 각 mpi task 32 개 CPU를 할당. 그러나 노드 0의 31 cpus는 mpi task 0이 하나만 사용하기 때문에 사용되지 않습니다.

비대칭 할당을 수행하기 위해 slurm 작업을 구성하는 방법을 알고 있습니까?

mpi task 0에 대해 하나의 CPU, mpi task 1에 대해 31cp, mpi task 2에 대해 31cpus. 이 방법으로, 단 하나의 CPU에 3 노드를 사용하지 않고 2 노드의 사용을 극대화 할 수있었습니다. 17.11 버전은 그래서 당신이 뭔가를 지정할 수 있습니다 Packed jobs을 도입

답변

1

나는 slurm 문서에서 찾을 수는 ... :

#SBATCH --nodes 1 --ntasks 1 --cpus-per-task 1 
#SBATCH packjob 
#SBATCH --nodes 2 --ntasks 2 --cpus-per-task 32 

한 MPI 순위가 하나 개의 CPU와 두 개의 계급으로 32 CPU. slurm의

+0

불행하게도 버전 내가 CPU 마스크 옵션을 사용하여 한 노드에서 실행을 최적화하기 위해 도달 .. 17.11에서 이다 그러나 : 는'#SBATCH는 1' '#SBATCH --exclusive --nodes ' 'srun --ntasks = 3 --cpu_bind = mask_cpu : 0x1,0xFFFE, 0b1FFFC000 ./mybinary' 2 노드에 대해 동일한 솔루션을 사용하고자 할 때 계산 시간이 가장 짧습니다. 그것은 CPU의 무작위 선택에서 올 수 있습니다 ... 하나의 작업에 대해 동일한 노드에서 CPU를 선택하는 솔루션을 알고 있습니까? 많은 감사합니다 @damienfrancois – labarraud

관련 문제