【发布时间】:2015-01-08 15:30:44
【问题描述】:
我们有一个由具有以下 CPU 的机器组成的集群:
- Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz,
- Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz,
- Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz。
这些支持不同的指令集扩展(例如,E5-2680 v3 具有 AVX2,而其他则没有)。
-march=native 是否向前兼容,这样在最旧的机器上用它编译的代码可以在以后的模型上运行,还是应该手动找出最小的公分母?
gcc 版本是 4.8.2。
【问题讨论】:
-
这个问题真的是关于英特尔处理器/架构,而不是真正与 gcc 相关......
-
你想要的是CPU dispatcher。为最小公分母编译调度程序。然后为您要支持的每个硬件集编译不同的目标文件,并让调度程序选择适当的版本。
-
谢谢。我同意这可能不是问这个问题的正确地方,因为它与一组特定的(英特尔)CPU 有关。但是 CPU 调度程序选项绝对很有趣。我去看看。
-
我投票结束这个问题,因为它与特定的架构兼容性问题有关,而不是一般的 gcc。对不起..
标签: gcc