Mailinglist Archive: opensuse (3337 mails)

< Previous Next >
Re: [SLE] Can a native 64-bit CPU run 32-bit code ?
  • From: Jerry Feldman <gaf@xxxxxxx>
  • Date: Sun, 16 Apr 2006 13:05:37 -0400
  • Message-id: <20060416130537.07713daf@xxxxxxxxxxx>
On Sun, 16 Apr 2006 11:00:24 -0500 (CDT)
Maura Edeweiss Monville <memonvil@xxxxxxxxxxxxxxxx> wrote:

> Shall I deduce that:
>
> 1. It is possible to generate 32-bit code on a 64-bit machine
>
> 2. Not all 32-bit code, no matter where it was generated, will run on a
> 64-bit machine
>
> I do not give up. From your answers I infer that running the CERNLIB
> installation procedure in a shell where linux32 has been invoked, like:
> # linux32 bash
> # ./start_cern
>
> will NOT automatically produce 32-bit code. Am I right ?
> The workaround consists in splitting the provided installation procedure
> and manually change the compiler options.
>
> Still, this is not the whole story .. sigh ..
> In fact the next step in the CERNLIB creation consist of generating the
> math functions tha rely on "blas" and "lapack".
> Here I'm quoting the CERNLIB installation guidelines at
> http://cernlib.web.cern.ch/cernlib/install/lapack3.html:
>
> "... If successful, the libraries will be in $CERN_ROOT/lib. Failure is
> usually indicated in the end of the log files in $CERN_ROOT/build/log.
> Pawlib and some parts of mathlib depend on Lapack3, which can now be built
> as described here... "
>
> Where "here" is a link to
> http://cernlib.web.cern.ch/cernlib/install/lapack3.html
> This latter site contains instructions for downloading and installing the
> linear algebra LAPACK.
>
> Here is my point: I ALREADY have on my system both the native "blas" and
> "lapack" installed from SuSE DVD. But they are for x86_64 architecture.
> For the sake of consistency I need the equivalent two packages for 32-bit
> machines.
> No matter if I install the ones provided by CERN or from the rpm files
> that can be downloaded from
> http://rpmfind.net//linux/RPM/PLD/dists/ac/ready/i686/blas-3.0-30.i686.html
> I am VERY CONCERNED that the new blas and lapack will overwrite the
> existing one therefore messing up my system .... HELP ... PLEASE !
> Is there a way tomake both 64- and 32-versions of blas and lapack coexist
> in the same system and then liknk the appropriate version ?
IMHO, you should be able to run 32-bit code. The problem is with
libraries.
You can create 2 copies of the blas and lapack libraries. I happen to
have a very large (over 1,000,000 lines of code) that I have ported to
the 64-bit IA64 that happens to use both blas and lapack. This same
code runs on an x86_64 box that currently has RHEL 3.0 with a 64-bit
kernel.

You should have on your system
/lib - 32-bit lib
/lib64
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64

You should find that the blas and lapack 32-bit and 64-bit will coexist
nicely.

--
Jerry Feldman <gaf@xxxxxxx>
Boston Linux and Unix user group
http://www.blu.org PGP key id:C5061EA9
PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9
< Previous Next >