作者sakishil (亚凯)
看板C_and_CPP
标题[问题] 为什麽make -j建议加偶数
时间Thu Jul 23 15:19:14 2020
开发平台(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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1595488756.A.F43.html
※ 编辑: sakishil (1.164.216.112 台湾), 07/23/2020 15:20:50
1F:推 sanctitysky: 我猜因为hyper-threading 不过也还好就编译而已 07/23 17:34
2F:推 dces4212: 同1楼,可能locality比较好的关系。不过好奇跑多个 07/23 17:40
3F:→ dces4212: recipe时多一个vcpu跑不是算增加效率吗?挂? 07/23 17:41
4F:→ dces4212: 尤其是单一recipe里面command很多时 07/23 17:42
5F:推 MartinJ40: 你看过CPU设计嘛 thread和core都是dual 07/23 17:59
6F:→ MartinJ40: L2上面偶数个L1 L3上面偶数个L2 07/23 17:59
7F:→ MartinJ40: 所以当你奇数的时候cache会多一份在另一个core 07/23 18:00
8F:→ MartinJ40: 我是觉得还好啦 跟GPGPU的batch塞满问题来比 07/23 18:00
9F:→ MartinJ40: CPU这种问题到不是很需要在意 07/23 18:01
10F:推 k2450: 之前在公司一直都make -j8 要报废时才发现是4c4t... 07/24 12:06
11F:→ a58524andy: 有听过j数字比thrd多点没关系的说法 07/24 14:59
12F:→ a58524andy: 因为可能有些在等io之类 那他还有其他事情做 07/24 14:59
13F:推 lc85301: 其实吧我不太相信有多大差别耶 07/24 16:19