次の.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}が動作しているので、エラーがどこにあるか少し混乱しています。
誰かがこれを明確にすることができますか?実際には型の問題ですか、それとも型の問題ですか?
バージョン:
- Linux Mint 20.2
- MPI 4.1.2を開く
答え1
コメントで提案されているように、解決策はファイルをDOSテキストファイル形式からUnixテキストファイル形式に変換して行末を置き換えることです。
NB_MPI_WORKERS
ファイルはDOSテキスト形式であるため、値に末尾のキャリッジリターンが追加されますSEED
。私が知っている限りSEED
、Pythonスクリプトが何らかの方法で値を正しく処理するので、これは問題ではないようです。しかし、他の変数の観点からは、--n
オプションが正当ではない値を取得したことを意味します。