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
ただし、コマンドラインでも機能させることはできません。
どんな提案がありますか?