[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: subarchitectures (was Re: What to do with optimization flags ? )

Greetings, and thank you so much for this helpful information!  

1) I notice you reference 'apic'.  Do you happen to know to what that
   refers?  The ones I recognize are mmx,xmm,and amd3d.

2) There are some small differences between k6 amd3d and athlon amd3d.
   Do you know which is referred to here?

3) We've already had a brief discussion about this, but to fill you
   in, the major two alternatives are to either have several package
   binaries for each sub-arch, or to have all libs in one binary
   package.  In either case, it sounds like a good ide to use the
   right subdir.  I was wondering if you had a suggestion between
   these two alternatives.

4) Most importantly, it appears that atlas cannot cross-compile,
   i.e. the compiled code must *run* on the compilation machine.  From
   what I can see, this makes it impossible to autobuild fully
   optimized version(s) of this package given the current machines at
   Debian's disposal.  I can set the package up to autobuild a generic
   x86 lib, like it does currently, which will autobuild successfully.
   But I could also produce a fully optimized binary package covering
   p3,p2,k6,k7 given the machines available here.  My question: is
   there anyway to get such a binary package to override the
   auto-built binary packages in the distribution?

Take care, and thanks again!

Ben Collins <bcollins@debian.org> writes:

> On Tue, Dec 05, 2000 at 12:57:32PM -0500, Camm Maguire wrote:
> > 
> > Greetings!  I'm having similar issues with the latest atlas.  Where
> > can I find out a list of the allowed subdirectories under /usr/lib,
> > and what cpu's those directories cover?  Specifically, is the Athlon a
> > 686? Is a PII a 686?  I assume a PIII is a 686.  All three of these
> > would have separate atlas libs, as would the K6, whicn I'm guessing
> > counts as a 586, but is different atlas-wise from a pentium.
> There are several CPU class subdirectories, and they are:
>   i386, i486, i586, i686
> There are also extra CPU capabilities flags, which are subdirectories
> aswell, and they are defined in glibc as:
> static const char x86_cap_flags[][7] =
>   {
>     "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
>     "cx8", "apic", "10", "sep", "mtrr", "pge", "mca", "cmov",
>     "pat", "pse36", "psn", "19", "20", "21", "22", "mmx",
>     "osfxsr", "xmm", "26", "27", "28", "29", "30", "amd3d"
>   };
> These coincide with some compiler flags. You can see "amd3d" and "mmx" are
> easily identified. I do not know what the rest are. SO you could do
> something like:
> /lib/mmx/
> /lib/i686/amd3d/
> /lib/i686/apic/
> Have at it :)
> -- 
>  -----------=======-=-======-=========-----------=====------------=-=------
> /  Ben Collins  --  ...on that fantastic voyage...  --  Debian GNU/Linux   \
> `  bcollins@debian.org  --  bcollins@openldap.org  --  bcollins@linux.com  '
>  `---=========------=======-------------=-=-----=-===-======-------=--=---'

Camm Maguire			     			camm@enhanced.com
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

Reply to: