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

Steve M. Robbins steve at sumost.ca
Sat Sep 28 04:59:16 CEST 2013


Hello,

For readers of gmp-discuss and Daniel Schepler: this concerns a bug reported 
to Debian regarding GMP on the x32 architecture.  In a nutshell: x32 selects a 
limb size of 8, which means it is larger than a pointer and some software 
(gap, pari) fail to build.  The question is whether it makes sense to change
the limb size to 4 on x32.  I'd appreciate your thoughts.

See full thread at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=724320

Thanks,
-Steve


On September 24, 2013 10:54:11 PM Bill Allombert wrote:
> 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://gmplib.org/list-archives/gmp-discuss/attachments/20130927/4b90d407/attachment.bin>


More information about the gmp-discuss mailing list