bash 파일에서 mpirun을 호출하면 $VAR 형식을 인식하지 못합니다...?

bash 파일에서 mpirun을 호출하면 $VAR 형식을 인식하지 못합니다...?

다음 .sh 파일을 실행하려고 하면 mpirun에서 오류가 발생합니다.

파일: (간결함을 위해 추가 Python 구성은 생략됨)

NB_MPI_WORKERS=2
SEED=0

mpirun --n ${NB_MPI_WORKERS} python start.py --base_path ~/temp --seed ${SEED}

실수:

Open MPI has detected that a parameter given to a command line
option does not match the expected format:

  Option: n
  Param:  2

This is frequently caused by omitting to provide the parameter
to an option that requires one. Please check the command line and try again.

교체만 하면 된다고 확인했어요${NB_MPI_WORKERS}그리고2작동하므로 특히 ${seed}가 작동하고 있기 때문에 오류가 어디에 있는지 약간 혼란스럽습니다.

누군가 이것을 명확히 할 수 있습니까? 실제로 형식 문제인가요, 아니면 유형 문제인가요?

버전:

  • 리눅스 민트 20.2
  • MPI 4.1.2 열기

답변1

의견에서 제안한 대로 해결책은 파일을 DOS 텍스트 파일 형식에서 Unix 텍스트 파일 형식으로 변환하여 줄 끝을 바꾸는 것입니다.

NB_MPI_WORKERS파일이 DOS 텍스트 형식이기 때문에 및 값에 후행 캐리지 리턴이 추가됩니다 SEED. 내가 아는 한 SEED, Python 스크립트가 어떻게든 값을 올바르게 처리하기 때문에 이는 문제가 되지 않는 것 같습니다. 그러나 다른 변수의 측면에서 보면 --n옵션이 합법적이지 않은 값을 얻었음을 의미합니다.

관련 정보