各位好,
Intel同事向Compiler SIG提议编译器默认使能x86-64-v2来构建OpenEuler 23.09创新版本,并于今天在TC例会上进行了分享,TC原则上同意在创新版本上进行预验证。 另外,TC建议调研社区的伙伴(特别是相关OSV和云厂商)对此proposal的建议,请各位在此邮件上反馈意见和建议即可,感谢~
如下是x86-64微架构level:
* x86-64 * The current default microarchitecture level * CMOV, CMPXCHG8B, FPU, FXSR, MMX, FXSR, SCE, SSE, SSE2 * Intel Pentium4 launched in 2000, AMD K8 Hammer in 2003 * x86-64-v2 * CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3 * Intel Nehalem launched in 2008, Silvermont (Atom core) in 2013, AMD Piledriver in 2012 * x86-64-v3 * AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE * Intel Haswell launched in 2013, Gracemont (Atom core) in Nov. 2021, AMD Excavator in 2015 * x86-64-v4 * AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL * Intel Skylake launched in 2015, AMD Zen4 in 2022
不同的level代表能支持的微架构级别,目前openEuler的GCC默认配置成x86-64,该提议建议默认配置成x86-64-v2,从上表可以看到增加了新指令的支持,减少了对老旧硬件的支持。
假设:(1)在生产环境中运行超过10年的硬件并不多 (2)此类硬件很少需要升级到最新的操作系统发行版 收益:(1)摆脱支持非常旧的硬件的限制(>10年); (2)将微体系结构的最低级别提高到Intel Nehalem或 AMD Piledriver; (3)使用更多的矢量指令,以提升应用性能; (4)期望开箱即用的性能收益; 影响:对早于x86-64-v2的硬件不再支持/兼容。
RHEL 9默认配置成了x86-64-v2,供参考:https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-li...
Compiler SIG 赵川峰(Steve)
各位好,
我们上周五(5/26)在release SIG讨论了在OpenEuler 23.09上默认使能x86-64-v2的提议,收到反馈希望听到更多社区伙伴(OSV, CSP等等)的声音。根据目前的初步计划,v2的构建和验证工作将于7月份启动。如果您有任何的意见和建议,请及时反馈给我们。非常感谢!
Thx, Annita
From: Zhaochuanfeng (Steve) zhaochuanfeng@huawei.com Sent: Wednesday, February 1, 2023 8:13 PM To: tc tc@openEuler.org; compiler@openeuler.org; dev@openeuler.org Cc: Zhang, Annita annita.zhang@intel.com Subject: [Compiler SIG][Proposal] Intel提议编译器默认使能x86-64-v2来构建OpenEuler 23.09创新版本,请各位发表意见,感谢
各位好,
Intel同事向Compiler SIG提议编译器默认使能x86-64-v2来构建OpenEuler 23.09创新版本,并于今天在TC例会上进行了分享,TC原则上同意在创新版本上进行预验证。 另外,TC建议调研社区的伙伴(特别是相关OSV和云厂商)对此proposal的建议,请各位在此邮件上反馈意见和建议即可,感谢~
如下是x86-64微架构level:
* x86-64 * The current default microarchitecture level * CMOV, CMPXCHG8B, FPU, FXSR, MMX, FXSR, SCE, SSE, SSE2 * Intel Pentium4 launched in 2000, AMD K8 Hammer in 2003 * x86-64-v2 * CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3 * Intel Nehalem launched in 2008, Silvermont (Atom core) in 2013, AMD Piledriver in 2012 * x86-64-v3 * AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE * Intel Haswell launched in 2013, Gracemont (Atom core) in Nov. 2021, AMD Excavator in 2015 * x86-64-v4 * AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL * Intel Skylake launched in 2015, AMD Zen4 in 2022
不同的level代表能支持的微架构级别,目前openEuler的GCC默认配置成x86-64,该提议建议默认配置成x86-64-v2,从上表可以看到增加了新指令的支持,减少了对老旧硬件的支持。
假设:(1)在生产环境中运行超过10年的硬件并不多 (2)此类硬件很少需要升级到最新的操作系统发行版 收益:(1)摆脱支持非常旧的硬件的限制(>10年); (2)将微体系结构的最低级别提高到Intel Nehalem或 AMD Piledriver; (3)使用更多的矢量指令,以提升应用性能; (4)期望开箱即用的性能收益; 影响:对早于x86-64-v2的硬件不再支持/兼容。
RHEL 9默认配置成了x86-64-v2,供参考:https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-li...
Compiler SIG 赵川峰(Steve)