3 ms·
I'm an "auto-vectorization skeptic" in many ways, but it's also the case that there will be other parts of your program that will benefit from being able to gen
by dundarious 3y ago
I'm an "auto-vectorization skeptic" in many ways, but it's also the case that there will be other parts of your program that will benefit from being able to generate (for example) AVX2 instructions beyond a few specialized functions.
If there is to be a CPU-specific dispatch mechanism, it should be more like a small binary/shell script that exec-s an entirely CPU-specific binary, dependent on runtime detection (cpuid, etc.). Dependent on your distribution mechanism, you might only download the appropriate binary. But if you do this, please remember to keep your binary sizes reasonable.
- gumby 3y agoI hope your skepticism is appropriately language-specific. For example auto-vectorization of FORTRAN code has a long, successful history (the Cray 1, and X/Y-MP were basically FORTRAN machines) due to its memory model and vector affordances. With C, C++, Rust and other such languages of course it's very difficult.
- dundarious 3y agoFortran was safely excluded.