This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] x86_64: memset optimized with AVX512


On Fri, Dec 11, 2015 at 10:13 AM, Andrew Senkevich
<andrew.n.senkevich@gmail.com> wrote:
> 2015-12-11 17:43 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>:
>>> Please make following changes:
>>>
>>> 1.  Change _avx512 to _avx512_no_vzeroupper.
>>> 2.  Add a feature, Prefer_No_VZEROUPPER, to cpu-features.h, and set
>>> it for KNL.
>>> 3. Check Prefer_No_VZEROUPPER instead of AVX512DQ_Usable,
>>> 4. Don't check AVX512DQ_Usable nor  Prefer_No_VZEROUPPER in
>>> ifunc-impl-list.c.
>>>
>>
>> I submitted a patch to enable SLM optimization for KNL:
>>
>> https://sourceware.org/ml/libc-alpha/2015-12/msg00221.html
>>
>> It is on hjl/32bit/master branch.   Please rebase your patch against
>> mine since it adds KNL optimization.
>
> Here ir rebased and updated version:
>
> From f488d8572bc43c731b0ce054ce1f84db7d90eb61 Mon Sep 17 00:00:00 2001
> From: Andrew Senkevich <andrew.senkevich@intel.com>
> Date: Fri, 11 Dec 2015 20:58:57 +0300
> Subject: [PATCH] Added memset optimized with AVX512 for KNL hardware.
>
> It shows improvement up to 28% over AVX2 memset (performance results
> attached at <https://sourceware.org/ml/libc-alpha/2015-12/msg00052.html>).
>
>         * sysdeps/x86_64/multiarch/memset-avx512-no-vzeroupper.S: New file.
>         * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Added new file.
>         * sysdeps/x86_64/multiarch/ifunc-impl-list.c: Added new tests.
>         * sysdeps/x86_64/multiarch/memset.S: Added new IFUNC branch.
>         * sysdeps/x86_64/multiarch/memset_chk.S: Likewise.
>         * sysdeps/x86/cpu-features.h (bit_Prefer_No_VZEROUPPER,
>         index_Prefer_No_VZEROUPPER): New.
>         * sysdeps/x86/cpu-features.c (init_cpu_features): Set the
>         Prefer_No_VZEROUPPER for Knights Landing.

Looks good to me.

Thanks.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]