[mlpack] CMakeList adjustments for compiling Mlpack with Armadillo using openblas

Steenwijk, Martijn m.steenwijk at vumc.nl
Sat Dec 28 13:31:49 EST 2013


Hi Ryan,

Thanks for your reply. I'm not sure were things got wrong, as I'm not a true expert on this topic. Openblas is on my system not available by default, and as I'm not an admin, I had to explicitly point to the library while compiling Armadillo. This is probably why armadillo did not find openblas automatically - and why I had to change armadillo's configuration file. 

It was just a suggestion, I would appreciate if you can make a ticket out of it. :-)


The use of MLpack last days has led to another question; is there any paper or performance data on the kNN implementation used? It will off course depend on the number of dimensions and train points; but in my case (~5-10 dimensions and several millions of train points) it appeared to work slightly slower than ANN (which is quite impressive, as other alternatives such as FLANN and libnabo appear to be much and much slower in this situation). I'm wondering how MLpack would respond to extra dimensions (ANN slows down tremendously) or intercorrelated dimensions (ANN also slows down).

Thanks,
Martijn



-----Original Message-----
From: Ryan Curtin [mailto:gth671b at mail.gatech.edu] 
Sent: zaterdag 28 december 2013 19:04
To: Steenwijk, Martijn
Cc: 'mlpack at cc.gatech.edu'
Subject: Re: [mlpack] CMakeList adjustments for compiling Mlpack with Armadillo using openblas

On Wed, Dec 25, 2013 at 10:22:36PM +0000, Steenwijk, Martijn wrote:
> Hi all,
> 
> Today I tried to compile mlpack using Armadillo using openblas. It
> appeared that CMakeLists needed some adjustments, which are referred
> to here (https://gist.github.com/bdsatish/5648571;  linking against
> openblas library, and inclusion of include/lib dirs in the
> CMakeLists). As Armadillo recommends to build using openblas, it might
> be a good idea to catch this situation in CMake.

Hello Martijn,

Unless I'm mistaken, Armadillo will automatically use OpenBLAS if
available.  If Armadillo isn't automatically linking against OpenBLAS I
don't think the right solution is to disable ARMA_USE_WRAPPER but
instead to find out why Armadillo isn't automatically finding OpenBLAS.

If you're not using ARMA_USE_WRAPPER, then everything you do that uses
Armadillo will need to be linked against each dependency of Armadillo --
depending on your configuration this could mean -llapack -lblas -lhdf5
-larpack -lmkl (and so forth).

But this does lead to an important point: can we detect when
ARMA_USE_WRAPPER is disabled, and then detect which libraries we need to
link against?  I'm sure the answer is yes, but it will be a long time
until I have a chance to look into it.  Would you be interested in doing
that?  If not, I'll open a Trac ticket that someone can eventually take.

Thanks,

Ryan

-- 
Ryan Curtin    | "Lots of respectable people have been hit by
ryan at ratml.org | trains."  - Penny



More information about the mlpack mailing list