Hacker News new | ask | show | jobs
by basementcat 1127 days ago
One complication is that AVX is not one but more than a dozen ISA extensions each of which may or may not be implemented on a particular processor. This means software delivered to a customer should ideally check CPUID at runtime to dispatch the appropriate processing kernel. https://en.m.wikipedia.org/wiki/AVX-512
3 comments

If someone just says "AVX" they usually mean AVX(1). And that's what the article is discussing.

AVX-512 forking into tons of different beasts is a separate, but related, problem. But it's more like how SSE2, 3, 4, 4.1 and so on existed.

Sometimes people said "SSE" and they might have meant one the later versions, but I don't hear the same statement with AVX, since people very explicitly seem to say AVX2 and AVX512.

I also want to point out that there’s also the extreme-crazy option that is Gentoo linux.

All packages are distributed as source and compiled on the destination machine before being installed there. And yes, you can modify build flags per package to enable/disable compile flags.

I recommend doing it for fun. It’s a crazy world.

The article was referring to the original AVX1 not the subsequent variants. Likewise I was referring to the first set of extensions.