News for hackers. Stuff that matters.
Re:How to write efficient matrix multiplication by CamperBob2 on Sunday May 27, 2018 @05:15PM (#17169144)
It's just incredible that there's still no way to force denormals to be rounded silently to zero on x86. You have to go out of your way to check for them, or face horrific performance penalties for a feature you didn't even want or need.
Re:How to write efficient matrix multiplication by stephencanon on Sunday May 27, 2018 @08:32PM (#17169961)
Huh? Set bits 6 (DAZ) and 15 (FZ) in MXCSR. Done.

The only instructions you can’t set to flush are the legacy x87 opcodes, which you shouldn’t be using in a performance-sensitive context anyway.

Re:How to write efficient matrix multiplication by CamperBob2 on Monday May 28, 2018 @06:01AM (#17171588)
Sadly, some of us are stuck maintaining code that still needs to run on pre-SSE2 hardware.
Re:How to write efficient matrix multiplication by imurray on Sunday May 27, 2018 @05:35PM (#17169226)
This code:

    #define CSR_FLUSH_TO_ZERO         (1 << 15)
    unsigned csr = __builtin_ia32_stmxcsr();
    csr |= CSR_FLUSH_TO_ZERO;
    __builtin_ia32_ldmxcsr(csr);
from https://stackoverflow.com/a/8217313/ seems to work for me with gcc. I don't know how widely supported it would be.