Bash의 Ubuntu 감독자 명령 확장

Bash의 Ubuntu 감독자 명령 확장

supervisor머신 코어의 일부와 동일한 수의 코어를 사용하여 병렬 프로세스를 시작하는 명령(Ubuntu 18.04의 bash)을 통해 실행 해야 합니다 .

명령줄에서 성공적으로 실행할 수 있습니다.

mpiexec -np $(($(nproc)/2)) pvserver --mesa --force-offscreen-rendering 

이것은 예상대로 작동합니다. 그런 다음 감독자 구성 파일에 동일한 명령(절대 경로 포함)을 추가해 보았습니다.

cmd=mpiexec -np $(($(nproc)/2)) pvserver --mesa --force-offscreen-rendering

하지만 오류가 발생해요

[mpiexec@ip-172-31-16-210] HYD_pmcd_pmi_alloc_pg_scratch (pm/pmiserv/pmiserv_utils.c:527): assert (pg->pg_process_count * sizeof(struct HYD_pmcd_pmi_ecount)) failed
[mpiexec@ip-172-31-16-210] HYD_pmci_launch_procs (pm/pmiserv/pmiserv_pmci.c:108): error allocating pg scratch space
[mpiexec@ip-172-31-16-210] main (ui/mpich/mpiexec.c:340): process manager returned error launching processes

mpiexec잘못된 주장을 받고있는 것 같습니다 . 말할 필요도 없이 np 매개변수를 하드코딩하면 모든 것이 잘 작동합니다.

나는 또한 xargs를 시도했지만 그 구문이 나에게 명확하지 않습니다. 이것이 내가 시도한 것입니다.

echo $(($(nproc)/2)) | xargs mpiexec -np {} pvserver --mesa --force-offscreen-rendering

그러나 명령줄에서도 작동하도록 할 수 없습니다.

어떤 제안이 있으십니까?

관련 정보