[英]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.