有人可以使用本地计算机上的实际并行运行/调试模式,说明如何在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的人的解释,这样他们就可以使用并行运行配置和并行调试工具。
答案 0 :(得分:1)
请在ptp-user邮件列表中提出您的问题。 https://dev.eclipse.org/mailman/listinfo/ptp-user 听起来像openmpi并不在eclipse中可用的路径
的PTP常见问题解答中答案 1 :(得分:0)
我从未真正使用过Eclipse IDE,但我使用xterm
和gdb
来调试我的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
)。