3 ms·
They're optimized for single-precision linear algebra. If you need double-precision all those optimizations go out the window and you're left on your own.
by tjl 10y ago
They're optimized for single-precision linear algebra. If you need double-precision all those optimizations go out the window and you're left on your own.
- vardump 10y ago> They're optimized for single-precision linear algebra. If you need double-precision all those optimizations go out the window and you're left on your own. Not true at all on modern X86. You just get half the FLOPS by using double precision instead of single precision -- 16 double precision FLOPS per core per cycle. Which is very good considering there's also twice as much data to process. You could rather say X86 CPUs are highly optimized for double precision performance.
- tjl 10y agoThat's great. It's been a while since I did a lot of simulations (which used double precision) so I didn't know that had changed. I still wouldn't say that they're highly optimized, though.
- fsloth 10y agoPlease see http://agner.org/optimize/optimizing_cpp.pdf http://agner.org/optimize/optimizing_cpp.pdf chapter 7.3 for detailed technical discussion on this. "In most cases, double precision calculations take no more time than single precision."
- Narishma 10y agoOnly for scalar calculations. Vectorized they take about double the amount of time.