2013-12-08 1 views
1

SGE 클러스터에서 MPI 응용 프로그램을 실행할 때 프로세스 번호의 매개 변수 두 개를 할당해야합니다. 하나는 SGE 자체 용이고 다른 하나는 OpenMPI 용입니다. 예를 들면 :SGE (Sun Grid Engine) 프로세스 번호와 OpenMPI 프로세스 번호의 관계는 무엇입니까?

명령에 number1number2의 의미는 무엇
qrsh -pe <pe_name> <number1> mpirun -np <number2> ./program 

? 그들 사이의 관계는 무엇입니까?

내 MPI 응용 프로그램에 128 (number2) 프로세스가 필요하고 16을 number1에 할당하면 어떻게됩니까?

편집 :

pe_name   impl 
slots    999 
user_lists  NONE 
xuser_lists  NONE 
start_proc_args NONE 
stop_proc_args NONE 
allocation_rule $round_robin 
control_slaves TRUE 
job_is_first_task FALSE 
urgency_slots  min 

답변

1

대답이 <pe_name> 병렬 환경 (PE)를 구성하는 방법에 의존 할 것이다 :

다음은 PE 구성이다. 일반적으로 -pe <pe_name> <number1>은 슬롯을 <pe_name> PE에 요청합니다. 각 PE는 고정 된 양의 슬롯을 노드에 제공하거나 한 노드에서 사용 가능한 슬롯을 채운 다음 다음 노드로 이동하여 항상 동일한 노드에 슬롯을 할당하도록 구성 할 수 있습니다. SGE의 슬롯은 대개 CPU 코어에 해당하지만 SGE 관리자 만이 이러한 상황인지 여부를 결정할 수 있습니다.

-np <number2>은 Open MPI에 MPI 작업에서 시작할 프로세스 수를 알려줍니다. 많은 경우이 번호는 요청 된 SGE 슬롯의 수와 같아야합니다. Open MPI가 SGE 통합으로 구축 된 경우 일괄 처리 시스템에서 부여 된 총 슬롯 수를 자동으로 가져오고 일부 특수한 경우에만 프로세스 수를 명시 적으로 지정해야합니다.

역시 SGE가 어떻게 구성되어 있는지에 따라 다릅니다. 클러스터에 대한 세부 정보가없는 경우 (예 : qconf -sp <pe_name>의 출력은 매우 구체적인 답변을 얻지 못할 것입니다.

+0

답장을 보내 주셔서 감사합니다. PE 구성을 추가했습니다. 이 체육과 내가 할 수있는 일을 말해 줄 수 있니? 또한 왜이 PE에서 100 ('number1') 슬롯 만 요청할 수 있습니까? 번호가 100보다 크면 제출 작업이 실패합니다. – RainSia

관련 문제