[R] Compiling R with Intel compilers - recommended options?

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri Jun 18 12:58:39 CEST 2004

On Fri, 18 Jun 2004, Tim Cutts wrote:

> Sorry, I was a bit sparing with details.  Early in the morning, and all 
> that.
> Many thanks for the swift reply!
> On 18 Jun 2004, at 9:11 am, Prof Brian Ripley wrote:
> > What OS and hardware is this?
> Hardware:  700+ machines are 800 MHz Pentium III, 1 GB RAM, Red Hat 7.2
>             168 machines are dual 2.8 GHz Xeon, 4 GB RAM, Red Hat 8.0
> I'm compiling on the older machines to make sure there won't be library 
> problems.
> The compiler versions are:
> Intel(R) C++ Compiler for 32-bit applications, Version 8.0   Build 
> 20031016Z Package ID: l_cc_p_8.0.055
> Intel(R) Fortran Compiler for 32-bit applications, Version 8.0   Build 
> 20040412Z Package ID: l_fc_pc_8.
> > Eventually you mention `X86 Linux' but are you using x86 Linux and if
> > so how fast processors?  On a 3GHz machine make check takes a couple
> > of minutes using gcc (and in our experience Portland Group is faster
> > than gcc -- we have not tried Intel as local advice suggests it is
> > slower than PG).
> So 12 hours is bit excessive.  :-)  At least now I know.  Thanks!
> > Which version of R?  R 1.9.0 does this with gcc 3.4.0 on Linux ix86, at
> > the first use of LAPACK.
> Ah.  This is indeed 1.9.0, since that is what was asked for.
> >   So if you are not trying 1.9.1beta (to be released on Monday),
> > please do so.  After that, make check does give output so where
> > exactly does it hang, and if you interrupt that check, how far has it
> > got in the output file?
> With 1.9.0, I never get an output file.  On interrupting the make 
> check, it says:
> make[4]: *** Deleting file `base-Ex.Rout'
> and hangs again.  I have to background it and kill it.

Looks like the same issue as gcc 3.4.0.

> The same thing happens with 1.9.1.  I think I'll use gcc/g77 as 
> suggested by others to get a working install for now, and then I will 
> look into a better optimised version at a more leisurely pace.

Fine.  The issue on gcc 3.4.0 is that if you compile 
src/modules/lapack/dlamc.f without -ffloat-store it loops forever.
I suspect you need to compile it without optimization or with the 
equivalent of -ffloat-store.  It's a separate file in 1.9.1 to make this 
easier/less penalty and configure sets -ffloat-store if g77 is detected.
LAPACK calls Fortran functions to try to force stores, and that worked on 
versions of gcc <= 3.3.3 (and of course only machines with extended 
registers like ix86 need the subterfuge).

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

More information about the R-help mailing list