gtl icon indicating copy to clipboard operation
gtl copied to clipboard

AVX-256/AVX-512 support?

Open alexandergunnarson opened this issue 7 months ago • 4 comments

I'm looking to use gtl::parallel_flat_hash_map. Forgive my ignorance, as most of my experience has been in the JVM world and I'm still learning about vector intrinsics.

I was curious why there's SSE2/SSE3 support (up to 128-bit vectorization, IIRC), but no AVX-256/AVX-512 support. I know there's the AVX-512 downclocking phenomenon, so perhaps potential performance gains are offset by that in this context. However AFAIK AVX-256 doesn't suffer from this. I'm sure you have a rationale for not using 256-bit/512-bit vector instructions, but curious to know 1) whether they would actually speed up the implementation and 2) if so, why they're not being used.

Thanks! Looks like an amazing project.

alexandergunnarson avatar Mar 05 '25 16:03 alexandergunnarson