在Qt中使用MPI可执行文件的方法?

时间:2013-05-10 06:57:24

标签: qt mpi qthread qprocess

我开发了一个应用程序,它包含一个前端Qt-GUI和一个求解器EXE。由于这两个是独立的模块,我可以通过使用如下的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-EXE,一个基于MPI的可执行文件,我需要通过Qt-GUI以实用的方式使用它。

我为MPI-EXE尝试了上述QProcess练习,但有以下变化:

exeFilePath = "mpirun -np 4 MPI-EXE"

执行此操作时,无法启动myProcess,并且在打印错误时,它会产生UnknownError。据我所知,QProcess本身在一个单独的线程中运行,因此我必须启动一个4进程的MPI-EXE,这使得这个问题。

我需要帮助:

  1. 如何在没有Qt-GUI冻结的情况下启动MPI-EXE?
  2. 我如何监控MPI-EXE的进度,因为我必须在QGLWidget中绘制进度?
  3. 对于我的问题,我将非常感谢。 请帮忙。感谢。

0 个答案:

没有答案
相关问题