Great. This definitely seems like a better approach to rely on R. I have Revolution R setup on another machine so I just installed RcppArmadillo with that and indeed it appears to now be relying on Intel&#39;s MKL.<div><br>

</div><div>Thanks!</div><div>Zarrar<br><br><div class="gmail_quote">On Sat, Sep 3, 2011 at 12:45 AM, Dirk Eddelbuettel <span dir="ltr">&lt;<a href="mailto:edd@debian.org">edd@debian.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br>
Hi Zarrar,<br>
<div class="im"><br>
On 2 September 2011 at 17:19, Zarrar Shehzad wrote:<br>
| Is it possible to install RcppArmadillo with Intel&#39;s MKL library?<br>
<br>
</div>In principle, yes. In practice, probably too as well :)<br>
<br>
When we started this we used Armadillo as library and via a configure<br>
step. Doug later convinced us that relying on R is easier -- so we can take<br>
LAPACK and BLAS and other things as given. This then, we pre-configure<br>
Armadillo and essentially just use templates, which makes portability a snap.<br>
<br>
So you should &quot;just&quot; need to declare MKL the proper way for R itself, and as<br>
RcppArmadillo calls into R to get BLAS resolved, you should get MKL that way.<br>
As MKL is multithreaded so you should see a speed pickup for certain ops.<br>
<br>
See the R Inst + Admin manual for how to setup R and and MKL.<br>
<div class="im"><br>
| I tried to replace the &quot;$(LAPACK_LIBS) $(BLAS_LIBS)&quot; in the Makevars with links<br>
| to Intel&#39;s MKL: &quot;-L/opt/intel/composerxe/mkl/lib/intel64/ -lmkl_gf_ilp64<br>
| -lmkl_core -lmkl_def -lmkl_gnu_thread -<br>
| lgomp -L/opt/intel/composerxe/mkl/lib/intel64/ -lmkl_gf_ilp64 -lmkl_core<br>
| -lmkl_def -lmkl_gnu_thread -lgomp&quot; and also uncommented the &quot;#define<br>
| ARMA_USE_LAPACK&quot; and &quot;#define ARMA_USE_BLAS&quot; in armadillo_bits/config.hpp. Are<br>
| these the wrong things to do or is there something else I should be doing?<br>
<br>
</div>Try leaving it as is.  At least on my Debian / Ubuntu systems, it would<br>
transparently pass through to BLAS as used by R.<br>
<br>
Dirk<br>
<br>
| Thanks<br>
| Zarrar<br>
|<br>
| ----------------------------------------------------------------------<br>
| _______________________________________________<br>
| Rcpp-devel mailing list<br>
| <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
| <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
<font color="#888888"><br>
--<br>
Two new Rcpp master classes for R and C++ integration scheduled for<br>
New York (Sep 24) and San Francisco (Oct 8), more details are at<br>
<a href="http://dirk.eddelbuettel.com/blog/2011/08/04#rcpp_classes_2011-09_and_2011-10" target="_blank">http://dirk.eddelbuettel.com/blog/2011/08/04#rcpp_classes_2011-09_and_2011-10</a><br>
<a href="http://www.revolutionanalytics.com/products/training/public/rcpp-master-class.php" target="_blank">http://www.revolutionanalytics.com/products/training/public/rcpp-master-class.php</a><br>
</font></blockquote></div><br></div>