On 18 Feb, 13:05, Bill Hart <[email protected]> wrote:
> There are some problems with this. Compiling MPIR using generic C
> code, for example, will yield a *massive* slowdown of *everything*.


It would in general not be necessary to use C, but assembly code for a
low-end processor such as an early Pentium should be ok. With that,
the slowdown should not be so excessive.

> Linbox and ATLAS are also somewhat problematic in this regard.


Yes, I can see this. IT's the reason I built the recent Sage binary on
an old machine - knowing no instructions would be used which would not
work on a more modern machine. Of course that slows the build time.


> The solution is to use fat binaries for MPIR on x86 and x86_64 and a
> minimum architecture for each other supported architecture. You can
> force MPIR to build using whatever architecture you like. However this
> should only be done for binaries, not when building from source, where
> MPIR will in general be able to do much better.

Yes, obviously.

I don't know how practical it would be to create a Sage installer
which copied appropiate binaries depending on the CPU.; From comments
I've seen here before, it appeas that recompiling 2 or 3 pacakages
(probably mpir being one of them), that the problem could be
cicumvented.



> I'll let the Linbox and ATLAS people comment on their packages.
> However, I know that ATLAS, when it builds, tries multiple different
> assembly strategies until it finds an optimal one. It is possible to
> get within 30% of the assembly speed using generic C on some
> architectures, but I'm unsure if that can be done with ATLAS itself or
> not. The ratio might be somewhat greater, if it even provides a
> generic C implementation.
>
>  Bill.

I suspect C would be much slower, but if these programs have assembly
code for a first generation pentimum, then using that should be ok.

Otherwise, just detecting the problem and refusing to install would be
better than the current situation where people install software only
to find they get misterious crashes

-- 
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to