1
我正在學習使用C語言編寫MPI程序,並且我無法找到在MPI通信器/組的所有進程中動態分配內存(malloc/calloc)會發生什麼情況進程調用MPI_Abort。MPI_Abort和動態分配的內存
不釋放動態分配的內存會導致故障/不可預知的行爲?這是否被認爲是泄漏?
我正在學習使用C語言編寫MPI程序,並且我無法找到在MPI通信器/組的所有進程中動態分配內存(malloc/calloc)會發生什麼情況進程調用MPI_Abort。MPI_Abort和動態分配的內存
不釋放動態分配的內存會導致故障/不可預知的行爲?這是否被認爲是泄漏?
MPI_Abort()
類似於exit()
:
這個程序使「最佳嘗試」中止所有任務組的英寸此功能不要求調用 環境對錯誤代碼採取任何操作。但是,Unix或POSIX環境應該將其作爲來自主程序的返回錯誤代碼 來處理。
凡在中止進程有效,這些進程持有的任何動態分配的內存釋放回操作系統。動態分配不會在進程終止後存活。所以,
不釋放動態分配的內存可能會導致故障/不可預知的行爲?
在某種程度上。
這是否被認爲是泄漏?
沒有malloc()
ED或從MPI_Abort()
運作而產生calloc()
ED存儲器的泄漏。內存泄漏只在持續運行的進程環境中才有意義。
我選擇刪除,感謝您的選擇:)您的答案更準確地解決了問題。 – ryyker