gcc:启用 AVX,但不支持 FP 数学

gcc: Enable AVX, but not for FP math

提问人:Kevin Meier 提问时间:11/11/2023 最后编辑:Peter CordesKevin Meier 更新时间:11/11/2023 访问量:34

问:

gcc 是否可以选择启用 AVX512,但仅适用于非 FP 操作?我遇到的问题是,如果启用 AVX512,我的应用程序会变慢得多,因为它们似乎会降低 CPU 内核的频率。

但是,许多代码仍然可以从整数 AVX 优化中受益,因此我希望仍然启用它。此外,与 FP 数学相比,惩罚应该低得多。

GCC AVX AVX512

评论

1赞 chtz 11/11/2023
您的意思是,还是您仍然想要 512 位整数运算,而是 256 位 FP 运算?-mprefer-vector-width=256
2赞 Peter Cordes 11/11/2023
降低 CPU 频率的 SIMD 指令解释了降频的 L0/L1/L2 级别,最糟糕的是 512 位“重”uops,以防万一。AFAIK,GCC 只有一个选项可以按矢量宽度进行限制,不允许只允许 512 位“轻量级”指令。(没有 FP,也没有整数乘法。
0赞 Kevin Meier 11/13/2023
@chtz:256 位也可以,但在这种情况下,我也想禁用繁重的操作,因为启用 256 位 AVX 目前仍然会导致代码比根本没有 AVX 慢

答: 暂无答案