From ripley at stats.ox.ac.uk  Tue Jul 27 16:35:26 2004
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Tue Jul 27 16:35:34 2004
Subject: [Rd] Problems with Lapack's eigen() on 64-bit
In-Reply-To: <3A822319EB35174CA3714066D590DCD504AF8113@usrymx25.merck.com>
Message-ID: <Pine.LNX.4.44.0407271528450.973-100000@gannet.stats>

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@stat.math.ethz.ch mailing list
> > > https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
> > >
> > 
> > ______________________________________________
> > R-devel@stat.math.ethz.ch mailing list
> > https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
> > 
> >
> 
> ______________________________________________
> R-devel@stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
> 
> 

-- 
Brian D. Ripley,                  ripley@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] Problems with Lapack's eigen() on 64-bit
Prof Brian Ripley