Eclipse PTP OpenMPI并行运行/调试

时间:2013-10-15 02:13:44

标签: c++ c eclipse parallel-processing fortran

有人可以使用本地计算机上的实际并行运行/调试模式,说明如何在Eclipse PTP中运行/调试OpenMPI(C / C ++ / Fortran)程序吗?

我在“远程环境”部分设置了本地连接。如果我将实际的程序可执行文件指定为可执行文件,那么eclipse会在进度窗口中遇到“提交交互式”和“启动...提交作业...”,并且我留下了指定的进程数量程序无限期地以全CPU运行。如果我指定另一个程序,如mpirun或mpiexec,并提供必要的参数来获取程序可执行文件,那么唯一的区别是我有相同数量的mpirun在0 CPU运行。

我应该补充一点,如果我在“连接类型”下选择“本地”,那么我会收到错误:

  

执行命令失败:ompi_info -a --parseable

     

原因:无法运行程序“ompi_info”:未知原因

即使该命令在命令行中运行良好,并且在“远程环境”中作为设置连接到本地主机时运行成功

我在Eclipse网站上看过这些指南,但他们没有帮助。我已经检查了[1][2],但我仍然认为这是正常的。

我可以通过将程序像普通程序一样对待并将可执行文件设置为mpiexec并提供必要的参数来并行成功运行程序,但我想进行实际的并行调试,所以这还不够。

编辑: 我应该更具体一点。我知道还有其他的调试方法,但是Eclipse PTP(并行工具平台)应该能够完美地处理这个问题,所以我正在寻找一个在本地机器上设置Eclipse PTP的人的解释,这样他们就可以使用并行运行配置和并行调试工具。

3 个答案:

答案 0 :(得分:1)

请在ptp-user邮件列表中提出您的问题。 https://dev.eclipse.org/mailman/listinfo/ptp-user 听起来像openmpi并不在eclipse中可用的路径

事实上,这是在https://wiki.eclipse.org/Parallel_Tools_Platform_FAQ#Q:_I_get_the_error_.22Failed_to_execute_command:_ompi_info_-a_--parseable.22_when_I_use_the_Open_MPI_target_configuration_on_my_Mac

的PTP常见问题解答中

答案 1 :(得分:0)

我从未真正使用过Eclipse IDE,但我使用xtermgdb来调试我的MPI代码:

mpirun -np 2 xterm -e gdb -ex run ./tool

不完全是你所追求的,但也许它有帮助......

答案 2 :(得分:0)

不确定您使用的操作系统,但我在MacOS上遇到此问题。这是因为Eclipse不运行.bash_profile或.bashrc,因此它的环境(即PATH)将不具备所需的一切。您可以尝试编辑PATH变量以包含它some other means(我发现它在Mac上过于复杂),或者您可以从shell运行eclipse可执行文件,以便它继承了你的典型环境。对我而言,这位于:

~/eclipse/parallel-neon/Eclipse.app/Contents/MacOS/eclipse

然后eclipse能够很好地检测到OpenMPI(PATH包含/usr/local/bin)。