繁体   English   中英

mpi4py:将进程生成为Python线程,以便于调试

[英]mpi4py: Spawn processes as Python threads for easier debugging

要使用mpi4py,标准方法是使用mpiexec通过多个MPI进程启动程序。 例如mpiexec -n 4 python3.5 myprog.py

现在,这使调试变得很困难,因为一个人不能直接使用Python解释器,而不能使用Python解释器进行IDE调试器。 但是,调试多线程应用程序没有问题。

所以我的想法是: 我没有使用mpiexec来刺激进程,而是有一个Python脚本来刺激多个线程,每个线程都将充当MPI进程,所有这些都在Python解释器中进行。 因此,不必使用mpiexec并且我可以像其他任何多线程Python程序一样调试我的应用程序。 那有可能吗?

(总的来说,我很乐意为mpi4py找到一些好的示例集合或教程,但没有太多可用。)

您无需实施任何硬性想法。 mpiexec已经为您生成了一个进程。 假设您使用pudb Python调试器,则可以执行以下操作:

mpiexec -np 4 xterm -e python2.7 -m pudb.run helloword.py

xterm-e选项指定xterm要执行哪个程序。

PS:我尚未使用Python 3.5对其进行测试,但类似的解决方案也可以使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM