Bug#724320: gmp: x32: sizeof(mp_limb_t)!=sizeof(void*) is not supported by GAP and PARI

Bill Allombert Bill.Allombert at math.u-bordeaux1.fr
Tue Sep 24 20:54:11 UTC 2013


On Mon, Sep 23, 2013 at 04:44:15PM -0500, Steve M. Robbins wrote:
> Bill,
> 
> Thanks for clarifying the issue.
> 
> On Mon, Sep 23, 2013 at 08:14:58PM +0200, Bill Allombert wrote:
> 
> > Admittedly, this is a bug in pari and gap for having such requirement. However,
> > it seems unlikely to be ever fixed, hence this report.
> > 
> > Using 8 should result in a faster library, so this is a trade-off, even if I
> > do not expect that people will use x32 for HPC.
> 
> OK, so this trade-off is the real issue.  What is the best choice?  
> 
> On the one hand, 8 should be faster but how much faster?  Enough to
> matter?  If not, the choice is clear: switch to 4.  

I suppose it will depend of the hardware. I do not know who will choose
to use x32 rather than x86_64. 
If the purpose is to save memory, they it could be argued that using 4 is
better, since this saves 2 bytes on average for each GMP integers.
(e.g. Numbers < 2^32 are stored on 4 bytes instead of 8).

> If the speed difference matters, then the question is whether pari and
> gap are important enough to x32 that we should accept the lower speed.
> I don't know, myself, but my gut instinct is to leave the size at 8
> and exclude x32 from the architectures for pari and gap.

Well, there might be other packages affected, I did not do a full search.
(It affects packages that uses the mpn class of functions)
The problem of excluding pari and gap is that this also excludes their
reverse dependencies.

Alternatively, both version of ligmp-dev could be provided on x32.

Cheers,
Bill.



More information about the debian-science-maintainers mailing list