我正在學習有關在課堂上使用C的MPI。我目前正在努力讓自己的頭腦在使用MPI_Comm_split
時具有優勢。我還試圖弄清楚如果我不使用組或者如果我的所有進程都在一個組中,那麼使用此方法是否有任何好處。MPI Communicator MPI_Comm_split without Groups
據我所知,MPI_Comm_split
爲每個'顏色'提供了一個獨特的溝通者,這是不同於使用MPI_COMM_WORLD
(不知道這最後一部分是否正確)。 MPI小組是一組過程,傳播者可以幫助你在這些小組內部和小組之間進行交流。
例如着眼於評論,給定的形狀例如平方,程序將 MPI_COMM_WORLD分成兩組grpArea和grpPerimeter,計算給定形狀的面積和周長。這些組應該執行 其私有計算並將結果返回到根目錄(等級0) MPI_COMM_WORLD。
假設我們不是計算面積和周長,而是計算面積,所以我們不使用組。使用MPI_Comm_split
來分裂傳播者是否有任何意義,以便每個處理器都有自己的傳播者?這樣做有什麼好處或缺點嗎?