You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This utilizes 256bit SIMD registers that both relatively new intel and amd cpus support.
I haven't run the benchmark yet. But according to my previous experience with VPCLMULQDQ (which is used in CRC64 calculation), such change should be able to bring speed up.
Also notice that if you really want to use 512bit registers, just unroll more loops and similar tricks apply.
As you may have noticed that the commit above was a little bit messy. This is because I noticed some potential bugs within rust's core that makes the code generation bad for Zen 3 CPUs. I will sync the info once I reported the issue to rust's stdarch library.
Using the instruction: https://doc.rust-lang.org/nightly/core/arch/x86_64/fn._mm512_aesdec_epi128.html
It should be possible to get 4x the throughput on large strings.
Note: Currently very few processors support this.
The text was updated successfully, but these errors were encountered: