![]() |
![]() |
#1 |
Aug 2006
5,987 Posts |
![]()
I occasionally use a Windows machine. What software is available for primality proving? I used to use Primo but the Windows version is no longer available.
|
![]() |
![]() |
![]() |
#2 |
Bamboozled!
"๐บ๐๐ท๐ท๐ญ"
May 2003
Down not across
266128 Posts |
![]()
Not ECPP but APRT-CL is what Pari/gp uses for primality proving and the latter is certainly available on Windows.
|
![]() |
![]() |
![]() |
#3 | |
Mar 2006
13·41 Posts |
![]() Quote:
http://www.mersenneforum.org/showthread.php?t=18353 Also, danaj has written an ECPP prime prover, called ECPP-DJ. You can find a thread about that here: http://www.mersenneforum.org/showthread.php?t=18283 In danaj's thread you can see some comparisons he made of how fast different prime proving programs are. The most recent one I saw was in post #30 here: http://www.mersenneforum.org/showpos...1&postcount=30 |
|
![]() |
![]() |
![]() |
#4 |
"Dana Jacobsen"
Feb 2011
Bangkok, TH
32×101 Posts |
![]()
WraithX's mpz_aprcl is easy to use. It's faster than my ECPP for larger sizes, and a bit faster than Pari at all sizes in my testing. No certificate of course. A new APR-CL implementation was just put in a pull request for FLINT, but I have no experience with it.
My ECPP creates certificates and includes a verifier for its format and Primo. I still have not made changes to output Primo certificates (Marcel gave me enough info that I think I can do it, but just haven't found the time). If you get the larger poly sets it should work pretty well up to ~2000 digits, but I really haven't done testing past that. It definitely is losing out to Primo as the size gets larger. Single thread only. If you get Strawberry Perl for your Windows machine, it is included in the included ntheory Perl module. No standalone program and uses very small polynomial sets. Still works well up to 500 digits. It gives you GMP, gcc, and dmake so you can easily compile whatever you need yourself. Other ECPP options I'm aware of:
Last fiddled with by danaj on 2015-09-09 at 05:02 |
![]() |
![]() |
![]() |
#5 |
"Frank <^>"
Dec 2004
CDP Janesville
2·1,061 Posts |
![]()
For another option, consider a VM+Primo solution. My rig is an AMD Phenom II x6 running at a stock clock of 3.2 GHz, Win 7 Pro, 8 GB RAM. I've got VirtualBox installed running the second-to-latest Ubuntu configured with a 30GB HDD, 8 GB Ram, and 6-cores.
Surprisingly, the performance is not very crippled. A single threaded run of the last available Windows version for 2^6641-511 resulted in this: Code:
[Running Times] Initialization=1.59s 1stPhase=3h 3mn 44s 2ndPhase=49mn 11s Total=3h 52mn 57s (I'll post the Linux times in the next message....) Last fiddled with by schickel on 2015-09-09 at 07:30 Reason: damn fingers! |
![]() |
![]() |
![]() |
#6 |
"Frank <^>"
Dec 2004
CDP Janesville
2·1,061 Posts |
![]()
For the Linux version, here are the results (I had to go to 2000 digits to make it worth comparing):
Single thread (while the Windows version was running on the desktop!): Code:
[Running Times (Wall-Clock)] 1stPhase=2963s 2ndPhase=660s Total=3623s [Running Times (Processes)] 1stPhase=2957s 2ndPhase=681s Total=3639s For 3 threads: Code:
[Running Times (Wall-Clock)] 1stPhase=1126s 2ndPhase=228s Total=1353s [Running Times (Processes)] 1stPhase=3273s 2ndPhase=686s Total=3959s And finally, with the full 6 threads available: Code:
[Running Times (Wall-Clock)] 1stPhase=615s 2ndPhase=115s Total=730s [Running Times (Processes)] 1stPhase=3333s 2ndPhase=674s Total=4007s I find that I can run a quick clearing run of <1000 digits with the Windows version, but going above that, I tend to use the Linux version exclusively. In fact, I'm working on a 10,1410-digit monster right now that's about 1/2 done. Unfortunately, the summer heat makes it only 2 or 3 cores during the day ![]() |
![]() |
![]() |
![]() |
#7 | |
Jan 2008
France
22·149 Posts |
![]() Quote:
As an example the 601 digit numbers 10...0543 is tested in 22.7s by Pari/GP and in 32.2s by mpz_aprcl 1.2. Note I have some local modifications to mpz_aprcl that make it ~10% faster than mpz_aprcl 1.2, but that's far from enough to catch up with Pari/GP. |
|
![]() |
![]() |
![]() |
#8 |
Sep 2002
Database er0rr
23×3×11×17 Posts |
![]() |
![]() |
![]() |
![]() |
#9 | |
"Dana Jacobsen"
Feb 2011
Bangkok, TH
38D16 Posts |
![]() Quote:
GMP 6.0.0a made a big difference, but you have recent versions. I did the timing in May 2014. |
|
![]() |
![]() |
![]() |
#10 |
"Frank <^>"
Dec 2004
CDP Janesville
2·1,061 Posts |
![]() |
![]() |
![]() |
![]() |
#11 |
"Dana Jacobsen"
Feb 2011
Bangkok, TH
16158 Posts |
![]()
I retested with Pari 2.8.0 HEAD. My results for mpz_aprcl 1.2 and dj-ecpp are essentially the same, but all my Pari results are faster. I don't think this is a 2.7.0 vs. 2.8.0 difference. I need to extend the results out past 1000 digits, but it's certainly more competitive, and is definitely faster than mpz_aprcl and dj-ecpp at 900 and 1000 digits.
Details on this thread. Thanks Idesnogu, for pointing this out. Last fiddled with by danaj on 2015-09-14 at 12:33 |
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
New ECPP record (currently: 59,798 digits) | mjm | Computer Science & Computational Number Theory | 74 | 2022-12-16 01:45 |
ECPP-DJ | danaj | Computer Science & Computational Number Theory | 59 | 2020-10-10 04:57 |
Can I just leave this here? (ECPP) | trhabib | Miscellaneous Math | 6 | 2011-08-19 16:34 |
Fast ECPP | T.Rex | Math | 6 | 2007-06-25 16:42 |
new ECPP article | R. Gerbicz | GMP-ECM | 2 | 2006-09-13 16:24 |