Re: [Compiler SIG][Proposal] Intel提议编译器默认使能x86-64-v2来构建OpenEuler 23.09创新版本,请各位发表意见,感谢

Compiler SIG各位专家,
你们好;
openEuler社区当前在并行推进的项目还有llvm替代gcc作为默认编译器的项目;
还有性能工程项目;
我们的客户对LTO和PGO更感兴趣;
客户希望编译器是唯一的稳定的,
不希望出现编译兼容问题;
希望Compiler SIG优先推进LTO和PGO商用落地;
x86-64-v2建议降低优先级;
From: Zhang, Annita <annita.zhang@intel.com>
Sent: Tuesday, May 30, 2023 11:39 AM
To: Zhaochuanfeng (Steve) <zhaochuanfeng@huawei.com>; tc <tc@openEuler.org>; compiler@openeuler.org; dev@openeuler.org
Subject: [Dev] Re: [Compiler SIG][Proposal] Intel提议编译器默认使能x86-64-v2来构建OpenEuler
23.09创新版本,请各位发表意见,感谢
各位好,
我们上周五(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
- The current default microarchitecture level
- 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
- CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3
- 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
- AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE
- x86-64-v4
- AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL
- Intel Skylake launched in 2015, AMD Zen4 in 2022
- AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL
不同的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-linux-9-for-the-x86-64-v2-microarchitecture-level#background_of_the_x86_64_microarchitecture_levels
Compiler SIG
赵川峰(Steve)

Hi Zhoukang,
谢谢你的建议,目前编译器的LTO和PGO相关的项目也在同步推进中。
Best Regards
赵川峰(Steve)
发件人: Zhoukang (A) <zhoukang7@huawei.com>
发送时间: 2023年5月30日
11:56
收件人: Zhang, Annita <annita.zhang@intel.com>; Zhaochuanfeng (Steve) <zhaochuanfeng@huawei.com>; tc <tc@openEuler.org>; compiler@openeuler.org; dev@openeuler.org
主题: RE: [Compiler SIG][Proposal] Intel提议编译器默认使能x86-64-v2来构建OpenEuler 23.09创新版本,请各位发表意见,感谢
Compiler SIG各位专家,
你们好;
openEuler社区当前在并行推进的项目还有llvm替代gcc作为默认编译器的项目;
还有性能工程项目;
我们的客户对LTO和PGO更感兴趣;
客户希望编译器是唯一的稳定的,
不希望出现编译兼容问题;
希望Compiler SIG优先推进LTO和PGO商用落地;
x86-64-v2建议降低优先级;
From: Zhang, Annita <annita.zhang@intel.com>
Sent: Tuesday, May 30, 2023 11:39 AM
To: Zhaochuanfeng (Steve) <zhaochuanfeng@huawei.com>; tc <tc@openEuler.org>;
compiler@openeuler.org;
dev@openeuler.org
Subject: [Dev] Re: [Compiler SIG][Proposal] Intel提议编译器默认使能x86-64-v2来构建OpenEuler
23.09创新版本,请各位发表意见,感谢
各位好,
我们上周五(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
- The current default microarchitecture level
- 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
- CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3
- 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
- AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE
- x86-64-v4
- AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL
- Intel Skylake launched in 2015, AMD Zen4 in 2022
- AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL
不同的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-linux-9-for-the-x86-64-v2-microarchitecture-level#background_of_the_x86_64_microarchitecture_levels
Compiler SIG
赵川峰(Steve)
-
Zhaochuanfeng (Steve)
-
Zhoukang (A)