mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   FactorDB (https://www.mersenneforum.org/forumdisplay.php?f=94)
-   -   Primo (https://www.mersenneforum.org/showthread.php?t=16643)

ET_ 2012-03-20 13:20

Primo
 
A new version is out:

v4.0.0 - alpha 14 (March 16, 2012)

Fixed a bug concerning the new class invariants added to v. alpha 13. Due to this bug, a certification could be aborted by Primo (internal error 4.0.2.1) during the phase #2. Thanks to Frank Schickel who reported it.

Luigi

ET_ 2012-05-11 09:05

New version.

v4.0.0 - alpha 15 (May 10, 2012)

Sieve upper bound increased up to 2[sup]32[/sup].
Fixed a bug concerning the new class invariants added to v. alpha 13. Thanks to Ed Hall who reported it.
Minor cosmetic changes.


Luigi

Stargate38 2012-05-12 21:50

Why isn't the Windows version being updated? :huh: The most recent Windows version is Sep 2010.

schickel 2012-05-13 02:08

[QUOTE=Stargate38;299281]Why isn't the Windows version being updated? :huh: The most recent Windows version is Sep 2010.[/QUOTE]I think you'll find the major reason is contained in the news story that marcel has linked on his home [URL="http://www.ellipsa.eu/"]page[/URL].

[SIZE="1"]The headline is "Patent War - Microsoft Sues Andriod Retailers". The net result is his discontinuation of anything Windows based completely (Primo and a large integer package he had avilable...)[/SIZE]

I have been very successful installing and running the Linux version in [URL="https://www.virtualbox.org/"]VirtualBox[/URL]. In fact, the Linux version single-threaded in vbox is faster than the native Win32 version from 2010 on the same machine....and it really tears up the PRPs when run with six threads!

Dubslow 2012-05-13 03:16

[QUOTE=schickel;299293]I think you'll find the major reason is contained in the news story that marcel has linked on his home [URL="http://www.ellipsa.eu/"]page[/URL].

[SIZE="1"]The headline is "Patent War - Microsoft Sues Andriod Retailers". The net result is his discontinuation of anything Windows based completely (Primo and a large integer package he had avilable...)[/SIZE]

I have been very successful installing and running the Linux version in [URL="https://www.virtualbox.org/"]VirtualBox[/URL]. In fact, the Linux version single-threaded in vbox is faster than the native Win32 version from 2010 on the same machine....and it really tears up the PRPs when run with six threads![/QUOTE]

I've always wondered how hard it would be to get a 'critical mass' of developers to stop developing for Windows entirely. Obviously corporations wouldn't go for it (except Apple), but the *nix community is pretty big (and sort of includes Apple)...

Stargate38 2012-05-13 11:40

When is he ever going to make this program open source? That could allow someone to make a Windows version. Why would that make him stop making it? I really want an updated Windows version! Where can I get the NX, ECB, and CPG packages?

ET_ 2012-07-24 07:37

New version:

v4.0.0 - alpha 16 (July 24, 2012)
[LIST][*]Sieve lower bound set to 2[sup]22[/sup] instead of 2[sup]20[/sup].[*] Slightly faster multiplication (about 10%) with very big numbers.[/LIST]
Luigi

Stargate38 2012-12-03 22:38

When in the Universe is the Windows version of Primo going to be continued?
 
PLEASE continue Primo for Windows! I want a newer Windows version that will run as fast as the Linux Version! My current Linux (Lighthouse64) won't run Primo! WHY on EARTH would "Patent War - Microsoft Sues Android Retailers" make you discontinue Primo (and all other Windows programs)? :huh: In my opinion, that just doesn't make any sense. Also, I know I said this 6.5 months ago, but WHERE can I download the NX, ECB, and CPG packages? I want those real bad, along with the complete Primo source code. :cry:

Batalov 2012-12-04 00:19

Why on earth are you posting this here?
Marcel is not here!

Stargate38 2012-12-04 01:10

I thought he was a member. Sorry. I'll try E-mailing him in the morning. His address is on the Primo website.

Batalov 2012-12-04 02:46

[QUOTE=Stargate38;320393]WHY on EARTH would "Patent War - Microsoft Sues Android Retailers" make you discontinue Primo (and all other Windows programs)? [/QUOTE]
This is an incorrect statement. The program is still available. Its support and maintenance are stopped. I don't see anything wrong with that position. In order to support the product on Windows, he would need to [I]use[/I] Windows which he apparently detests and stopped using.

CRGreathouse 2012-12-04 05:55

[QUOTE=Batalov;320410]In order to support the product on Windows, he would need to [I]use[/I] Windows[/QUOTE]

That's an incorrect statement. :razz:

PARI is build nightly for Windows, and its maintainers don't have any Windows systems.

Batalov 2012-12-04 07:10

[QUOTE=CRGreathouse;320417] and its maintainers don't have any Windows systems.[/QUOTE]
[I][COLOR=blue][citation needed][/COLOR][/I]

CRGreathouse 2012-12-04 07:29

[QUOTE=Batalov;320424][I][COLOR=blue][citation needed][/COLOR][/I][/QUOTE]

You can see it (e.g.) on a pari-dev from 5/23/10, where Bill asked for someone with a Windows system to test the wine-built Windows binary.

Batalov 2012-12-04 07:35

Of course I can, it's a 32-bit command-line tool, but I said [I]the[/I] product not [I]a[/I] product.

[QUOTE=CRGreathouse;320417]and [B]its maintainers don't have any Windows systems[/B].[/QUOTE]
[I][COLOR=blue][citation still needed][/COLOR][/I]

jasonp 2012-12-04 20:17

Just be glad Marcel removed license terms that forbade Primo from being used in the US, after threats he'd be sued for patent infringement based on some of the elliptic arithmetic he discovered.

Dubslow 2012-12-04 22:20

[QUOTE=jasonp;320493]Just be glad Marcel removed license terms that forbade Primo from being used in the US, after threats he'd be sued for patent infringement based on some of the elliptic arithmetic he discovered.[/QUOTE]

If he discovered it, why on earth would he be sued? Did he perhaps independently discover something that someone else had already patented? (Why on earth can you even patent such a thing? Stupid US law.)

Batalov 2012-12-04 23:30

Dura lex sed lex! (In Russian, "dura" means "fool (female)")

Marcel had received a Cease and Desist letter once, as far as I've read somewhere. That was painful.

I checked "strings primo" and "strings primo.exe" and the product appears to be still in Delphi, only he uses openpascal now and Lazarus. I think he could cross-compile it, but he would need to lose his dialog boxes which he for some reason likes. (Not without a reason, I would add. Show a command-line tool to most [STRIKE]l[/STRIKE]users and will have lost them right then. To get an audience, one simply needs a GUI these days. I wouldn't care either way, but users like me are less than 1%. "People who should be phased out", to quote Carlin.)

CRGreathouse 2012-12-05 00:46

[QUOTE=Batalov;320514]I think he could cross-compile it, but he would need to lose his dialog boxes which he for some reason likes. (Not without a reason, I would add. Show a command-line tool to most [STRIKE]l[/STRIKE]users and will have lost them right then. To get an audience, one simply needs a GUI these days. I wouldn't care either way, but users like me are less than 1%. "People who should be phased out", to quote Carlin.)[/QUOTE]

This always seemed so easy to me: make a command-line program and wrap a GUI around it. The command-line version has portability and can be scripted, the GUI offers convenience. (No issue here, of course, but I've seen this sort of debate before and it's baffled me.)

Batalov 2012-12-05 03:02

I totally agree! (and the GUI could be written in Java for Pete's sake and then never touched.)
Primo code drags around
[CODE]...(that's from strings primo | more)
Delphi Picture
Delphi Component
pcfDelphiText
pcfDelphiBitmap
pcfDelphiPicture
pcfDelphiMetaFilePict
pcfDelphiObject
pcfDelphiComponent
pcfDelphiText
pcfDelphiBitmap
pcfDelphiPicture
pcfDelphiMetaFilePict
pcfDelphiObject
pcfDelphiComponent
...
TGtkWidgetSet.DeleteObject invalid owner of GdiObject=
TGtkWidgetSet.DeleteObject GdiObject=
TGtkWidgetSet.DeleteObject invalid GdiObject=
...etc etc etc
[/CODE]
Argh.

Getting back to Pari, I still think that Karim or Bill [I]may[/I] have e.g. a Navtech or a Magellan GPS (what is exactly popular in France, eh?) and then, the damned thing runs on Windows ;-) (soon even some microwaves will have windows CE). TomTom, though, would play for your argument: it's a linux thing (as are {the|some airline} monitors; I've posted my photos ones of their entertainment system booting.) The mingw build is clever at avoiding graphics, yet it still can ploth() into a EMF which it throws into paint or something like. Clever! I've always liked CygWin builds better though /[URL="http://en.wikipedia.org/wiki/File:PARI-GP-Windows-XP.png"]nostalgia[/URL]/

:wink:

Stargate38 2012-12-08 17:58

Just now got around to E-mailing Marcel.
 
I just sent Marcel an E-mail. Hopefully, he'll make a new Windows version sometime before 2020. He better release the source code by then or I'm going to be real mad, unless we find a faster algorithm to test large numbers >M43112609 (possibly even MM61, MM89, MM107, MM127, MMM127, MMMM127, ...) for primality between now and then!

debrouxl 2012-12-09 07:28

Demanding a Windows version the way you do might just reduce the probability of him making a Windows version.
It's 2012 (soon 2013), installing virtual machines is trivial nowadays, and has been for years.

jasonp 2012-12-09 15:16

I think we would all be interested in seeing Marcel's reply!

RichD 2013-04-22 19:31

Primo
 
Primo v4.0.3 (18 APR 2013) for Linux is posted [URL="http://www.ellipsa.eu/public/primo/primo.html"]here[/URL].

yoyo 2013-04-24 15:29

Would be nice if a command line version is available ;)
yoyo

bearnol 2013-04-24 16:30

I don't know if GMP-ECPP would suit - but I'd be happy for you to try
J

yoyo 2013-04-27 07:13

[QUOTE=bearnol;338141]I don't know if GMP-ECPP would suit - but I'd be happy for you to try
J[/QUOTE]

I compiled gmp-ecpp on a Linux 64 bit system, but didn't got it static compiled, libgmpxx.a is missing. Is there a way to get a static version of it for Suse Linux?

How long does it needs to compute a prp certificate for a 500 digit prp?

yoyo

bearnol 2013-04-27 10:48

You are correct that it needs libgmpxx.a as well as libgmp.a
If you compile with the flags -lgmpxx -lgmp then this will dynamically link, as you say.
I _thought_ that if you added the flag -static you would get a static build, but this probably requires that both the gmp libs are available in static form somewhere, so maybe one would need to specifically recompile the gmp library to create these (with --enable-cxx in the ./configure step).
However the way I've always got a static build is to pass the full paths to the gmp libs at link time.
On a modern core 500-digit will take (order of magnitude) 1 hour, but it can be variable.
J

yoyo 2013-04-27 16:50

gmp-ecpp
 
For the time being I compiled it with shared libs and -O3. I run it with
./atkin243 -Q -s 1367903930 < in1 > out1
for a 461 digit PRP. But it is now running since 5 hours on a i7?

yoyo

bearnol 2013-04-27 16:59

Hmmmmm that does seem a little slow. Are you getting any output at all? For a number that small you might find the (additional) switch -B 2000 will speed things up.
J

Stargate38 2013-04-27 17:10

Still no reply, EVEN AFTER 4-5 MONTHS!!
 
Marcel STILL hasn't replied to my E-mail! :furious: If he doesn't reply, I'm going to keep sending him mail every 4-6 months UNTIL either I get a reply OR he makes another Windows version!

yoyo 2013-04-27 19:47

[QUOTE=bearnol;338538]Hmmmmm that does seem a little slow. Are you getting any output at all? For a number that small you might find the (additional) switch -B 2000 will speed things up.
J[/QUOTE]

Now it finished after ~ 2 hours. Input and output are here [url]https://dl.dropboxusercontent.com/u/6717960/result1.zip[/url].

For which numbers should I use -B 2000?

yoyo

bearnol 2013-04-27 20:26

Thanks for that output, which looks correct. (though you can also run with the -q rather than -Q if you want a little more detail)
I would (vaguely) suggest -B 2000 for any number under 1000-digits that otherwise seems to be taking too long
J

yoyo 2013-04-27 20:38

[QUOTE=bearnol;338556]Thanks for that output, which looks correct. (though you can also run with the -q rather than -Q if you want a little more detail)
I would (vaguely) suggest -B 2000 for any number under 1000-digits that otherwise seems to be taking too long
J[/QUOTE]

Is my assumption correct, that I get 2 identical outputs if I run a prp with the same -s <seed> 2 times?

yoyo

bearnol 2013-04-27 20:43

Correct. Also if you use the latest source (atkin243) it should be identical between different OSs
J

schickel 2013-05-04 05:17

[QUOTE=Stargate38;338540]Marcel STILL hasn't replied to my E-mail! :furious: If he doesn't reply, I'm going to keep sending him mail every 4-6 months UNTIL either I get a reply OR he makes another Windows version![/QUOTE]Looks like you got some action:[quote=Marcel Martin]

April 28, 2013

The old monoprocessor version of Primo for Windows is no more distributed.[/quote]'Course I guess that's not really the action you wanted....

Stargate38 2013-05-04 11:51

WHAT?!
 
WHY DID HE DO THAT?! I wanted a new Windows version, not the removal of the old! Don't worry though. I have the zip on my computer. Hopefully he'll allow me to reupload it somewhere until he makes a newer version, if ever.

Mini-Geek 2013-05-04 13:04

You could run Linux in a VM. Assuming a relatively modern CPU, AFAIK Primo should run about as fast as it would if you were running Linux natively.

CRGreathouse 2013-05-04 20:09

[QUOTE=Stargate38;339236]WHY DID HE DO THAT?! I wanted a new Windows version, not the removal of the old![/QUOTE]

Probably because you annoyed him by repeatedly emailing him to tell him to do something he didn't want to do.

henryzz 2013-05-04 20:45

[QUOTE=Mini-Geek;339239]You could run Linux in a VM. Assuming a relatively modern CPU, AFAIK Primo should run about as fast as it would if you were running Linux natively.[/QUOTE]
Modern cpu isn't that necessary. My Q6600 runs things at the same speed in a VM. It might depends on what program you use. I last tested with the ggnfs sievers. You do need a bit more memory.
Older than core 2 might be problematic. You quite possibly need the visualization extension a lot of the core 2s have(the later ones aren't what is necessary here. GPUs that might be a different question though.)

Mini-Geek 2013-05-04 21:16

[QUOTE=henryzz;339262]...Older than core 2 might be problematic. You quite possibly need the visualization extension ...[/QUOTE]

Perhaps "relatively modern" was a poor term for something that was introduced [URL="http://en.wikipedia.org/wiki/X86_virtualization#Hardware_assist"]in 2005[/URL] or so, and widely adopted soon after. Anyway, more specifically, that's what I was referring to: the CPU hardware's support for virtualization. And also preferably a 64-bit Windows OS, since otherwise I'd expect the performance of a 32-bit OS/app (not sure how that affects Primo; may be insignificant or a big deal).

Stargate38 2013-05-05 01:02

HOW on EARTH could 1 e-mail cause this after 5 MONTHS?!
 
Please do NOT warn or ban me over this, I'm just very super mad over what Marcel did. Here it goes:

:furious:THIS IS TICKING ME OFF!!!! :furious: That was MEAN of him to take Windows Primo off over ONE simple e-mail!! I only sent him ONE e-mail, which was sent at least 0.4198862272 years (5 months 3 d 8 h 38 m 38.633760485376 s) ago. That's 153 DAYS ago! WHY would he do that?! WHEN in this entire universe is he going to make another Windows version?! If he doesn't, he should either upload the source code or re-upload the version that was on there in the first place so that people with 32-bit computers can use Primo (no 32-bit Linux version)! He better do it before I reach the age of 64!!! That gives him 44 years (~23375.5008 days or May 4th, 2057), hopefully he'll still be alive, but if he doesn't release the source code (or another Windows version) by then, I'll be so furious that (if possible at the time) I'll probably leave this planet (and head off to who knows where) with my family and may NEVER COME BACK!! You would lose a good friend (I was the one that asked you about the factorization of M1061, the SNFS record at the time, therefore helping it to keep going)! When he took the Windows Primo off, it felt like he was giving me a rude gesture (you know what I mean), that's how mad I am!

If you want to know, I backed up this post in a text document on my computer so I'll still have it.

jasonp 2013-05-05 02:09

Perhaps your email to him had nothing to do with retiring the Windows version of Primo.

A suggestion: quit taking poison hoping someone else dies.

Stargate38 2013-05-05 02:13

Hopefully he releases the source code within our lifetimes because I want to download it someday.

Puzzle-Peter 2013-05-05 08:29

[QUOTE=jasonp;339289]Perhaps your email to him had nothing to do with retiring the Windows version of Primo.
[/QUOTE]

My thoughts exactly. Development of the windows version had obviously stopped a long time ago and as 32bit OSes are dying out (still running XP32 myself) it was the next logical step to make a cut here.

Shaopu Lin 2013-05-05 10:22

[QUOTE=Stargate38;339291]Hopefully he releases the source code within our lifetimes because I want to download it someday.[/QUOTE]

If Puzzle-Peter`s word is true, the source code of Primo may contain some 64bit Linux assembler codes so that it can`t be compiled on any 32bit OS.

If you really want a 32bit OS version of Primo (such as the Windows version Marcel Martin has recently removed from his website), I think you had better give up this meaningless action as jasonp suggests.

paulunderwood 2013-05-05 13:29

I have an old Windows executable of Primo which is, I guess, 32-bit and will be mono-proccessor. However, I am not going behind Marcel's back to distribute it. You might find it on some web-archiver too. :smile:

CRGreathouse 2013-05-05 16:41

[QUOTE=Stargate38;339287]WHEN in this entire universe is he going to make another Windows version?! If he doesn't, he should either upload the source code or re-upload the version that was on there in the first place so that people with 32-bit computers can use Primo (no 32-bit Linux version)! He better do it before I reach the age of 64!!! That gives him 44 years (~23375.5008 days or May 4th, 2057), hopefully he'll still be alive, but if he doesn't release the source code (or another Windows version) by then, I'll be so furious that (if possible at the time) I'll probably leave this planet (and head off to who knows where) with my family and may NEVER COME BACK!![/QUOTE]

You plan to be using 32-bit Windows in 2057? It doesn't even seem likely that Windows will exist at all, let alone 32-bit x86 processors.

Stargate38 2013-05-05 21:05

I want that source code!
 
Yes, I'm sure that I will still have a 32-bit Windows VM at the time, even if 128 or even 256-bit operating systems are around, but I just want to know when on Earth he is going to make another Windows version! :furious: How in this entire universe do I get the source code from him?! Do I have to send him an E-mail or something? When is he ever going to make Primo open-source? Sorry about all those hard-to-answer questions, but I really want Marcel to make another Windows version!

Batalov 2013-05-05 21:30

These questions are [B]not[/B] hard to answer.
The answer is: you don't have any right to demand anything from Marcel or from anyone else. This is a product of his work. He owns it. He owes you nothing. He let you ride his bike while he was not using it. Now he took it away and had taken it apart for spare parts. This is his own business.

Instead, write to Microsoft to demand that they go opensource.
"I WANT YOUR SOURCE!"
Also add that you don't want to pay for their Windows thing.
If they refuse, demand that they put Windows95 back for download [B]or[/B] if they don't use anymore then they should release the source.

Go to the mall. Get a free sample candy sample. Then demand that they give you five more pounds. "And right now!"

Also continue writing to the people who put the locked zip files with the things that you wanted (whatever they were). Demand that all for free, as usual.

Last but not the least, sure, by all means, continue complaining [B]here[/B] about all of your adventures in getting free stuff that isn't really free. Everyone loves it!

I am generally curious: have you ever paid for anything in your life? (And not with your parents' money, that is.)

Stargate38 2013-05-06 00:17

I don't buy anything. I use freeware (Firefox, Xvid, iTunes, etc.), and I find my music, images, fonts, and other stuff through Google, Bing, and other search engines. :smile: It takes longer, but I think it's worth it.

Mini-Geek 2013-05-06 00:56

[QUOTE=Stargate38;339385]I don't buy anything. I use freeware (Firefox, Xvid, iTunes, etc.), and I find my music, images, fonts, and other stuff through Google, Bing, and other search engines. :smile: It takes longer, but I think it's worth it.[/QUOTE]

And yet you use Windows instead of Linux. Hm...does that fall under the "your parents' money" category, or is it pirated?

CRGreathouse 2013-05-06 03:14

[QUOTE=Stargate38;339363]I just want to know when on Earth he is going to make another Windows version![/QUOTE]

Almost certainly never. But perhaps if someone offered him a job porting it to Windows, along with a nice contract ensuring that the company take certain legal risks he seems concerned about, he'd consider it. Do you know of anyone willing to front the money?

Stargate38 2013-05-06 12:56

Getting back on topic
 
@Mini-Geek: Windows came with my computer when I bought it, therefore it falls under the "my parents money" category. Why would you think it was pirated? I had to get a new PC anyway, my old one was about to crash, due in part to the fact that I had it for 5-6 years.

VBCurtis 2013-05-06 23:26

[QUOTE=Stargate38;339433]@Mini-Geek: Windows came with my computer when I bought it, therefore it falls under the "my parents money" category. Why would you think it was pirated? I had to get a new PC anyway, my old one was about to crash, due in part to the fact that I had it for 5-6 years.[/QUOTE]

Computers often crash more often than every 5-6 years when you get your music from google searches. It's a good thing you got a new computer- the newness does prevent crashes, after all.

Stargate38 2013-05-07 12:21

Computer problems (started 11 months ago), HELP!
 
Yeah. It cost me $600 + Kaspersky Internet security. I've switched to MSE (Security Essentials) so I wouldn't have to pay an annual subscription fee. It was worth it though. AFAIK, I have no viruses atm. However, I need some help. Can someone please tell me what causes these symptoms?:

1. I drag an artwork image to iTunes and the computer freezes.
2. I try to hard reset and reboot, but the Windows Aero process (dwm.exe) won't start.
3. I get read errors on system files.
4. I try to reboot again, but it freezes on the "Starting Windows" screen (the graphics don't appear, just the text).
5. I use a Linux Boot Disc to try and copy my files to an external hard drive, but I get one of the following errors: "Input/Output error", "Value too large for defined data type" on some of them.

What causes this? How do I fix it? Until I do, I have to run Windows in a VM using Virtualbox. It just isn't the same. I can't play my favorite racing game (Midtown Madness 2) without having to set the graphics to "Software (no 3D Video Card)".

paulunderwood 2013-05-07 12:39

Sounds like a bad disk, but I could be wrong. :smile:

Check the cables are plugged in snuggly. Back up your data and run some disk checks from [URL="http://www.ultimatebootcd.com/"]UBCD[/URL], is my advice. I had one go bad recently -- it had problems writing super blocks when installing Gentoo -- it would not run mkfs.ext3 cleanly.

Andi_HB 2013-05-08 07:45

You can try to boot in Safe Mode. [URL]http://www.redmondpie.com/how-to-boot-into-windows-8-safe-mode/[/URL]
After this backup your Data.
Then to Run CHKDSK [URL]http://windows8themes.org/how-to-run-chkdsk-in-windows-8.html[/URL]
Hope it works for you.

Stargate38 2013-05-08 17:34

I have Windows 7, not 8. I got this computer in 2010.

henryzz 2013-05-09 14:15

[QUOTE=VBCurtis;339501]Computers often crash more often than every 5-6 years when you get your music from google searches. It's a good thing you got a new computer- the newness does prevent crashes, after all.[/QUOTE]
If it happens for that sort of reason you reinstall windows rather than getting a new one. I personally find it best to reinstall every couple of years anyway as windows seems to get slower the longer it is installed.

yoyo 2013-05-13 06:30

[QUOTE=bearnol;338564]Correct. Also if you use the latest source (atkin243) it should be identical between different OSs
J[/QUOTE]

I'll try to Boincify the source and create a Boinc application out of it. I enclose the changes with #ifdef BOINC. Currently the input/output is handled via stdin/stdout, don't know if I have to change this also. Additional the application exits with something != 0 if e.g. the number is a composite. This I have also to change.
When I'm done, I'll send you the changed source.

BTW: Why is the source named atkin?

yoyo

bearnol 2013-05-13 09:48

That would be like calling the GMP-ECM source "lenstra243" :)

Batalov 2013-05-22 03:23

1 Attachment(s)
[QUOTE=Stargate38;339363]Yes, I'm sure that I will still have a 32-bit Windows VM at the time, even if 128 or even 256-bit operating systems are around, but I just want to know when on Earth he is going to make another Windows version! :furious: How in this entire universe do I get the source code from him?! Do I have to send him an E-mail or something? When is he ever going to make Primo open-source? Sorry about all those hard-to-answer questions, but I really want Marcel to make another Windows version![/QUOTE]
That (snapshot below) will surely get him to finally reply to you.

I don't think you will like his answer, I am afraid.

henryzz 2013-05-22 10:48

You surprised me for a minute there. primeprover is my other(newer) username. I got fed up of people calling me henry.

danaj 2013-05-23 01:42

[QUOTE=yoyo;338492]I compiled gmp-ecpp on a Linux 64 bit system, but didn't got it static compiled, libgmpxx.a is missing. Is there a way to get a static version of it for Suse Linux?

How long does it needs to compute a prp certificate for a 500 digit prp?

yoyo[/QUOTE]

I'm not sure how much people care, but I have an open source ECPP implementation that is much faster than GMP-ECPP, and doesn't use gmpxx. It runs on 32-bit and 64-bit machines, including Win32 (command line). It would take a little massaging to turn into a standlone program (it is part of a Perl module now). If anyone wanted, I could do it. Average times for 500-digit PRP's is about 60 seconds, with certificate. I could also have a standalone program optionally link into GMP-ECM for the factoring.

It uses FAS with a fixed list of polynomials (either 500 or 2650 depending on whether you want the data size to be 35k or 1.2MB). The fixed list makes it fast when it can find factors, but as the size increases the chances are higher that it can't find factors quickly. Under 200-digits this is a non-issue as they're easy. The killer is level 0 since we can't backtrack. I wouldn't really recommend it for 1000+ digits unless you could handle waiting. It's also all single-core. The list of future enhancements is long.

Note that I had the advantage of writing my software after GMP-ECPP and GMP-ECM, had plenty of help from open source, books (e.g. Cohen), and lots of free articles available. It also doesn't come close to Primo, nor is that my target. Honestly I just wanted something than my BLS75 theorem 5/7 prover.

The certificates are easily described and the package contains a verifier (though both this ECPP and the verifier were written by the same person, so not ideal). Turning on verbose level 2 will make it output info similar to GMP-ECPP. The package includes an example program that takes GMP-ECPP output, converts it my certificate format, and runs it through the verifier.

Example 800-digit prime:[code]
time perl -MMath::Prime::Util=:all -E 'prime_set_config(verbose=>1); my $n = random_ndigit_prime(800); say $n; my @cert = prime_certificate($n); say verify_prime(@cert);'
20443987985371566596196383035718301138174118185136736375705779502458572404079683337575649740211923543213839529101164807557895801091978585791974909550613164362845341198040458739088508085522277836083292077295057923913065207050715309876775997788289639660920939398400557690622108987139017387065179009994753379841185175425332623391136828022411037251049960076666776932000965866533734635780713134375834400742680057742212425454137230636013373166544738117887409423965569892090142198678900295557491760413057820608924605597955981164954891731105768573393261277499398151053969858546968985985530589739362587656228607497576381292050092944318149269465630547308922229724354728462102870709764369637421445463969412230511360022061146542697354493388050102621598092795803193704863955475238284185417352123117048327111186721
N[0] (800 dig) -120 (Hilbert 4)
N[1] (797 dig) -6451 (Hilbert 17)
N[2] (795 dig) -907 (Hilbert 3)
N[3] (789 dig) -7828 (Weber 16)
N[4] (774 dig) -627 (Hilbert 4)
.....
N[4] (774 dig) -627 (Hilbert 4) 2
N[3] (789 dig) -7828 (Weber 16) 2
N[2] (795 dig) -907 (Hilbert 3) 2
N[1] (797 dig) -6451 (Hilbert 17) 2
N[0] (800 dig) -120 (Hilbert 4) 2
1

real 5m19.085s
user 5m18.658s
sys 0m0.009s
[/code]Primo 4.0.1 on my machine took a bit under 17 seconds for this number using 12 cores. With 1 core it was 73 seconds. For this number my program only had to backtrack from the first factoring level 3 times, so it could have been much, much worse. Primo has so many more discriminants available that numbers this size are simple.

danaj 2013-05-23 02:09

[quote]BTW: Why is the source named atkin?[/quote]Because Cohen's Algorithm 9.2.4 is named "Atkin". It looks like the authors followed that book for most of the code (which is not a bad thing -- it's a very nice book).

[QUOTE=yoyo;340213]I'll try to Boincify the source and create a Boinc application out of it. I enclose the changes with #ifdef BOINC. Currently the input/output is handled via stdin/stdout, don't know if I have to change this also. Additional the application exits with something != 0 if e.g. the number is a composite. This I have also to change.
When I'm done, I'll send you the changed source.
[/QUOTE]

Some suggestions off the top of my head for GMP-ECPP:

- there is a big error in the polynomial root finder. I recommend looking at Cohen 1.6.1 and fix the code (IIRC, it's looping when it shouldn't). This would be a requirement if it were changed to FAS, as the existing code often fails when it shouldn't.

- There is an off-by-one error somewhere in the polynomial gcd code. It's worked around using some extra ifs, so not a huge concern unless you want to rewrite it.

- The fixed POLY_SIZE for the poly code is obtrusive. It'll blow out your stack if you have too many steps, and it's set too high for most use. Reducing it will make things run faster, but leads to other issues.

- Use GMP-ECM for factoring (best), change to a projective ECM, or use a good p-1 for stage 1. I do the latter, as my p-1 factoring is far faster than my ECM and usually finds what we need without much effort. I eventually move to ECM if necessary, which is when you really want something faster than the affine ECM in GMP-ECPP.

- precalculate at least some of the class polynomials. Maybe all the degree 1 and 2s. That will mean almost no class poly calcs once you get under 200 digits.

- Don't use a master switch for Hilbert vs. Weber. Find out if you can use Weber and use it if so, and Hilbert if not. I believe there's no good switch to control the Weber polys used, so it will waste lots of time using bad polys.

- Investigate the various papers that discuss how to estimate the precision needed to generate the polys and use them (plus a fudge factor if you want). Right now it has a global precision limit, which is not scalable at all (either it is small and then big numbers don't work, or it's big and you waste crazy amounts of time on smaller polys).

- polynomial multiplication via binary segmentation would be better with GMP. This probably isn't a big deal with this algorithm/code. It was *huge* with my AKS implementation, but probably not worth much here (it's also more clearly applicible to AKS).

Don't get me wrong -- I think it's fantastic that they wrote a working ECPP and published it as open source. It does great with numbers that start making n-1 provers take a long time (80-100 digits), and given time it will do 150-200 digit numbers. But it has room for improvement.

henryzz 2013-05-23 14:05

[QUOTE=danaj;341293]Primo has so many more discriminants available that numbers this size are simple.[/QUOTE]
What would it take to add more discriminants? Most of us wouldn't mind having a huge file around. Is it calculation it needs?

danaj 2013-05-23 15:01

[QUOTE=henryzz;341353]What would it take to add more discriminants? Most of us wouldn't mind having a huge file around. Is it calculation it needs?[/QUOTE]

First, I'm not sure if we're hijacking this thread. It looked off-topic for some time, but maybe a different thread should be made?

More polynomials -- well, more computation in theory could do it and I could work on that. At some point it's going to be hard to have enough. Here's a quote from Marcel Martin in 2001:
[quote]I will not change my position. Small disc table + Backtracking is a loosing strategy. Backtracking is useful to compensate the fact that a software has no arbitrary length floating-point library on board and, thus, cannot build polynomials on the fly. Backtracking is nothing but a crutch.[/quote]For those of us just starting, sometimes crutches are the only things that let us take our first steps.

From the literature, Weber polynomials should be able to be computed in a reasonable amount of time. GNU MPFR has a [I]lot[/I] more functionality than GMP's mpf, and would make things much easier.

Also, lest someone misunderstand what I said earlier, there's a lot more to Primo than just many more discriminants. A limited set is the bottleneck for [I]my[/I] software at this point as the numbers get larger, but it's not a panacea for huge numbers. In many ways I've not even matched Morain's 1993 work (and clearly I have the advantage of far more memory, GMP, and their paper to peruse). On the other hand, it is much faster than GMP-ECPP and given GMP, it's pretty portable.

yoyo 2013-05-26 17:00

[QUOTE=danaj;341293]I'm not sure how much people care, but I have an open source ECPP implementation that is much faster than GMP-ECPP, and doesn't use gmpxx. It runs on 32-bit and 64-bit machines, including Win32 (command line). It would take a little massaging to turn into a standlone program (it is part of a Perl module now). If anyone wanted, I could do it. [/QUOTE]

I would be interested to get a command line version and the source code for it so I can Boincify it for win 32/64 and Linux 32/64 to create prime certificates for the PRP in factordb:
[url]http://factorization.ath.cx/listtype.php?t=1[/url]

yoyo

Stargate38 2013-07-29 17:45

Me too, especially the source code.

danaj 2013-07-31 21:17

[QUOTE=Stargate38;347707]Me too, especially the source code.[/QUOTE]

The main thread is here: [URL="http://mersenneforum.org/showthread.php?t=18283"]ECPP-DJ[/URL]

Version 1.01 is the latest, with a link later in the thread. I made a link so the latest version is always here: [URL="http://sti15.com/nt/ecpp-dj.tar.gz"]ecpp-dj.tar.gz[/URL]

I am distributing it with the Perl license (user chooses [URL="http://choosealicense.com/licenses/artistic/"]Artistic License[/URL] or [URL="http://choosealicense.com/licenses/gpl-v2/"]GPL[/URL]) but could be convinced to switch to [URL="http://choosealicense.com/licenses/lgpl-v3/"]LGPLv3[/URL] (the same license used by GMP) instead if people prefer that.

Performance chart: [[URL="http://www.sti15.com/nt/ecpp-perf2.png"]image[/URL]]
I didn't include Primo but I expect it would be faster than anything else once past 350 digits or so. Pari's APR-CL is also faster than WraithX's APR-CL but the code isn't exactly portable outside of Pari. GMP-ECPP is taking multiple days to get results that APR-CL and ECPP-DJ take ~1 minute on, so I'm going to kill it soon just to get my computer back.

The next release will have more discriminants (I'm up to about 16000 to choose from), with a different set chosen. I'm using Atkin/Morain's idea of prioritizing H/G (used for selection of source candidates, but I use strictly H ordering while running). I've also got D%3=0 Weber root conversion code so I can use many more Weber polys (saves space and time).


More on topic for this thread, I've also written a standalone certificate verifier in C+GMP. It handles both Primo and MPU formats, and is pretty fast (if I get projective EC working it will be even faster; everything should be present in the source, if you get it working please share). [URL="http://www.sti15.com/nt/vcert-0.9.c"]vcert-0.9.c[/URL]

Since verification is crucial, let me know if you see any issues.

danaj 2013-11-03 23:37

This entry is giving Primo 4.0.4 some problems:

[URL="http://factordb.com/index.php?id=1100000000301279543"]1100000000301279543[/URL]

Can't seem to find a working discriminant even after trying 33 bits (2 passes). It ends with "ABORTED DUE TO INTERNAL ERROR 1.17.102.1"

I used ecpp-dj to get [URL="http://sti15.com/nt/1100000000301279543.out"]this proof[/URL], albeit ~7 hours on one core.

mjm 2013-11-04 05:26

[quote]Can't seem to find a working discriminant even after trying 33 bits (2 passes).[/quote]I guess you made use of (11000,32) as parameters. For a 2000 digit number, Primo does not sieve more than with, say, (5000,26).
(11000,32) means "uses 2^32 with numbers having 11000 digits or more".

I certified your number in about 20 minutes with Primo 4.0.4.
I set (2000,32) as parameters, I aborted once a step was found and I resumed with the default parameters (5000,26).

[quote]It ends with "ABORTED DUE TO INTERNAL ERROR 1.17.102.1"[/quote]It looks like a bug.

danaj 2013-11-04 07:34

[QUOTE=mjm;358346]I certified your number in about 20 minutes with Primo 4.0.4.
I set (2000,32) as parameters, I aborted once a step was found and I resumed with the default parameters (5000,26).[/QUOTE]Very nice. Thanks for the help with parameters -- I just reread the manual as well.

I had tried numerous smaller settings, all of which failed for me, but your suggestion of 2000,32 did finally get the first step after 12 minutes on 8 cores. Running with 2000,27 also worked well and finishes much faster: 31 minutes on 8 cores.

Puzzle-Peter 2013-11-04 07:38

This is really interesting. I tried to certify this number a few weeks ago, still using v4.0.1 and it wouldn't work. So v4.0.4 is more than only speed optimization.

I'll switch to v4.0.4 as soon as my currently running tests are finished.

ET_ 2013-11-11 17:19

[QUOTE=Puzzle-Peter;358351]This is really interesting. I tried to certify this number a few weeks ago, still using v4.0.1 and it wouldn't work. So v4.0.4 is more than only speed optimization.

I'll switch to v4.0.4 as soon as my currently running tests are finished.[/QUOTE]

Primo v4.0.5 (November 7, 2013)

Fixed a bug that could raise the internal error 1.17.102.1 during the phase 1.

danaj 2013-11-11 17:28

[QUOTE=ET_;358987]Primo v4.0.5 (November 7, 2013)[/QUOTE]:tu: Thanks!

Puzzle-Peter 2013-11-11 17:33

[QUOTE=ET_;358987]Primo v4.0.5 (November 7, 2013)
[/QUOTE]

Thanks! I don't look as often as I should...

Puzzle-Peter 2014-01-11 08:00

Primo V4.1.0 is available from the Primo homepage.

henryzz 2014-01-11 12:11

Would ecpp be a good candidate for running on a gpu?

ET_ 2014-01-11 13:40

[QUOTE=henryzz;364382]Would ecpp be a good candidate for running on a gpu?[/QUOTE]

When I asked Marcel about it, he told me it was on his to-do list, but at a very lo priority.

Luigi

RichD 2016-05-25 21:35

Updated Primo v4.2.1 (9-May-2016) posted in the [URL=http://www.ellipsa.eu/public/primo/primo.html]usual place[/URL].

Note: factordb.com does not currently accept the new format (v4.2 or later).

RichD 2018-03-06 04:38

Updated Primo v4.3.0 (21-Feb-2018) for Linux posted in the [url=http://www.ellipsa.eu/public/primo/primo.html]usual place[/url].

paulunderwood 2018-03-06 07:57

[QUOTE=RichD;481664]Updated Primo v4.3.0 (21-Feb-2018) for Linux posted in the [url=http://www.ellipsa.eu/public/primo/primo.html]usual place[/url].[/QUOTE]

"[I]Maximal size of candidates increased up to 132,928 bits (~ 40,000 decimal digits).[/I]" :devil:

ET_ 2018-03-06 16:09

[QUOTE=paulunderwood;481669]"[I]Maximal size of candidates increased up to 132,928 bits (~ 40,000 decimal digits).[/I]" :devil:[/QUOTE]

You know what we all are thinking...

RichD 2018-03-06 20:06

Just to let everyone know. I submitted a v4.3.0 certificate and factordb.com verifier accepted it.

RichD 2019-05-05 16:21

Updated Primo v4.3.1 (28-Apr-2019) for Linux posted in the [url=http://www.ellipsa.eu/public/primo/primo.html]usual place[/url].

Changes:
Assembler code improvements (Primo should be slightly faster with big numbers).

rudy235 2019-05-05 19:44

[SIZE="3"]Any great candidate >38000 digits there?[/SIZE]

wpolly 2019-05-05 20:31

[QUOTE=rudy235;515859][SIZE=3]Any great candidate >38000 digits there?[/SIZE][/QUOTE]
I guess R49081 is always there, but I'm not sure if it's feasible now....

Batalov 2019-05-05 21:29

Plenty of accessible [URL="https://primes.utm.edu/top20/page.php?id=62"]unique numbers[/URL]
[CODE]Phi(34051,-10) 32033 Ray Chandler 04/2009
Phi(36547,-10) 29832 Ray Chandler 04/2009
Phi(35421,-10) 23613 Ray Chandler 04/2009
Phi(32481,10) 21600 Matthew Peets 11/2008
Phi(39855,-10) 21248 Ray Chandler 04/2009[/CODE]

paulunderwood 2019-05-05 22:12

I use a 4x 12 core 2.2 GHz AMD 6174. I imagine a 2x 32 EPYC cores (64 threads each); One of these wIth fast chips and fast DDR4 would really make Primo jet along. :geek:

a1call 2019-05-05 22:29

Yes, the 16 core does not seem to exist:

[url]https://en.wikipedia.org/wiki/List_of_AMD_Opteron_microprocessors[/url]

paulunderwood 2019-05-05 22:34

[QUOTE=a1call;515884]Yes, the 16 core does not seem to exist:

[url]https://en.wikipedia.org/wiki/List_of_AMD_Opteron_microprocessors[/url][/QUOTE]

Mine is the old Opteron type 6*** series. The new 7*** series are so much better.

[URL="https://en.wikipedia.org/wiki/Epyc#Epyc"]https://en.wikipedia.org/wiki/Epyc#Epyc[/URL]

a1call 2019-05-05 22:38

They still seem to max out at 64 threads.
Probably not worth an upgrade to what you already have.

paulunderwood 2019-05-05 22:55

[QUOTE=a1call;515886]They still seem to max out at 64 threads.
Probably not worth an upgrade to what you already have.[/QUOTE]

My 6174 chip costs ~£10, whereas a top of the range EPYC is ~£2500 and you would want two of them. It would make a Primo proof less time-consuming.

DukeBG 2019-05-26 17:36

In February I did a 5213-digit number on 4.3.0 in about 4.8h (17288s) on my 8c/8t i7-9700K.
Just now finished a 5331-digit number with 4.3.1 in about 3.8h (13746s). A 20% increase in time and a slightly larger number too. I might also have other stuff running simultaniously in february, so it's far from a clean test, but still.

P.S. also finished a 14k dd number on 4.3.1 that I started on 4.3.0, about 490h total wall-clock time and that felt good.

rudy235 2019-05-27 01:48

[QUOTE=wpolly;515864]I guess R49081 is always there, but I'm not sure if it's feasible now....[/QUOTE]

A pair of numbers that should be totally doable would be 10[SUP]35630[/SUP]+239239
or 10[SUP]35925[/SUP]-9

If one wishes for a more difficult task this pair could be it 10[SUP]39922[/SUP]-57 and 10[SUP]40000[/SUP]+14253


All times are UTC. The time now is 12:06.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.