기능 없이 SLURM 사용

기능 없이 SLURM 사용

내 슈퍼컴퓨터에 다음과 같은 기능이 포함된 NODELIST가 있다고 가정해 보겠습니다.

NODELIST      FEATURES
NodeA         (none)  
NodeB         specialfeature

이 기능이 있든 없든 specialfeature성능을 벤치마킹하려고 합니다. 달리기 성능을 측정하는 것은 specialfeature사용하기 쉽습니다. 그냥 전화했어요

sbatch --constraint="specialfeature" mybenchmarktest.exe

specialfeature위의 내용은 함수가 포함된 노드(예: 노드 B) 에서 실행이 발생하도록 보장합니다 . 그러나 specialfeature문제가 발생 하지 않고 벤치마크를 실행하고 싶다면 . 부르다

sbatch mybenchmarktest.exe

SLURM이 NodeA 또는 NodeB에서 내 작업을 실행할 수 있음을 의미합니다. 이는 내 벤치마크가 내가 원하는 결과를 측정하지 못할 수도 있음을 의미합니다.

기능 없이 프로세스가 실행되도록 하는 방법이 있습니까?나는 다음과 같은 호출을 상상한다:

sbatch --contraint="!specialfeature" mybenchmarktest.exe

참고: 이 사소한 경우에는 NodeA(해당 기능이 없는 노드)에서 실행되도록 요청할 수 있다는 것을 알고 있지만 SLURM에게 "이러한 기능을 사용하지 마십시오"라고 알리는 보다 일반적인 방법을 찾고 있습니다. ".

답변1

현재(버전 15.8 기준) 이러한 방식으로 기능을 거부할 수 있는 방법은 없습니다. 유일한 방법은 다음과 같은 방법으로 보충 기능을 정의하는 것입니다.

NODELIST      FEATURES
NodeA         nospecialfeature  
NodeB         specialfeature

그런 다음 을 사용하여 하나의 작업을 제출한 --constraint=specialfeatures다음 를 사용하여 다른 작업을 제출합니다 --constraint=nospecialfeature.

구성을 변경할 수 없는 경우 다른 옵션은 다음과 같은 구조를 사용하여 허용되는 호스트 목록을 수동으로 작성하는 것입니다.

sinfo -h --format "%N %f" | grep specialfeature  |\
   awk '{print $1}' | paste -d, -s | xargs scontrol show hostlist

--nodelist옵션과 함께 결과를 사용하십시오 . 자유롭게 결합하여 grep목록을 만드세요.

관련 정보