From ripley at stats.ox.ac.uk  Fri Jan 25 07:35:41 2008
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Fri, 25 Jan 2008 06:35:41 +0000 (GMT)
Subject: [Rd] Problem building R with Intel MKL v10 BLAS
In-Reply-To: <47993905.9000206@mit.edu>
References: <47993905.9000206@mit.edu>
Message-ID: <Pine.LNX.4.64.0801250623420.7483@auk.stats>

On Thu, 24 Jan 2008, Michael Braun wrote:

> NO
>
> Hi.  I'm not sure if this is an R-help or R-devel problem, so I'm

Definitely R-devel.

> starting here in the hope that someone can help (and willing to go to
> the other list if it's more appropriate).  I think I am following all of
> the instructions in the various manuals, but clearly I am missing something.
>
> I have an Intel EM64T Dell with 2 dual-core Xeon processors running Red
> Hat EL5.  I would like to build R 2.6.1 with lots of debugging and
> profiling options, and link it to the processor-specific Intel MKL blas.
> The problem is that after I compile R, and do R CMD config BLAS_LIBS,
> the response is
> -L/usr/local/lib64/R/lib -lRblas.
>
> This tells me that R is not linked to the Intel BLAS at all.

Not so, because Rblas contains any links to an external BLAS.  Check over 
the R-admin manual and note that --enable-BLAS-shlib is the default.
So you need to check

ldd /usr/local/lib64/R/lib/libRblas.so

to see if it linked to MKL.

Check over config.log to see what happened: a common problem is that the 
libraries are not known to ld.so (you may need to include 
/opt/intel/mkl/10.0.1.014/lib/em64t in LD_LIBRARY_PATH)

> My config.site file for R is:
>
> #! /bin/sh
>
> R_PAPERSIZE=letter
> CFLAGS="-g -O2 -p -pg"
> CPPFLAGS="-I/opt/intel/mkl/10.0.1.014/include -I/usr/include
> -I/usr/local/include"
> LIBnn=lib64
> BLAS_LIBS="-L/opt/intel/mkl/10.0.1.014/lib/em64t -Wl,--start-group
> -lmkl_gf_lp64.so -lmkl_gnu_thread.so -lmkl_core.so -l -l -l -Wl,
> --end-group -lguide -lpthread -lm"
>
> I have set the CONFIG_SITE environment variable to the location of the
> config.site.file.
> I am doing everything as superuser.

What compilers are you using?  That would appear to be using 
gcc/gfortran and not the Intel compilers.

>
> The command I am using for configure is
>
> ./configure --disable-R-profiling --with-blas=no
>
> following the instructions in the R-admin file regarding enabling
> C-level profiling and linking to the external BLAS libraries referenced
> in the config.site file.
>
> The BLAS_LIBS files are different than in the R-admin manual because of
> changes in the Intel MKL for version 10.  These libraries, in this
> order, were taken from the Intel MKL for Linux User's Guide, chapter 5.
>
> So, still no luck linking to the optimized BLAS.  I'd appreciate any
> suggestions.
>
> Thanks,
>
> Michael
>
>
>
>
>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] Problem building R with Intel MKL v10 BLAS
Prof Brian Ripley