View Single Post
Old 2019-10-02, 05:09   #16
LaurV
Romulan Interpreter
 
LaurV's Avatar
 
Jun 2011
Thailand

33×347 Posts
Default Why don't we extend B1 or B2 of an existing no-factor P-1 run?

Quote:
Originally Posted by kriesel View Post
Neither GpuOwl nor CUDAPm1 have yet implemented B1 extension from an existing save file. Consequently a run to a higher B1 for the same exponent currently requires starting over, repeating a lot of computation.

Neither GpuOwl nor CUDAPm1 have yet implemented B2 extension from an existing savefile. Consequently a run to a higher B2 for the same exponent currently requires starting over, repeating a lot of computation.
B2 extension is trivial. Moreover, you only need to save the residue after stage 1 finished, and the last B2 value (or range). That is because every stage 2 "chunk" (or cluster) does not use the results from the former "chunks", but it only uses the results at the end of stage 1, and the current stage 2 "chunk", and the "chunks" increase until B2 is reached. So, if you have a save file at the end of stage 1 (when B1 was reached), you technically could do independently "stage 2 from B2_start_x to B2_end_x", in x computers in parallel.

Extending B1 is a bit trickier, because you need to recompute the additional small primes that fit into the new B1, and do the exponentiation required to include them into the new product (b^E). There is a piece of pari/gp Pm1 code I posted some time ago which does B1 extension, but that is slow because first of all, it is pari, and second, it only uses "chunks" of 2 primes (i.e. no stage 2 extensions), but it can save intermediary files and extend B1 too.

Also, once you extend B1, then you must do stage 2 "from scratch", whatever stage 2 you did before, for the same B2 (or more, or less) is void.

(Kriesel:) Mostly though, we don't do P-1 bounds extensions because:
  • The code to do so does not exist in our available GIMPS production software.
  • The work type is not defined in the PrimeNet API
  • P-1 extension assignments don't exist on the server web interface for manual work assignments.
  • P-1 is a lesser development priority right now.
  • P-1 is a smaller fraction of the work on an exponent than primality testing.
  • CUDAPm1 is still labeled alpha software and does not implement bounds extension
  • gpuowl P-1 is relatively new and does not implement bounds extension
  • Often the user wanting to increase bounds is not the user who did some previous bounds, and does not have access to the files from previous runs.
  • Some software may not even save those files after completing a run.
  • There's no need to extend if the bounds were both adequate on an earlier run.
  • It's more efficient to do P-1 once, with adequate bounds the first time.

Top of this reference thread: https://www.mersenneforum.org/showth...736#post510736
Top of reference tree: https://www.mersenneforum.org/showpo...22&postcount=1

Last fiddled with by kriesel on 2021-03-02 at 19:53 Reason: Add title, list of reasons for status quo
LaurV is offline