![]() |
![]() |
#45 |
Jul 2003
So Cal
2×3×433 Posts |
![]()
Here's a small change that will allow idle MPI workers to yield their core. I've sent this to Andreas in case he wants to use it. With this change I can use one worker per hyperthread without slowing the end of phase 2.
Code:
--- lib/mpi.c.orig 2022-05-11 10:13:12.940302581 -0700 +++ lib/mpi.c 2022-05-11 11:26:12.823859553 -0700 @@ -555,6 +555,12 @@ finish = false; while (!finish) { /* Wait for a message from the server. */ + int message_ready = 0; + MPI_Iprobe(0, MPI_ANY_TAG, MPI_COMM_WORLD, &message_ready, &status); + while (!message_ready) { + usleep(100); + MPI_Iprobe(0, MPI_ANY_TAG, MPI_COMM_WORLD, &message_ready, &status); + } MPI_Recv (&job, 1, MPI_INT, 0, MPI_ANY_TAG, MPI_COMM_WORLD, &status); cm_stat_init (stat); switch (status.MPI_TAG) { |
![]() |
![]() |
![]() |
#46 |
Sep 2002
Database er0rr
10001100010002 Posts |
![]()
I noticed that some numbers stall the program, like (10^79-1)/9. Primo does a BPSW sanity test before ECPP.
@Serge: The 50001 digit ECPP proof is still not in the UTM database. You had better ask Andreas to go through the submission process -- unless CC is on holiday or something. Last fiddled with by paulunderwood on 2022-05-11 at 19:55 |
![]() |
![]() |
![]() |
#47 |
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2
23×3×419 Posts |
![]()
I will write to him. (I've also already invited him to join the forum. There is a good source of debug/improvement cases here for him.)
So far, I had good exchange about the backtrack (indeed, in future plans; at this point the code relies on the fact that it will sooner or later find the step unlike Primo that had finite set of invariants/curves/test units). |
![]() |
![]() |
![]() |
#48 |
Bamboozled!
"๐บ๐๐ท๐ท๐ญ"
May 2003
Down not across
2×3×29×67 Posts |
![]()
--- Total time for ECPP: 976676.0 (197674.8)
--- Time for ECPP check (true): 15687.0 real 1373m20.172s user 8416m44.292s sys 2m44.721s |
![]() |
![]() |
![]() |
#49 |
Bemusing Prompter
"Danny"
Dec 2002
California
5×499 Posts |
![]()
Two more questions:
1. How is ecpp able to generate Primo certificates? To my knowledge, Primo is closed source. Did the author of ecpp reverse-engineer Primo, or did Martin also contribute code? 2. I checked the source code and noticed that this program is written in pure C. Could it benefit from hand-tuned assembly like Prime95 does? |
![]() |
![]() |
![]() |
#50 | |
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2
23×3×419 Posts |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#51 |
Jul 2003
So Cal
259810 Posts |
![]() |
![]() |
![]() |
![]() |
#52 |
Bemusing Prompter
"Danny"
Dec 2002
California
5×499 Posts |
![]()
I see, thanks for the information.
I figured the Primo format was an open specification but didn't see anything about it in the ecpp documentation. Last fiddled with by ixfd64 on 2022-05-12 at 03:38 |
![]() |
![]() |
![]() |
#53 |
Jul 2003
So Cal
2·3·433 Posts |
![]()
ecpp only outputs Pari/gp format. Pari/gp supports converting that to Primo format.
|
![]() |
![]() |
![]() |
#54 |
Mar 2019
1010001102 Posts |
![]()
This is pretty awesome. An open source ECPP implementation that is fast, pure C, and highly scalable with MPI.
Can't wait to see how this gets extended and improved. Hats off to Andreas! |
![]() |
![]() |
![]() |
#55 |
Jan 2008
France
22×149 Posts |
![]()
I wonder what proportion of its speed compared to Primo comes from using these highly tuned libs vs ECPP specific algorithmic improvements (all of which are described in available publications, if my very limited understanding is correct).
|
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
what is the best primality software? | bbb120 | Proth Prime Search | 75 | 2022-10-08 11:45 |
Fastest software for Mersenne primality test? | JonathanM | Information & Answers | 25 | 2020-06-16 02:47 |
APR-CL as primality proof | f1pokerspeed | FactorDB | 14 | 2014-01-09 21:06 |
Proof of Primality Test for Fermat Numbers | princeps | Math | 15 | 2012-04-02 21:49 |
PRIMALITY PROOF for Wagstaff numbers! | AntonVrba | Math | 96 | 2009-02-25 10:37 |