7 ms·
Figuring out which libary to use is a huge PITA. I don't really understand when I should use uBLAS, mtl, or eigen or whatever else is out there. Anyone have s
by temp453463343 13y ago
Figuring out which libary to use is a huge PITA. I don't really understand when I should use uBLAS, mtl, or eigen or whatever else is out there.
Anyone have some insight?
- pbsd 13y agoI'm not exactly an expert on this kind of thing, but from what I understand, Eigen and Armadillo [1] are the best performing libraries in this space. I'd probably go with Eigen, since it appears to be used in more high-profile places and thus more likely to keep being maintained. uBLAS, on the other hand, does not perform that well in comparison, but it is more likely to keep being maintained as part of Boost. Blaze [2] is supposed to be very high-performance, but it is relatively new, so there's no way to tell where the chips may fall on this one. [1] http://arma.sourceforge.net/ http://arma.sourceforge.net/ [2] https://code.google.com/p/blaze-lib/ https://code.google.com/p/blaze-lib/
- temp453463343 13y agohow about ATLAS ?
- pbsd 13y agoWell, I was comparing apples to apples (i.e., C++ expression template linear algebra libraries). Some (most?) of them [1,2] are linkable against BLAS routines from Intel MKL or ATLAS or whatever. [1] http://eigen.tuxfamily.org/dox/TopicUsingIntelMKL.html http://eigen.tuxfamily.org/dox/TopicUsingIntelMKL.html [2] http://arma.sourceforge.net/faq.html#dependencies http://arma.sourceforge.net/faq.html#dependencies
- temp453463343 13y agoThanks for that clarification
- wallbear 13y agoArmadillo is also used in pretty well known places: NASA, Siemens, Intel, Boeing, Stanford, CMU, MIT, Schlumberger, Deutsche Bank, US Navy, etc. (source: access logs for Armadillo website). It's also the basis for the MLPACK machine learning library: http://mlpack.org/ http://mlpack.org/ Additionally, there are Armadillo bindings to Python and the R language: http://sourceforge.net/projects/armanpy/ http://sourceforge.net/projects/armanpy/ http://cran.r-project.org/web/packages/RcppArmadillo/ http://cran.r-project.org/web/packages/RcppArmadillo/