On 09/23/2013 08:46 AM, Susi Lehtola
wrote:
They can't cover every combination of CPU microarchitecture/cache sizes and main memory configuration and speed. It can't even be a per-motherboard configuration, because one could put in different speed DIMMs. and in principle that could change the optimal ATLAS setup. Recompiling it at every boot is a little extreme, though, albeit in principle someone could change the memory between boots.On Mon, 23 Sep 2013 14:34:50 +0200 Kevin Kofler <kevin.kofler@xxxxxxxxx> wrote:Matthew Miller wrote:Actually, what ATLAS upstream intends is for the program to be recompiled on every installation (or boot, even). I think we used to have packages that did that; this is a compromise.Yes, ATLAS upstream has always been smoking deep crack. It looks like OpenBLAS is the much better option, now that it is available. (ATLAS used to be the best available as Free Software back when GotoBLAS was still proprietary, but now that the Goto code has been freed, ATLAS is not looking so great anymore.)Well, it's not too hard to understand why ATLAS does things the way it does. It's already in the acronym: Automatically Tuned Linear Algebra Software. You generate a library that is optimal for your processor. In comparison, GotoBLAS (OpenBLAS) has been hand-tuned in assembly for every supported CPU. On the other hand, I'm not sure why they don't just take their tool and pregenerate lists of optimal parameters for every available CPU. That way you could compile everything in the same package and do runtime CPU detection. Currently binary distributions have to do some hackaround to generate a reasonably efficient one-size-fits-all library. |
-- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct