mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Hardware > GPU Computing

Reply
 
Thread Tools
Old 2017-04-13, 16:19   #12
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

22×3×112 Posts
Default

It seems to me that the observed behavior could be produced by a b_per_word (bits per word) too-big by 1 on the very last word (i.e., the last word being considered "big-word" when in fact it is always "small-word", for the DWT) [the very last word is tricky for ceil() because it does fall on integer boundary], which swallows one carry to the first word.

OTOH I did verify that my implem correctly generates small-word for the last word, i.e. 18bits for 2M FFT or 9bits for 4M FFT for 39527687.

My code computing the bits-per-word is in genBitlen() here: https://github.com/preda/gpuowl/blob/master/gpuowl.cpp
preda is offline   Reply With Quote
Old 2017-04-15, 07:42   #13
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

22×3×112 Posts
Default

https://www.mersenne.org/report_expo...7999863&full=1 seems to be another case of the off-by-one-residue bug. (I'm not sure as I can't see the last 2digits, but it's probable). Unfortunately I've been unable to locate such a bug in my program.
preda is offline   Reply With Quote
Old 2017-04-15, 23:58   #14
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

145210 Posts
Default

I think I found it (in my program). The reason is related to the balanced-digit representation. When the very last word is negative, it generates one extra carry, which is the "off-by-one". Could be said that the bug is in computing the residue for output.
preda is offline   Reply With Quote
Old 2017-04-16, 20:22   #15
Madpoo
Serpentine Vermin Jar
 
Madpoo's Avatar
 
Jul 2014

340610 Posts
Default

Quote:
Originally Posted by ATH View Post
I just added the line to the worktodo.txt
Test=39527687,75,1
Technically it would be:
DoubleCheck=39527687,75,1

Although I think in practice that only makes a difference if it hasn't been P-1'd. In that case, the "Test" or "DoubleCheck" is a hint on what the B1/B2 should be... as in, "will P-1 save one test, or two?" If two tests could be saved by finding a factor ("Test=") then the bounds are larger than if only one test would be saved ("DoubleCheck=")
Madpoo is offline   Reply With Quote
Old 2017-04-16, 20:26   #16
Madpoo
Serpentine Vermin Jar
 
Madpoo's Avatar
 
Jul 2014

2·13·131 Posts
Default

Quote:
Originally Posted by preda View Post
https://www.mersenne.org/report_expo...7999863&full=1 seems to be another case of the off-by-one-residue bug. (I'm not sure as I can't see the last 2digits, but it's probable). Unfortunately I've been unable to locate such a bug in my program.
They are indeed off by one. Your result was one bit higher.

Also, I mentioned this in the other thread, but if your program is using shift-counts (I think CudaLucas does, and sounded like you may have based some code on that?) then that would be specified in the result string for that "offset" value.

It may not be using shift-counts in which case "zero" is appropriate, but if it is in fact using them, then by all means include that value in the result. There have been times when strange bugs were debugged by noticing what the shift-count values were, and just in general it makes sure a verifying run is done with different shift-counts.
Madpoo is offline   Reply With Quote
Old 2017-04-19, 12:53   #17
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

22×3×112 Posts
Default

The initial problem (residue off-by-one) has been fixed. (in gpuOwL, I was not properly reversing the extra carry that was sometimes pushed by the balanced representation from last-word to first-word).

I'll take care to include the correct shift-count (and bump the version) if that becomes implemented.
preda is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Double-check request Xyzzy Mlucas 21 2015-06-10 14:34
Double Check Unregistered Information & Answers 3 2011-10-01 04:38
First check and double check llrnet servers. opyrt Prime Sierpinski Project 3 2009-01-02 01:50
Double-check check? M0CZY Software 15 2008-10-30 14:20
Double Check P-1 PhilF PrimeNet 6 2005-07-03 14:36

All times are UTC. The time now is 15:00.


Fri Jul 7 15:00:04 UTC 2023 up 323 days, 12:28, 0 users, load averages: 1.36, 1.17, 1.13

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

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔