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


2015-12-16 20:19 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>:
> 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.

Is it OK for trunk?


--
WBR,
Andrew


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