討論串[問題] MPI Non-blocking Communication
共 5 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓2(2推 0噓 1→)留言3則,0人參與, 最新作者tinlans ( )時間16年前 (2009/11/24 04:47), 編輯資訊
0
0
1
內容預覽:
如果原始資料是 M * N 個,. 你切成 N 等分分給 M 個 process,. 那四個 process 得到的部分可能就長這樣:. rank 0 rank 1 rank 2 rank M-1. [0 .. N-1][N .. 2N-1][2N .. 3N-1] ... [(M-1)*N ..
(還有2882個字)

推噓0(0推 0噓 5→)留言5則,0人參與, 最新作者justdemon (人生的轉捩點)時間16年前 (2009/11/24 01:08), 編輯資訊
0
0
1
內容預覽:
首先再次感謝T大和N大花時間解決我的問題 ^^. 我知道資料的傳輸多少會使用CPU 也不期望邊傳輸邊運算可以蓋住全部傳輸的時間. 我並不清楚Irecv會造成block? 這似乎和我的理解有所出入. 不過即便是如此 我也試著寫Pthread的程式. 除了他有沒事做的一顆CPU讓我使用外 的確會完整的蓋
(還有765個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者neutronstars (I'm...)時間16年前 (2009/11/23 23:21), 編輯資訊
0
0
1
內容預覽:
以你的程式來看,. 即使你用的是nonblocking send,. 但是node本身接收資料就是得耗費時間,也就是在recv時,. 是blocking的狀況,所以,當然是沒辦法同時運算,. 除非你有另一個thread另外在處理計算的問題,. 否則那個recv所在的thread就是會被blockin
(還有390個字)

推噓0(0推 0噓 9→)留言9則,0人參與, 最新作者justdemon (人生的轉捩點)時間16年前 (2009/11/23 17:04), 編輯資訊
0
0
1
內容預覽:
謝謝T大的推文. 可是在我測試的環境相當的簡單 盡量讓每個process做相同的事情. 我最原始的測試的code如下. http://nopaste.csie.org/b2860. 經過測試之後發現 那個sleep(5) 就真的五秒都在那裡睡 背後並沒有繼續傳輸. 我也試過用其他運算取代sleep
(還有44個字)

推噓0(0推 0噓 8→)留言8則,0人參與, 最新作者justdemon (人生的轉捩點)時間16年前 (2009/11/22 16:17), 編輯資訊
0
0
0
內容預覽:
最近使用MPI_Isend的時候發現. 雖然他的確是nonblocking 執行完MPI_Isend之後會繼續執行之後的程式. 但是他並不會平行的運作. 我如果傳輸花5秒 運算花5秒. 總時間就是10秒 並不會因為使用Nonblocking Send而變成5秒. 在單純傳輸時 CPU使用率只有30%
(還有444個字)
首頁
上一頁
1
下一頁
尾頁