On 09/23/2013 02:46 PM, Susi Lehtola wrote:
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.
Atlas has hand-tuned assembler kernels as well. Build-time tuning searches mainly for optimal block size to minimize cache misses. How does OpenBlas handle blocking?
-- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct