如何在Qt中使用MPI可执行文件?
我已经开发了一个应用程序,其中包括一个前端Qt GUI和一个解算器EXE。由于这两个模块是独立的,我可以使用如下QProcess在Qt GUI中成功启动EXE:如何在Qt中使用MPI可执行文件?,qt,mpi,qthread,qprocess,Qt,Mpi,Qthread,Qprocess,我已经开发了一个应用程序,其中包括一个前端Qt GUI和一个解算器EXE。由于这两个模块是独立的,我可以使用如下QProcess在Qt GUI中成功启动EXE: QProcess *myProcess = new QProcess; myProcess->start(exeFilePath, args); 在哪里 从QProcess的信号中,我可以成功地读取输出通道并在QtGUI的QGLWidget中更新进度 随着时间的推移,情况发生了变化。EXE现在是MPI-EXE,一个基于MPI的
QProcess *myProcess = new QProcess;
myProcess->start(exeFilePath, args);
在哪里
从QProcess的信号中,我可以成功地读取输出通道并在QtGUI的QGLWidget中更新进度
随着时间的推移,情况发生了变化。EXE现在是MPI-EXE,一个基于MPI的可执行文件,我需要通过QtGUI以实际的方式使用它 我尝试了上述MPI-EXE的QProcess练习,但做了以下更改:
exeFilePath = "mpirun -np 4 MPI-EXE"
执行此操作时,myProcess无法启动,并且在打印错误时,它给出了UnknownError。据我所知,QProcess本身在一个单独的线程中运行,因此我必须启动一个4进程的MPI-EXE,这就造成了问题
我需要以下方面的帮助:
请帮忙。谢谢。如果您将参数从
exeFilePath
移动到args
的开头,并将参数移动到mpirun
会发生什么?您好,Cairnarvon,感谢您的宝贵意见。这真的很有帮助。直到今天,我的印象是进程->开始(程序,字符串列表)将完成所有事情。但指定了完整命令的程序实现了这一点。我可以成功地启动MPI exe。你太棒了。谢谢
exeFilePath = "mpirun -np 4 MPI-EXE"