[Rd] [R] Building with MKL on Ubuntu
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Nov 6 07:48:53 CET 2008
And how does that help you? At some future point on a real problem you
will get incorrect answers/segfault.
That test was put there as a result of such incorrect results found the
hard way.
On Wed, 5 Nov 2008, Anand Patil wrote:
> Scratch that- finally got it working! The steps were:
> - Change configure to 'break the thermometer' as suggested:
> ===================================================================
> --- configure (revision 46843)
> +++ configure (working copy)
> @@ -37473,6 +37473,8 @@
>
> fi
>
> +r_cv_zdotu_is_usable=yes
> +
> rm -rf conftest conftest.* conftestf.* core
> if test -n "${r_cv_zdotu_is_usable}"; then
> { echo "$as_me:$LINENO: result: yes" >&5
>
> - Set environment variables:
> CFLAGS=-pthread -O3
> FC=gfortran -pthread
> FFLAGS=-pthread
> CXXFLAGS=-O3 -pthread
> FCLAGS=-pthread
> LDFLAGS=-lpthread
>
> - Configure command:
> ./configure --with-blas='-L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl -lguide
> -lpthread' --enable-R-shlib
>
> I owe you all a beer!
>
> Anand
>
>
> On Wed, Nov 5, 2008 at 9:10 PM, Anand Patil
> <anand.prabhakar.patil at gmail.com> wrote:
> Thanks for your help, everyone. I was using gcc previously, but
> building with the Intel compilers causes its own problems:
> /opt/intel/cce/10.1.018/lib/libguide.so: undefined reference to
> `pthread_atfork'
> make[3]: *** [R.bin] Error 1
> make[3]: Leaving directory `/working_copies/R/src/main'
> make[2]: *** [R] Error 2
> make[2]: Leaving directory `/working_copies/R/src/main'
> make[1]: *** [R] Error 1
> make[1]: Leaving directory `/working_copies/R/src'
> make: *** [R] Error 1
>
> If your experience with MKL has been negative, I've definitely had
> enough; I'll try my luck with gcc and GotoBLAS.
>
> Cheers,
> Anand
>
>
> On Wed, Nov 5, 2008 at 9:02 PM, <plummer at iarc.fr> wrote:
> Quoting Peter Dalgaard <P.Dalgaard at biostat.ku.dk>:
>
> > Anand Patil wrote:
> > > On Wed, Nov 5, 2008 at 5:59 PM, Martyn Plummer
> <plummer at iarc.fr> wrote:
> > >
> > >> 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
> > >>
> > >
> > > Many thanks, Martyn. The 64-bit index space is
> important to me, will I lose
> > > it if I link against the 32-bit MKL? Also, should I
> file a bug report with
> > > Intel?
> > > Anand
> >
> > There's also the option of "breaking the thermometer".
> You might examine
> > that check and decide whether the loss of accuracy is
> enough for you to
> > worry about and if not, take out the test from
> configure.
> >
> > Apparently, this check was put in place in R-2.2.0
> >
> > o Any external BLAS found is now tested to see if
> the complex
> > routine zdotu works correctly: this provides a
> compatibility
> > test of compiler return conventions.
> >
> > which suggests that the expected failure is
> catastrophic, and looking at
> > the code, there's a fuzz of 1e-10 which would seem to be
> about 1e5 times
> > larger than required.
>
> My apologies. I skimmed the code of the test program, but as
> Brian says
> it is not a question of accuracy. The test program does in fact
> segfault,
> although you won't see this in your config.log.
>
> Anyway, Anand, I would just carry on with libRblas.
>
> Martyn
>
>
>
> -----------------------------------------------------------------------
> This message and its attachments are strictly confiden...{{dropped:26}}
More information about the R-devel
mailing list