我最近開始在MPI(C語言)編程,我遇到了一種情況,在我創建的所有n進程中,我需要一個進程來顯式等待另一個過程。 我已經通過了MPI_Barrier和MPI_Wait,但仍不確定它是如何工作的。提前致謝。如何使一個進程等待另一個進程
1
A
回答
2
如果您明確期望您希望等待的進程中的數據,只需撥打MPI_Recv
並將源進程命名爲sender參數,並且接收呼叫將阻塞,直到數據發送給它。
正如@Adam對您的問題所做的深入評論所指出的,您所描述的內容可能是完全順序的算法,這在MPI程序中會是一個相當不幸的結果。
+1
@Ajinkya「阻塞到」意味着「等待」。 – Adam
+0
是的,我會嘗試使用MPI_Recv。對於我的情況來說,它似乎比MPI_WAIT更好。謝謝 –
相關問題
- 1. 等待一個進程完成並執行另一個進程
- 2. 一個進程如何在PHP中等待另一個進程的輸入?
- 3. 一個進程通過文件系統等待另一個進程的輸出
- 4. 如何在.NET中等待另一個進程的狀態?
- 5. 等待另一個線程
- 6. 等待一個進程的回覆Erlang
- 7. 如何讓一個線程等待另一個線程?
- 8. 殺死一個進程並等待進程退出
- 9. 如何等待進程子進程?
- 10. 在java中,如何讓一個線程等待一個進程完成?
- 11. Linux正在等待另一個守護進程啓動
- 12. 產生另一個進程而不是等待它
- 13. 等待另一個進程窗口滿載
- 14. Qt:等待文件被另一個進程關閉
- 15. 讓孩子進程等待另一個循環
- 16. 如何啓動一個進程並等待其子進程結束
- 17. 如何將一個頁面從一個進程複製到另一個進程?
- 18. 如何讓1個UI線程等待另一個UI線程
- 19. 等待進程
- 20. 導致主進程等到另一個進程完成
- 21. 如何將pid從一個PHP進程與另一個進程進行通信?
- 22. 如何讓一個線程等待並執行另一個?
- 23. 在等待完成時如何殺死一個Python子進程?
- 24. 如何等待一個進程在Windows中完成?
- 25. 如何從另一個進程/內核線程中搶佔一個進程?
- 26. 如何讓一個線程等待另一個線程的一部分完成?
- 27. scanf - 程序等待另一個像?
- 28. 爪哇等待在另一個線程
- 29. 需要Ping從一個進程到另一個進程
- 30. 將stderr從一個進程寫入另一個進程C++/unix
你能描述你爲什麼認爲需要等待嗎?你很可能不需要那樣做。 – Adam
是的,我有一個矩陣,我正在爲它的每個反對角線創建一個過程。在n * n矩陣中,我將有2n-1反對角線(這是進程的數量)。情況是,一個進程必須等待前一個進程執行,因爲它需要來自該進程的數據。所以在這種情況下,我不得不引入一個等待,以確保我不以舊值操作。 –
一個'n * n'矩陣有'n'個反對角元素。 – Adam