1노드, 2프로세서, 12코어 클러스터에서 Materials Studio라는 소프트웨어를 실행하도록 mpirun 및 mpiexec를 구성하려고 합니다. PBS에 프로토콜을 제출합니다. 모든 것이 올바르게 설정되었으며(도움을 받아) 작업을 제출할 수 있고 제대로 작동하지만 며칠 후에 문제가 발생하고 다음과 같은 오류가 발생합니다.
mpiexec_server.org: 로컬 mpd(/tmp/mpd2.console_user)에 연결할 수 없습니다. 가능한 이유: 1. 이 호스트에서 실행 중인 mpd가 없습니다. 2. mpd가 실행 중이지만 "콘솔"(-n 옵션) 없이 시작되었습니다.
mpd 데몬이 어떻게든 설정되었으나 결국 종료된 것 같습니다. 내 커밋 스크립트에 다음(굵은 부분)을 추가하는 것은 행운이었습니다.
export PATH=/data1/opt/MD/Linux-x86_64/IntelMPI/bin:$PATH
export LD_LIBRARY_PATH=/data1/opt/MD/Linux-x86_64/IntelMPI/lib:/data1/opt/MD/Linux-x86_64/IntelMPI/bin:/data1/opt/MD/Linux-x86_64/IntelMKL/lib
**mpdboot -n 1 -f ~/mpd.hosts**
nohup mpd &
/data1/opt/MD/Linux-x86_64/IntelMPI/bin/mpiexec -n 6 /data1/opt/MD/2.0/TaskServer/Tools/vasp5.3.3/Linux-x86_64/vasp_parallel
이제 작업이 제출되어 정상적으로 실행되지만 30분 정도 후에 시간 초과됩니다. mpdboot 줄 끝에 따옴표 없이 "-r ssh"를 추가하려고 시도했지만 이것이 올바른 전략인지 확실하지 않습니다. 또한 이 스크립트에서 이 데몬을 실행해야 하는 이유와 런타임에 호스트 파일을 호출해야 하는 이유에 대해 약간 혼란스럽습니다. PBS가 작업이 시작될 때 이 파일을 생성한다고 생각했습니다. 다음에 어디로 가야할지 조언을 줄 수 있는 사람이 있나요? 기본적으로 mpi 데몬과 관련된 문제로 인해 실행 중인 작업이 종료되는 것을 방지하는 방법입니다.
편집: 마지막 줄에서 내 mpiexec를 실행하는 데 관련된 내용을 밝힐 수 있는 사람이 있습니까? 해당 폴더에 올바르게 연결한 경우 시작 명령을 실행해야 합니까? mpiexec의 전체 목적은 mpd의 필요성을 제거하는 것인데(적어도 mpiexec 웹 사이트에 따르면), 왜 mpdboot/mpd를 실행해야 하는지 혼란스럽습니다.
답변1
MD 시뮬레이션을 실행 중입니다. 그런데 DL-POLY에서 시뮬레이션을 실행하려고 하면 시뮬레이션이 시작되지 않습니다. 나는 다음 명령을 사용했습니다.
$ ps aux | grep mpd
$ nohup mpd > mpd.out 2> mpd.err < /dev/null/ &
$ mpiexec -n 4 DLPOLY.X >> job.out 2> job.err < /dev/null &
$ top
이렇게 하면 마지막 명령을 사용하여 프로세스를 볼 때 DL_POLY가 없다는 것을 알 수 있습니다. 동시에 ll
명령을 사용하면 mpd.out
값이 0이라는 것을 알 수 있습니다. 왜인지 모르겠어요?