[Rd] [R] Building with MKL on Ubuntu

Martyn Plummer plummer at iarc.fr
Wed Nov 5 18:59:34 CET 2008


It looks like the em64t version of MKL fails the test for the accuracy
of zdotu ("checking whether double complex BLAS can be used") and is
therefore dropped in favour of R's built-in BLAS.  I have just tested
this on Fedora and get the same result.

The 32-bit MKL does work for me.

Martyn

On Wed, 2008-11-05 at 16:29 +0000, Anand Patil wrote:
> On Tue, Nov 4, 2008 at 7:34 PM, <plummer at iarc.fr> wrote:
> 
> > I can see a couple of problems:
> >
> > 1) No "-lpthread" in --with-blas
> > 2) No "-L" prefix in the library path in --with-lapack
> >
> > In addition, I don't think you need to add -lmkl to --with-lapack,
> > although that is probably harmless.
> >
> > Martyn
> >
> > Quoting Prof Brian Ripley <ripley at stats.ox.ac.uk>:
> >
> > > Look in config.log to see what's wrong.  (E.g. is
> > > /opt/intel/mkl/10.0.2.018/lib/em64t in the ld.so cache?)
> > >
> > > And note the warnings in the manual about using --with-lapack: it is most
> > > definitely not recommended.
> > >
> > > R-devel would be a better place to ask questions about this.
> > >
> >
> 
> Thanks Brian and Martyn,
> I've tried it again with two sets of configure options:
> 
> ./configure --with-blas='-L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl -lguide
> -lpthread' --with-lapack='-L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl_lapack'
> --enable-R-shlib
> 
> ./configure --with-blas='-L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl -lguide
> -lpthread' --enable-R-shlib
> 
> In both cases, the result is the same: R builds and uses its own BLAS. I
> didn't find anything that looked like evidence that /opt/intel/mkl/
> 10.0.2.018/lib/em64t was getting into the ld.so cache, ie I didn't find
> 'ld.so' and 'opt/intel...' close together anywhere. Summaries of the BLAS-
> or MKL-related bits in config.log follow, with the first set of options:
> 
> configure:36563: checking for dgemm_ in -L/opt/intel/mkl/
> 10.0.2.018/lib/em64t -lmkl -lguide -lpthread
> configure:36594: gcc -std=gnu99 -o conftest -g -O2 -fpic
>  -I/usr/local/include  -L/usr/local/lib64 conftest.c -L/opt/intel/mkl/
> 10.0.2.018/lib/em64t -lmkl -lguide -lpthread  -lgfortran -lm -ldl -lm  >&5
> conftest.c: In function 'main':
> conftest.c:187: warning: implicit declaration of function 'dgemm_'
> configure:36600: $? = 0
> configure:36616: result: yes
> configure:37408: checking whether double complex BLAS can be used
> configure:37481: result: no
> ...
> BLAS_LIBS0=''
> BLAS_LIBS='-L$(R_HOME)/lib$(R_ARCH) -lRblas'
> BLAS_SHLIB_FALSE='#'
> BLAS_SHLIB_TRUE=''
> ...
> JAVA_LD_LIBRARY_PATH='$(JAVA_HOME)/lib/amd64/server:$(JAVA_HOME)/lib/amd64:$(JAVA_HOME)/../lib/amd64:/usr/local/lib64::/usr/lib64:/lib64:/usr/local/lib64:/usr/lib:/usr/local/lib:/lib:/opt/intel/fce/10.1.018/lib:/opt/intel/ipp/
> 5.3.4.080/em64t/sharedlib:/opt/intel/cce/10.1.018/lib:/opt/intel/mkl/10.0.2.018/lib/em64t:/usr/java/packages/lib/amd64:/lib:/usr/lib
> '
> JAVA_LIBS0='-L$(JAVA_HOME)/lib/amd64/server -L$(JAVA_HOME)/lib/amd64
> -L$(JAVA_HOME)/../lib/amd64 -L/usr/local/lib64 -L -L/usr/lib64 -L/lib64
> -L/usr/local/lib64 -L/usr/lib -L/usr/local/lib -L/lib
> -L/opt/intel/fce/10.1.018/lib
> -L/opt/intel/ipp/5.3.4.080/em64t/sharedlib-L/opt/intel/cce/10.1.018/lib
> -L/opt/intel/mkl/
> 10.0.2.018/lib/em64t -L/usr/java/packages/lib/amd64 -L/lib -L/usr/lib -ljvm'
> LAPACK_LDFLAGS=''
> LAPACK_LIBS='-L$(R_HOME)/lib$(R_ARCH) -lRlapack'
> 
> 
> and with the second set:
> 
> 
> configure:36563: checking for dgemm_ in -L/opt/intel/mkl/
> 10.0.2.018/lib/em64t -lmkl -lguide -lpthread
> configure:36594: gcc -std=gnu99 -o conftest -g -O2 -fpic
>  -I/usr/local/include  -L/usr/local/lib64 conftest.c -L/opt/intel/mkl/
> 10.0.2.018/lib/em64t -lmkl -lguide -lpthread  -lgfortran -lm -ldl -lm  >&5
> conftest.c: In function 'main':
> conftest.c:187: warning: implicit declaration of function 'dgemm_'
> configure:36600: $? = 0
> configure:36616: result: yes
> configure:37408: checking whether double complex BLAS can be used
> configure:37481: result: no
> ...
> BLAS_LIBS0=''
> BLAS_LIBS='-L$(R_HOME)/lib$(R_ARCH) -lRblas'
> BLAS_SHLIB_FALSE='#'
> BLAS_SHLIB_TRUE=''
> ...
> JAVA_LD_LIBRARY_PATH='$(JAVA_HOME)/lib/amd64/server:$(JAVA_HOME)/lib/amd64:$(JAVA_HOME)/../lib/amd64:/usr/local/lib64::/usr/lib64:/lib64:/usr/local/lib64:/usr/lib:/usr/local/lib:/lib:/opt/intel/fce/10.1.018/lib:/opt/intel/ipp/
> 5.3.4.080/em64t/sharedlib:/opt/intel/cce/10.1.018/lib:/opt/intel/mkl/10.0.2.018/lib/em64t:/usr/java/packages/lib/amd64:/lib:/usr/lib
> '
> JAVA_LIBS0='-L$(JAVA_HOME)/lib/amd64/server -L$(JAVA_HOME)/lib/amd64
> -L$(JAVA_HOME)/../lib/amd64 -L/usr/local/lib64 -L -L/usr/lib64 -L/lib64
> -L/usr/local/lib64 -L/usr/lib -L/usr/local/lib -L/lib
> -L/opt/intel/fce/10.1.018/lib
> -L/opt/intel/ipp/5.3.4.080/em64t/sharedlib-L/opt/intel/cce/10.1.018/lib
> -L/opt/intel/mkl/
> 10.0.2.018/lib/em64t -L/usr/java/packages/lib/amd64 -L/lib -L/usr/lib -ljvm'
> LAPACK_LDFLAGS=''
> LAPACK_LIBS='-L$(R_HOME)/lib$(R_ARCH) -lRlapack'
> 
> 
> Do either of these give us clues as to what's wrong?
> 
> Thanks,
> Anand
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-----------------------------------------------------------------------
This message and its attachments are strictly confidenti...{{dropped:8}}



More information about the R-devel mailing list