View Single Post
Old 2019-07-22, 16:54   #22
kriesel
 
kriesel's Avatar
 
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

3×5×271 Posts
Default Worktodo entry formats

This is a quick reference for worktodo entry formats for multiple GIMPS programs.
These are a best-effort summary and not guaranteed to be correct. For confirmation, see the performance or help output of the respective programs, their documentation files, and communications by the authors.

Syntax used here:
[a|x] either a or x
[a] optional a, nul otherwise
(parenthetical comment on an example, that should not be included in an actual worktodo entry)
whatever is outside of <> and [] and () is literal
<variable> means substitute the string representation of the value of variable in place of <variable>

Variables used here:
AID = 32-character assignment ID
B1 = first stage bound
B2 = second stage bound
exponent in m=2exponent - 1 and typically a prime
k, b, n, c, for number m = k bn + c and typically a prime. For a Mersenne number, k=1, b=2, c=-1.
from = trial factoring starting bit level; lowest candidate factor ~ 2from
to = trial factoring ending bit level; highest candidate factor ~ 2to
prp_base = the number that gets raised to a high power in the PRP test, typically 3
how_far_factored = bits level previously factored to in TF
tests_saved = integer number of future primality tests saved if a factor is found, usually 2 for a first test candidate, 1 for a double-check candidate, 0 if a sufficient P-1 has already been completed, or optionally up to 9 for aggressive P-1 factoring
p-1_done = 1 if done, 0 if not done already

residue_type. From the prime95 undoc.txt:
"PRP supports 5 types of residues for compatibility with other PRP programs. If a is the PRP base and N is the number being tested, then the residue types are:
1 = 64-bit residue of a^(N-1), a traditional Fermat PRP test used by most other programs
2 = 64-bit residue of a^((N-1)/2)
3 = 64-bit residue of a^(N+1), only available if b=2
4 = 64-bit residue of a^((N+1)/2), only available if b=2
5 = 64-bit residue of a^(N*known_factors-1), same as type 1 if there are no known factors"
Additionally, there is a residue type 0 in some versions of gpuowl that is simultaneous PRP and P-1, and most versions of gpuowl perform only a single residue_type of PRP without simultaneous P-1

Typically,
Factor=[<AID>,]<exponent>,<from>,<to>
PFactor=[AID>,]<k>,<b>,<n>,<c>,<how_far_factored>,<tests_saved>
Test=[<AID>,]<exponent>,<how_far_factored>,<p-1_done>
Doublecheck=[<AID>,]<exponent>,<how_far_factored>,<p-1_done>
PRP varies

Formats and examples follow for several commonly used GIMPS programs.
Note some are known to be case-sensitive. PFactor != Pfactor for example.


Mfaktc or Mfakto
Factor=[<AID>,]<exponent>,<from>,<to>
[#|//|\\]whatever comment you want, including valid worktodo entry lines
Factor=7F797F1F8BC4B5C234CB29D8BAD8B680,93040447,74,75
// some comment
CUDAPm1
PFactor=[<AID>,]1,2,<exponent>,-1,<how_far_factored>,<tests_saved>
[#|//|\\]whatever comment you want, including valid worktodo entry lines
PFactor=1,2,415000043,-1,82,2
# some comment
Note, to specify the bounds, use the command-line -b1 and -b2 options.
CUDALucas or cllucas
Test=[<AID>,]<exponent>,<how_far_factored>,<p-1_done>
Doublecheck=[<AID>,]<exponent>,<how_far_factored>,<p-1_done>
[#|//|\\]whatever comment you want, including valid worktodo entry lines
Test=402143717,81,1
DoubleCheck=4BACCC7E79F9878B2D2F606C6DF40123,50879989,74,1
\\ some comment
gpuowl (may vary in syntax and availability versus version)
(A note of caution, PRP residue type is dependent on gpuowl version. To qualify as a PRP DC, residue types must match.)
TF (V3.7 - v3.9?)
Factor=[<AID>,]<exponent>,<from>,<to>
Factor=332298607,76,77

P-1
[B1=<B1>[,B2=<B2>];]PFactor=[AID|0],1,2,<exponent>,-1,<how_far_factored>,<tests_saved> (v6.x)
B1=790000,B2=16590000;PFactor=A125254BD75564243D4B73D4EC601234,1,2,91538501,-1,77,2 (v6.x)
PFactor=B1:<B1>,<exponent> (v4.x)
PFactor=B1:20000,83780327 (v4.x)

LL (version <0.7)
[Test|DoubleCheck]=[<AID>|0],<exponent>,<how_far_factored>,<p-1_done>
[Test|DoubleCheck]=<exponent>
DoubleCheck=0,70100200,0,0
Test=70100200
LL (version >~v6.11-252)
DoubleCheck=[AID|0],<exponent>,<how_far_factored>,<p-1_done>
DoubleCheck=1AAFFAAD0000000FFFF,51456287,74,1

PRP (version >0.6; varies in residue type by gpuowl version, type 1 preferred)
PRP=[<AID>|0],<k>,<b>,<n>,<c>,<how_far_factored>,<p-1_done>
PRP=0,1,2,1500000041,-1,87,1

PRP-1 (PRP residue type 0)
[B1=<B1>,][B2=<B2>,]PRP=[AID|0],1,2,<exponent>,-1,<how_far_factored>,<tests_saved> (~v4.7 - v5.0; defaults to B2=exponent)
B1=2000000,B2=40000000;PRP=0,1,2,82252003,-1,76,0

Comment
; preface a worktodo line with a semicolon (or perhaps anything unexpected) will cause it to be ignored, functioning as a comment except for the error message
prime95 / mprime
TF
Factor=[<AID>|N/A],<exponent>,<from>,<to>
Factor=N/A,1257787,1,64

P-1
Pminus1=[<AID>|N/A],<k>,<b>,<n>,<c>,<B1>,<B2>[,"comma-separated-list-of-known-factors"]
Pfactor=[<AID>|N/A],<k>,<b>,<n>,<c>,<how_far_factored>,<tests_saved>
Pfactor=N/A,1,2,500000693,-1,82,2

LL
Test=[<AID>|N/A],<exponent>,<how_far_factored>,<p-1_done>
Doublecheck=[<AID>|AID],<exponent>,<how_far_factored>,<p-1_done>
Test=N/A,82589933,82,1

PRP
PRP=[<AID>|N/A],<k>,<b>,<n>,<c>[,<how_far_factored>,<tests_saved>][,<prp_base>,<residue_type>][,"comma-separated-list-of-known-factors"]
PRP=N/A,1,2,82589933,-1 (mersenne prime record)
PRP=N/A,1,2,268435459,1,80,0,3,5,"3" (Wagstaff number)

Comment
;whatever comment you want, including valid worktodo entry lines
Mlucas
[Test|DoubleCheck]=[<AID>,]<exponent>,<how_far_factored>,<p-1_done>
<exponent> (does an LL test of the corresponding Mersenne number)
DoubleCheck=B83D23BF447184F586470457AD1E03AF,22831811,66,1
Test=DDD21F2A0B252E499A9F9020E02FE232,48295213,69,0
Test=332220523,80,1
332220523

V19 adds PRP and PRP DC forms, for Mersenne numbers only, residue-type 1 or 5:
PRP=<AID>,<k>,<b>,<n>,<c>,<to>,<tests_saved>
PRP=<AID>,<k>,<b>,<n>,<c>,<to>,<tests_saved>,<base-of-first-test>,<residue-type>
PRP=<AID>,1,2,<n>,-1,<to>,<tests_saved>
PRP=<AID>,1,2,<n>,-1,<to>,<tests_saved>,<base-of-first-test>,[1|5]
PRP=0123456789ABCDEF0123456789ABCDEF,1,2,332220523,-1,0
PRP=0123456789ABCDEF0123456789ABCDEF,1,2,332220523,-1,0,3,1
Mlucas primenet.py (work queuing)
[Test|DoubleCheck]=<AID>,<exponent>,<how_far_factored>,<p-1_done>
PRP=<AID>,<k>,<b>,<n>,<c>,<to>,<tests_saved>
PRP=<AID>,<k>,<b>,<n>,<c>,<to>,<tests_saved>,<base-of-first-test>,<residue-type>

Top of this reference thread: https://www.mersenneforum.org/showpo...89&postcount=1
Top of reference tree: https://www.mersenneforum.org/showpo...22&postcount=1

Last fiddled with by kriesel on 2020-05-09 at 14:37 Reason: minor typo fix in gpuowl >~v6.11-252 LL DC
kriesel is online now