要使用mpi4py,标准方法是使用mpiexec
使用多个MPI进程启动程序。例如mpiexec -n 4 python3.5 myprog.py
。
现在,这使调试变得困难,因为人们无法直接使用Python解释器以及使用Python解释器的IDE调试器。但是,调试多线程应用程序没有问题。
所以我的想法是:我没有使用mpiexec来进行流程,而是使用Python脚本来驱动多个线程,每个线程都将作为一个MPI进程,所有这些都在Python解释器中发生。 / strong>所以mpiexec
的使用没有必要,我可以调试我的应用程序,就像任何其他多线程Python程序一样。那可能吗,怎么样?
(总的来说,我非常乐意为mpi4py找到一些很好的示例集合或教程,但是并不是很有用。)
答案 0 :(得分:1)
您不需要实施任何硬核想法。 mpiexec
已经为您提供了产品流程。假设您使用pudb Python调试器,您可以执行以下操作:
mpiexec -np 4 xterm -e python2.7 -m pudb.run helloword.py
-e
的{{1}}选项指定将执行哪个程序xterm
。
PS:我没有使用Python 3.5进行测试,但类似的解决方案可以正常使用