[問題] 為什麼make -j建議加偶數

看板C_and_CPP作者 (亞凱)時間3年前 (2020/07/23 15:19), 3年前編輯推噓5(508)
留言13則, 6人參與, 3年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Linux 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) gcc 問題(Question): 1.為什麼編譯的process的數量建議是偶數 (make -j even_number) 2.為什麼進行數值運算MPI的process數量也是建議偶數(mpirun -np even_number) 之前用奇數被烱 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.216.112 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1595488756.A.F43.html ※ 編輯: sakishil (1.164.216.112 臺灣), 07/23/2020 15:20:50

07/23 17:34, 3年前 , 1F
我猜因為hyper-threading 不過也還好就編譯而已
07/23 17:34, 1F

07/23 17:40, 3年前 , 2F
同1樓,可能locality比較好的關係。不過好奇跑多個
07/23 17:40, 2F

07/23 17:41, 3年前 , 3F
recipe時多一個vcpu跑不是算增加效率嗎?掛?
07/23 17:41, 3F

07/23 17:42, 3年前 , 4F
尤其是單一recipe裡面command很多時
07/23 17:42, 4F

07/23 17:59, 3年前 , 5F
你看過CPU設計嘛 thread和core都是dual
07/23 17:59, 5F

07/23 17:59, 3年前 , 6F
L2上面偶數個L1 L3上面偶數個L2
07/23 17:59, 6F

07/23 18:00, 3年前 , 7F
所以當你奇數的時候cache會多一份在另一個core
07/23 18:00, 7F

07/23 18:00, 3年前 , 8F
我是覺得還好啦 跟GPGPU的batch塞滿問題來比
07/23 18:00, 8F

07/23 18:01, 3年前 , 9F
CPU這種問題到不是很需要在意
07/23 18:01, 9F

07/24 12:06, 3年前 , 10F
之前在公司一直都make -j8 要報廢時才發現是4c4t...
07/24 12:06, 10F

07/24 14:59, 3年前 , 11F
有聽過j數字比thrd多點沒關係的說法
07/24 14:59, 11F

07/24 14:59, 3年前 , 12F
因為可能有些在等io之類 那他還有其他事情做
07/24 14:59, 12F

07/24 16:19, 3年前 , 13F
其實吧我不太相信有多大差別耶
07/24 16:19, 13F
文章代碼(AID): #1V6Jdqz3 (C_and_CPP)