我想確定MPI中非阻塞點對點通信的開銷。有一些基準測試可用(如Sandia MPI Micro-Benchmark Suite或OSU micro-benchmarks),但由於某些原因,它們不區分MPI提供的發送模式(標準,就緒,緩衝,同步)和僅使用標準模式。 MPI報告指出非阻塞點對點通信中發送模式對MPI開銷的影響
在這種模式下,由MPI決定是否將傳出消息緩衝。 MPI可能緩衝傳出消息。在這種情況下,發送呼叫可能會在調用匹配接收之前完成。另一方面,出於性能原因,緩衝區空間可能不可用,或者MPI可能選擇不緩衝出去的消息。在這種情況下,發送呼叫將不會完成,直到發送匹配的接收,並且數據已被移至 接收器。
我認爲將消息寫入緩衝區可能與將消息直接發送給接收方(可能物理上很遠,通過低帶寬連接等進行連接)具有不同的性能。所以我的問題是,我的假設是否是錯誤的,緩衝發送和準備發送之間沒有任何顯着的性能差異(如果是,爲什麼) - 或者這些基準是否忽略了這些可能的差異(如果是,爲什麼) 。