簡體   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