5 ms·
> It requires: avx512-vbmi2, available only on skylake-X/Tiger-lake/AMD zen4 Isn't Avx 512 also available on Xeon which is most hosted servers, like aws.
by thomasahle 3y ago
> It requires: avx512-vbmi2, available only on skylake-X/Tiger-lake/AMD zen4
Isn't Avx 512 also available on Xeon which is most hosted servers, like aws.
- powturbo 3y agoNot only AVX-512, but AVX-512 + VBMI2
- Aardwolf 3y agoNo modern intel consumer CPU has avx512 anymore, they only support at most the 10 year old avx2 vector instruction set, because they want to give every single consumer chip efficiency cores, those can't handle it, and even the performance cores have this feature removed due to it. The modern AMD Zen 4 CPU's for consumers do support avx512 (including avx512_vbmi2).
- powturbo 3y ago> and even the performance cores have to be downgraded for it. Old rumours, it's no longer true.
- skavi 3y agonot really rumors, but also not necessarily true. the performance cores on consumer intel parts no longer have AVX-512 enabled. This is because it’s tough to implement on the smaller efficiency cores, and scheduling is more annoying with heterogeneous ISAs.
- powturbo 3y agoI understand downgrading as thermal throtlling.
- Aardwolf 3y agoI did mean have the feature removed, I edited the comment (replaced "downgraded" with "have this feature removed". I actually originally typed "crippled" but wanted to phrase it more mildly). What I mean is to avoid the heterogeneous cores they chose to disable it in the performance cores rather than e.g. emulate or double pump it in the efficiency cores. And they chose to give you efficiency cores + performance cores without avx512 on all consumer CPU's, rather than, what would be my preference, sell some with only performance cores with avx512 like their previous gen CPUs. I'd be ok with efficiency cores on a laptop, sure, but not on a desktop machine. But AMD already gives plenty fast cores with avx512 now so I'm satisfied, I'm simply not an intel user anymore. Of course intel's choice still affects me anyway since the less consumers have avx512, the less software will make use of it.
- pjc50 3y agoSo .. what's the vector set that people should be targeting for wide compatibility these days?
- powturbo 3y agoIdeally, dynamic detecting cpu isa (sse/avx2/avx512) and respectively dispatching, used in most of my projects for ex. [1] and [2] - [1] https://github.com/powturbo/Turbo-Range-Coder https://github.com/powturbo/Turbo-Range-Coder - [2] https://github.com/powturbo/Turbo-Base64 https://github.com/powturbo/Turbo-Base64
- adgjlsfhk1 3y agohonestly you can probably stop supporting pre avx2 for a lot of use cases. avx2 is 2014 so those machines are pretty much at end of life. this also has the advantage that it lets you assume native fma hardware
- duped 3y agoYou can use function multiversioning (1) to provide multiple implementations of the same function for different targets that is selected at runtime. (1) https://releases.llvm.org/7.0.0/tools/clang/docs/AttributeReference.html#target-gnu-target https://releases.llvm.org/7.0.0/tools/clang/docs/AttributeRe...
- jeffbee 3y agoOdd how you completely dodged the question, as asked. Every EC2 instance based on an Intel CPU has AVX512 since the release of the C/M5 family in 2017.
- bugboy73 3y agoAll major cloud providers (AWS, Azure and GCP) provide instance-types that support AVX512-VBMI2. Iguana targets large amounts of that are decompressed often and speed is of the essence. Those are typical server scenarios, so the AVX512-VBMI2 requirement isn't really an issue in common-case scenarios. DISCLAIMER: I work for Sneller