[PATCH] x86: Don't set Prefer_No_AVX512 for processors with AVX512 and AVX-VNNI
Noah Goldstein
goldstein.w.n@gmail.com
Tue Dec 7 07:47:02 GMT 2021
On Sun, Dec 5, 2021 at 9:23 PM H.J. Lu via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> Don't set Prefer_No_AVX512 on processors with AVX512 and AVX-VNNI since
> they won't lower CPU frequency when ZMM load and store instructions are
> used.
> ---
> sysdeps/x86/cpu-features.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
> index be2498b2e7..311ade1f26 100644
> --- a/sysdeps/x86/cpu-features.c
> +++ b/sysdeps/x86/cpu-features.c
> @@ -538,8 +538,11 @@ init_cpu_features (struct cpu_features *cpu_features)
> |= bit_arch_Prefer_No_VZEROUPPER;
> else
> {
> - cpu_features->preferred[index_arch_Prefer_No_AVX512]
> - |= bit_arch_Prefer_No_AVX512;
> + /* Processors with AVX512 and AVX-VNNI won't lower CPU frequency
> + when ZMM load and store instructions are used. */
> + if (!CPU_FEATURES_CPU_P (cpu_features, AVX_VNNI))
> + cpu_features->preferred[index_arch_Prefer_No_AVX512]
> + |= bit_arch_Prefer_No_AVX512;
>
> /* Avoid RTM abort triggered by VZEROUPPER inside a
> transactionally executing RTM region. */
> --
> 2.33.1
>
Should we also do Rocket Lake?
According to Travis Downs at least downclocking is an issue there ether:
https://travisdowns.github.io/blog/2020/08/19/icl-avx512-freq.html#rocket-lake
More information about the Libc-alpha
mailing list