Glibc Picks Up More AVX-512 Optimizations - ~30% Less Cycles For Some String Functions
The widely depended upon GNU C Library "glibc" has seen another round of optimization work for benefiting those with AVX-512 processors from Intel or now on the AMD side too with Zen 4.
Intel engineer Sunil K Pandey has landed enhanced vector extension EVEX512 versions of the memchr, rawmemchr, and wmemchr functions for Glibc. The EVEX512 versions of these string functions can enjoy as much as 30% less cycles compared to the standard EVEX implementations. The memchr, rawmemchr, and wmemchr function variants ultimately being used for locating a character in a block of memory, The benefits of the 512-bit vector usage vary based on string length and other factors.
Meanwhile today in Glibc Git Noah Goldstein landed a number of optimizations to existing EVEX implementations of various libc functions.
It's great seeing the continued EVEX512 optimizations even with Intel's latest client CPUs lacking AVX-512 while AMD's new Zen 4 processors are all boasting nice AVX-512 performance.
Intel engineer Sunil K Pandey has landed enhanced vector extension EVEX512 versions of the memchr, rawmemchr, and wmemchr functions for Glibc. The EVEX512 versions of these string functions can enjoy as much as 30% less cycles compared to the standard EVEX implementations. The memchr, rawmemchr, and wmemchr function variants ultimately being used for locating a character in a block of memory, The benefits of the 512-bit vector usage vary based on string length and other factors.
Meanwhile today in Glibc Git Noah Goldstein landed a number of optimizations to existing EVEX implementations of various libc functions.
It's great seeing the continued EVEX512 optimizations even with Intel's latest client CPUs lacking AVX-512 while AMD's new Zen 4 processors are all boasting nice AVX-512 performance.
22 Comments