Bill Allombert on Fri, 26 Jan 2007 17:10:28 +0100


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

Re: GMP build on OSX


On Thu, Jan 25, 2007 at 05:59:47PM -0800, Phil Carmody wrote:
> I'm using a binary built by someone else now, and will work through his
> instructions to reproduce the build on my machine. Certainly, he needed to
> diddle with the -m64 flag, and by the looks of it a couple of others too.
> I'll report back when I've built my own from scratch.

My personnal experience with ppc46 is that 32bit and 64bit libraries are
not separated while they have conflicting API which make really hard to
use them. Liniking a 32bit program with a 64bit library is fatal, and so
is the converse.

> Mach Virtual Memory Statistics: (page size of 4096 bytes, cache hits 61%)
>   free active inac wire   faults     copy zerofill reactive  pageins  pageout
>  35297  43753 38475 13547   130005        0   130005        0        0        0
>  38331  43753 35442 13547   111176        0   111176        0        0        0
> >>>
> 
> Basically the CPUs are spending 30-50% of the time setting pages to zero.
> 
> Which means that if it didn't do that, my script (basically a huge LLL with
> 25kdigit coefficients - a Coppersmith-Howgrave-Graham Lattice-Reduction
> primality proof) would be 1.5x-2x as fast.
> 
> Does anyone have any idea what might be causing all the zero-initialised page
> requests? Is it pari itself, or would it be GMP that's doing it? The GMP (with

Probably neither (directly). Blanking pages is the duty of the kernel
and occurs when memory is requested. It is probably caused by the malloc
library (normally part of the C library) . Maybe you could try alternative 
malloc libraries or alternative OS.

Cheers,
Bill.