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

x86-64-v2相对于x86-64支持了更多SSE和其它指令,包括CMPXCHG16B,
LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3,从而产生更多编译器优化和向量化的机会。
我们使用SPEC2017进行测试,测试结果如下。X86-64-v2分别对SPECINT和SPECFP里的一个benchmark有较大程度的提升,总的几何平均值也有小幅的提升(SPECINT
0.12%,SPECFP 0.77%)。在Ofast上性能提升更为明显,SPECINT达到0.86%,SPECFP达到0.89%。
从SPEC结果来看,我们认为性能提升是随着不同benchmark而变化的,如果benchmark正好有机会可以利用新增的指令集做优化,就会带来比较明显的提升。所以我们认为这个改进会对一部分程序带来性能提升,并且对其它程序不会产生性能退化。其它OSV的反馈也从侧面佐证了这一点。
Thx,
Annita
From:
王锋 <wangfeng@hnu.edu.cn>
Sent: Thursday, June 8, 2023 10:13 AM
To: Zhang, Annita <annita.zhang@intel.com>; zhaochuanfeng <zhaochuanfeng@huawei.com>; Zhoukang (A) <zhoukang7@huawei.com>; tc <tc@openEuler.org>; compiler@openeuler.org; dev@openeuler.org
Subject: Re:[Compiler] [Compiler SIG][Proposal] Intel提议编译器默认使能x86-64-v2来构建OpenEuler
23.09创新版本,请各位发表意见,感谢
Hi all,
具体的话,能给哪些应用/benchmark带来性能提升,有相应的数据吗?我想知道能给应用性能带来提升的主要是os的哪一部分?
谢谢!
--
王锋
湖南大学信息科学与工程学院
------------------ Original ------------------
Date:
Tue, May 30, 2023 04:15 PM
To:
"zhaochuanfeng"<zhaochuanfeng@huawei.com>;
"Zhoukang (A)"<zhoukang7@huawei.com>; "tc"<tc@openEuler.org>;
"compiler@openeuler.org"<compiler@openeuler.org>;
"dev@openeuler.org"<dev@openeuler.org>;
Subject:
[Compiler] Re: [Compiler SIG][Proposal] Intel提议编译器默认使能x86-64-v2来构建OpenEuler
23.09创新版本,请各位发表意见,感谢
Hi Zhoukang,
谢谢反馈!x86-64-v2作为默认配置不会影响编译兼容问题,也不会影响LTO和PGO的推动。它可以摆脱一直以来非常陈旧的ISA对编译器代码生成的限制,并对用户程序带来性能上的提升。另外,LLVM也支持同样的微架构等级,所以今后如果迁移至LLVM也可以使用同样的选项来提升ISA等级。
目前RHEL9和Suse
ALP已经将x86-64-v2做为默认配置,可以看作是业界的大势所趋,我们认为OpenEuler23.09创新版本是比较好的时间点来跟上这个大趋势。
Thx,
Annita
From: Zhaochuanfeng (Steve) <zhaochuanfeng@huawei.com>
Sent: Tuesday, May 30, 2023 12:23 PM
To: Zhoukang (A) <zhoukang7@huawei.com>; Zhang, Annita <annita.zhang@intel.com>;
tc <tc@openEuler.org>;
compiler@openeuler.org;
dev@openeuler.org
Subject: 答复: [Compiler SIG][Proposal] Intel提议编译器默认使能x86-64-v2来构建OpenEuler
23.09创新版本,请各位发表意见,感谢
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
- 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-linux-9-for-the-x86-64-v2-microarchitecture-level#background_of_the_x86_64_microarchitecture_levels
Compiler SIG
赵川峰(Steve)
participants (1)
-
Zhang, Annita