0

フロントエンド Qt-GUI とソルバー EXE で構成されるアプリケーションを開発しました。これら 2 つは独立したモジュールであるため、以下のような QProcess を使用して、Qt-GUI で EXE を正常に起動できました。

QProcess *myProcess = new QProcess;
myProcess->start(exeFilePath, args);

どこ

exeFilePath = "EXE"
args = "input1 -option1 name1 -option2 name2"

QProcess のシグナルから、出力チャネルから正常に読み取り、Qt-GUI の QGLWidget で進行状況を更新することができました。


物事は時間とともに変化しました。EXE は現在、MPI ベースの実行可能ファイルである MPI-EXE であり、実用的な方法で Qt-GUI を介して使用する必要があります。

上記の MPI-EXE の QProcess 演習を次のように変更してみました。

exeFilePath = "mpirun -np 4 MPI-EXE"

これを行うと、myProcess を開始できず、エラーが出力されたときに UnknownError が返されました。私が理解しているように、QProcess 自体は別のスレッドで実行され、これから問題を引き起こす 4 プロセスの MPI-EXE を起動する必要があります。

で助けが必要です:

  1. Qt-GUI がフリーズせずに MPI-EXE を起動するにはどうすればよいですか?
  2. QGLWidget で進行状況をプロットする必要があるため、MPI-EXE の進行状況を監視するにはどうすればよいですか?

私の質問に対するコメントをお待ちしております。助けてください。ありがとう。

4

0 に答える 0