hermann on Mon, 23 Dec 2024 16:43:54 +0100


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

Fwd: Need to set parisizemax to 300G ... works perfectly ... ;-)



Kurt Foster made me aware that Mod() computation is much faster
and does not need that much memory. I did compute it on slow
Raspberry Pi computer in 3ms ... sorry for the unneeded thread.

pi@raspberrypi5:~ $ gp -q
?
? d=2 * 1663403835355 * 500000500001 + 1;
? Mod(2,d)^500000500001 - 1
Mod(0, 1663405498762162162670711)
? ##
  ***   last result: cpu time 0 ms, real time 3 ms.
?

-------- Original Message --------
Subject: Need to set parisizemax to 300G ... works perfectly ... ;-)
Date: 2024-12-23 15:44
From: hermann@stamm-wilbrandt.de
To: pari-users@pari.math.u-bordeaux.fr

In this mersenneforum.org thread OP did falsely claim that Mersenne number M500000500001 is prime. Finally @kriesel computed divisor d of that Mersenne number m (81 bit number):
https://www.mersenneforum.org/node/1064014/page2#post1064290

I wanted to compute m%d with PARI/GP and log the virtual and resident memory used.
I tried on 32GB RAM PC — failed.
Then I tried on 192GB Xeon server — failed.
Finally I started on 384GB RAM old Xeon server, and there computation completed(!).

Setting of variables m and d took 2:28.11 min.
At that point in time 470.3g virtual and 230.9g resident memory was used.
Maximal used RAM was 528.5g virtual and 291.0g resident.
This computation shows for me that no special code is needed, just PARI/GP (and enough RAM).

Computation of m%d (as 0) was done in 1:50min (40s memory allocation), details:
https://gist.github.com/Hermann-SW/03db00ca6cb23c9b7c1fb3e6530494b6

hermann@e5-2680:~$ time gp -q < M500000500001.gp
  ***   last result computed in 39,079 ms.
  ***   last result computed in 0 ms.
0
  ***   last result computed in 1min, 9,606 ms.
81
  ***   last result computed in 0 ms.

real	4m19.189s
user	1m59.203s
sys	2m19.966s
hermann@e5-2680:~$


Regards,

Hermann.