Overview

Primo is a primality proving program based on the ECPP (Elliptic Curve Primality Proving) algorithm. Given positive odd integers, it tests whether these integers are prime, and if they are it produces primality certificates. With Primo, one can check crypto-primes and prove whether they are actually prime... or not.

Executable for Linux 64-bit (Ubuntu 11.04/Gnome 2/x86-64 architecture)
Primo for Linux screenshot

A short description of the ECPP algorithm can be found at Elliptic Curve Primality Proving by Eric Weisstein (from MathWorld — A Wolfram Web Resource).

This alpha version was compiled with Free Pascal and Lazarus.



FAQ
  • Is this Linux version for multicore processors?
    Yes, it is.
     
  • Does it exist a multicore version for Windows?
    No, there is not.
     
  • What does "LG64" stand for?
    Linux Gnome-2 64-bit.
     
  • Why is this version called "alpha"?
    Because, from the GUI to the file formats, all can still be modified.
     
  • Does the LG64 version run under Linux distributions other than Ubuntu 11.04?
    Presumably but I do not know.
     
  • Does it exist a command line version for Linux?
    No (not yet).
     

Some timings
The following certification running times were obtained with Primo LG64 using an Intel i7-2600 3.4GHz processor.

NDecimal
size
Sieve
bound
TasksRunning time
(alpha 11)
Running time
(alpha 15)
10999 + 7100022281mn 6s59.66s
101999 + 73212000223814mn 15s14mn 19s
102999 + 1887300022481h 34mn1h 17mn
103999 + 4771400022584h 33mn     3h 57mn [*]
104999 + 226695000226813h 18mn10h 8mn
105999 + 293796000227828h 58mn21h 32mn
106999 + 331877000228861h 28mn49h 48mn
107999 + 3588780002298n/a89h 49mn

[*] This number is the third ECPP record set with Primo. Its certification, ten years ago, took 2856h!



To do
  • To rewrite the whole Phase 2 code.
  • ...
  • To release a beta version.


Changes
v4.0.0 - alpha 15 (May 10, 2012)
  • Sieve upper bound increased up to 232.
  • Fixed a bug concerning the new class invariants added to v. alpha 13. Thanks to Ed Hall who reported it.
  • Minor cosmetic changes.
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 so-called Phase 2. Thanks to Frank Schickel who reported it.
v4.0.0 - alpha 13 (February 13, 2012)
  • Sieve upper bound increased up to 231.
  • Added new class invariants.
  • New data files.
  • Modified the backtrack strategy.
v4.0.0 - alpha 12 (November 8, 2011)
  • New data files.
v4.0.0 - alpha 11 (October 10, 2011)
  • Fixed two bugs regarding the backtracking stuff.
  • New data files.
  • Added [Setup, resume:n] sections to .cr files.
v4.0.0 - alpha 10 (August 22, 2011)
  • Fixed a bug regarding the verification stuff. Thanks to Tom Wu who reported it.
  • Minor cosmetic changes.
v4.0.0 - alpha 9 (August 14, 2011)
  • Very first 64-bit version.
  • No more Confirm to abort button (clicking on the Abort button immediately terminates the certifications/verifications).
  • The .t<n> and .s<n> binary files are not compatible with the 32-bit versions (it is impossible to resume a certification started with a 32-bit version).
  • New help file.
v4.0.0 - alpha 8 (July 9, 2011)
  • New data files.
  • Modified the numbering of the backtracked tests (.cr files).
v4.0.0 - alpha 7 (June 8, 2011)
  • Fixed a bug that was sleeping since 10 years: some very particular numbers could be rejected (with the message The candidate is presumably a square) whereas they might be prime. Thanks to David Harrison who reported it.
  • Fixed a bug regarding the backtracking indicator. Thanks to Tom Wu who reported it.
  • Number of possible concurrent tasks increased up to 16.
  • Miscellaneous cosmetic and naming changes.
v4.0.0 - alpha 6 (May 25, 2011)
  • Range of the Sieve upper bound increased from (221..228) to (220..230).
  • N±1 and EC tests fully parallelized.
v4.0.0 - alpha 5 (May 9, 2011)
  • Fixed a bug regarding the primo.xd15 data file. Thanks to Tom Wu who reported it.
v4.0.0 - alpha 4 (May 9, 2011)
  • Better parallelization of the so-called Phase 1.
  • New data files.
  • Added a Certification reports option.
v4.0.0 - alpha 3 (April 24, 2011)
  • Fixed cosmetic bugs.
  • Slightly better tuning (hopefully).
v4.0.0 - alpha 2 (April 14, 2011)
  • First release.


Download

The software Primo may be used free of charge but you should read the End-User License Agreement before downloading and using it.

  primo-lg64-15.zip   16.3 MiB   Executables  (binary files)

The SHA-1 fingerprint is

  primo-lg64-15.zip :  30c6e03948ff46964118225ec6f870c969fd4a7a


Stop Software Patents Petition

Valid XHTML 1.0 Strict