Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.    By clickin

Basic AVX-512 implementation #1813

submited by
Style Pass
2022-05-12 04:00:10

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

AVX-512 massive reduces the number of instructions. To a lesser extend, it reduces the number of cycles. However, the AVX-512 runs at a significantly lower frequency due to frequency throttling and thus, it is overall slower.

More recent Intel processors (Rocket Lake and Ice Lake) are much less affected by frequency throttling: https://travisdowns.github.io/blog/2020/08/19/icl-avx512-freq.html

One way we could avoid the issue is to check for VBMI2. This would disable AVX-512 on old AVX-512 system like my older skylake-x processor. We could then more safely enable AVX-512 by default.

The presumption I am making is that upcoming Intel processors will tend to have much less frequency throttling due to AVX-512.

Leave a Comment