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

ただし、コマンドラインでも機能させることはできません。

どんな提案がありますか?

関連情報