[Rd] Problems with Lapack's eigen() on 64-bit
Prof Brian Ripley
ripley at stats.ox.ac.uk
Tue Jul 27 16:35:26 CEST 2004
AFIACS the gcc/g77/g++ flag for 64-bit generation is -m64, just as on
Solaris:
-m32
-m64
Generate code for a 32-bit or 64-bit environment. The 32-bit envi-
ronment sets int, long and pointer to 32 bits and generates code
that runs on any i386 system. The 64-bit environment sets int to
32 bits and long and pointer to 64 bits and generates code for
AMD's x86-64 architecture.
However, on FC2 -m64 appears to be the default (with gcc 3.3.3).
On Tue, 27 Jul 2004, Liaw, Andy wrote:
> On our Opteron with SLES8, the GCC 3.2 is only 32-bit, and does not support
> the -mcpu=k8 flag. I had to install GCC33 to get them.
>
> Andy
>
> > From: Roger D. Peng
> >
> > On our AMD dual Opteron system running SuSE SLES 8 with
> >
> > gcc version 3.2.2 (SuSE Linux)
> >
> > and with R built with `./configure --without-blas' I get
> >
> > > eigen(cbind(1, 3:1, 1:3))
> > $values
> > [1] 5.000000e+00 1.000000e+00 -4.440892e-16
> >
> > $vectors
> > [,1] [,2] [,3]
> > [1,] 0.5773503 -0.8451543 -0.9428090
> > [2,] 0.5773503 -0.1690309 0.2357023
> > [3,] 0.5773503 0.5070926 0.2357023
> >
> > -roger
> >
> > Martin Maechler wrote:
> > > I'm only now realizing that we have severe problems with R on our
> > > AMD 'Opteron' and 'Athlon64' clients running Redhat Enterprise
> > > with all 64-bit libraries (AFAICS).
> > >
> > > The Lapack problem happens for R-patched and R-devel both on
> > > the Opteron and the Athlon64.
> > >
> > > Here are platform details:
> > >
> > > o "gcc -v" and "g77 -v" both end with the line
> > > gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)
> > >
> > > o I've used ...../configure --without-blas
> > >
> > > 1) Opteron ("deb7", a dual-processor compute server):
> > >
> > > - uname -a :
> > > Linux deb7 2.4.21-9.0.3.ELsmp #1 SMP Tue Apr 20
> > 19:44:29 EDT 2004 x86_64 x86_64 x86_64 GNU/Linux
> > > - /proc/cpuinfo contains (among much more)
> > > vendor_id : AuthenticAMD
> > > cpu family : 15
> > > model : 5
> > > model name : AMD Opteron(tm) Processor 248
> > >
> > > 2) Athlon64 (a simple "new generation" client - to become
> > my desktop soon):
> > >
> > > - uname -a :
> > > Linux setup-12 2.4.21-15.0.2.EL #1 Wed Jun 16 22:41:44 EDT
> > > 2004 x86_64 x86_64 x86_64 GNU/Linux
> > >
> > > - /proc/cpuinfo contains
> > > vendor_id : AuthenticAMD
> > > cpu family : 15
> > > model : 14
> > > model name : AMD Athlon(tm) 64 Processor 2800+
> > >
> > > ----------------
> > >
> > > Now the Lapack problem, easily seen from the base eigen()
> > > example:
> > >
> > > > eigen(cbind(1, 3:1, 1:3))
> > > $values
> > > [1] 5.7015621 1.0000000 -0.7015621
> > >
> > > $vectors
> > > [,1] [,2] [,3]
> > > [1,] 0.4877939 -0.7181217 -0.9576161
> > > [2,] 0.6172751 -0.3893848 0.2036804
> > > [3,] 0.6172751 0.5767849 0.2036804
> > >
> > > which is simply plainly wrong and
> > > eigen(cbind(1, 3:1, 1:3), EISPACK=TRUE)
> > > gives the correct eigen values c(5, 1, 0) and corresponding
> > > eigenvectors.
> > >
> > > IIRC, we've already dealt with a Lapack problem, and that
> > > workaround (built into R-devel's Makefiles) has been to use
> > > -ffloat-store for the compilation of src/modules/lapack/dlamc.f
> > >
> > > ----------
> > >
> > > Thank you for hints / suggestions.
> > >
> > > Others with 64-bit platforms might also try to see what
> > > eigen(cbind(1, 3:1, 1:3))
> > > gives there.
> > >
> > > Martin Maechler
> > >
> > > ______________________________________________
> > > R-devel at stat.math.ethz.ch mailing list
> > > https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
> > >
> >
> > ______________________________________________
> > R-devel at stat.math.ethz.ch mailing list
> > https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
> >
> >
>
> ______________________________________________
> R-devel at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
>
>
--
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-devel
mailing list