當我將MPI_Send發送到已完成的進程時會發生什麼?當我將MPI_Send發送到已完成的進程時會發生什麼?
我正在學習MPI,並用C寫了一個小型糖分佈模擬。當工廠停止生產時,這些過程結束。倉庫空倉時,它們結束。我可以通過查看MPI_Send的返回值來以某種方式告訴商店的倉庫訂單是否成功(因爲倉庫流程已經結束)?文檔沒有提到這種情況下的特定錯誤代碼,但沒有錯誤返回成功。
我可以這樣做:
if (MPI_Send(...)) {
...
/* destination has ended */
...
}
和無視錯誤代碼?
感謝
正如答案中所指出的那樣,行爲不是你可以依賴的。你所描述的並不完全符合如何使用MPI。相反,「倉庫」流程應該保持活躍狀態,明確回答無法填充的請求,並指出倉庫爲空。 – Novelocrat 2010-04-20 20:39:51
Novelcrat:您應該將其作爲答案發布。 – caf 2010-04-20 22:07:19