【发布时间】:2019-12-09 10:25:46
【问题描述】:
最近我升级到 glibc 2.27,它显然支持新的 CPU 扩展,如 AVX2 和 AVX512。字符串函数(memcpy、memcmp 等)现在正在使用这些指令。不幸的是,AVX2 及更高版本导致英特尔 CPU 降低时钟,这基于我正在处理的应用程序的基准测试,导致性能下降。是否有任何编译切换到 glibc,我可以永久禁用选定的 CPU 功能,以便将其限制为像普通的 AVX 或 SSE4.2?
【问题讨论】:
-
参见 ld 手册中的
LD_HWCAP_MASK和 glibc 手册中的 Hardware Capability Tunables。不过,我在使用它们时运气不佳。在测试期间,我的更改似乎被忽略了。测试是几年前的事了。