20111202, 07:46  #1 
Romulan Interpreter
Jun 2011
Thailand
2×7×653 Posts 
Don't DC/LL them with CudaLucas
This thread is a follow of the discussions started here.
This is the list of exponents that were DCed with CudaLucas or other third party software and the residue did not match. They can only be DCed further using Prime95 (or its flavors). Do not waste your time DCing them with the GPU, this will not clear the exponent, except in the case you get the original residue (and not the one got by former CudaLucas run, which in fact, you will most probably get). Code:
exponent, date, reported by who: ========================= Code:
exponent, date, reported by who: ========================= Last fiddled with by LaurV on 20120508 at 03:10 
20111202, 09:27  #2 
Jul 2009
Germany
547 Posts 
For
25891057 the residue did match, but what about triplechecks? Last fiddled with by moebius on 20111202 at 09:29 
20111202, 09:58  #3 
Banned
"Luigi"
Aug 2002
Team Italia
3×1,597 Posts 
I had different behaviors with CUDALucas.
Some tests ended with a correct residue, some didn't. As it is fairly hard that 2 numbers end up with the same wrong residue, I suppose that CUDALucas is not that bad. Luigi 
20111202, 11:15  #4 
"Brian"
Jul 2007
The Netherlands
CC5_{16} Posts 
The point, if I understand it correctly, is that there is as yet no safeguard in CUDALucas to insure against precisely this happening. If some obscure software bug were to cause an incorrect calculation at some point in the test, a subsequent test by a different user could repeat this incorrect calculation and produce the same wrong result. Prime95/mprime by contrast starts the LL test with a random offset so that this will not happen. (Those more knowledgeable than I am please put me right if I've stated this incorrectly.)

20111202, 16:07  #5 
Romulan Interpreter
Jun 2011
Thailand
2×7×653 Posts 
You did not state it incorrectly, you put it very correctly.
Prime95 will choose a random number k between 0 and p1 and will rotate each residue inside of the p bits you have, with k bits. Then it will square the result. At the end you get the residue rotated with 2k bits. This ensure that the FFT deal with different data each time, so if there is a software bug in it, it would be almost impossible to produce the same result (unique up to a rotation) for the final residue. You can square a number x and take the result mod M, where M=2^p1, to get x^2 (mod M). Now, if you square 2^k*x, you get 2^(2*k)*x^2. But the order of 2 in M is p, because 2^p=1 (mod M), so you get in fact 2^(2*k (mod p))*x^2 (mod M), where the (mod p) is at the power, i.e. 2*k is taken (mod p). Now if you note that x=y (mod M) means x=a*M+y, you can write x=a*(M+1)a+y. Think at that like modulo M+1, which is 2^p, this means you can find y by adding the last p bits of x with the other bits of x. This is in fact a rotation of x^2 with 2k bits. Example: for p=13, M=8191, the "standard" test gives the series of residues: 4,14,194,4870,3953,5970,1857,36,1294,3470,128,0 If you shift the initial value with 1 bit to the left (k=1) what you get is 8,56,3104,1688,7051,5294,5024,9,7248,4557,16,0 In this case the number is prime, and the residue is always 0. For p=11, M=2047, the "standard" tests gives 4,14,194,788,701,119,1877,240,282,1736 and the "rotated by k=1" test gives 8,56,1057,1122,1962,1083,981,15,209,566 If you look to the binary representations of the two final residues, they are "the same up to a rotation with 5 positions". Where does 5 come from, you can compute, and indeed, if you rotate the second result 5 positions to the left, you get the first. 1736 = binary 110 1100 1000 0566 = binary 010 0011 0110 So, P95 goes through all this trouble for each term in the LL sequence of residues, to ensure that FFT squaring deals with different data each time when you LL or DC. CudaLucas does not. It always starts with 4, square it, subtract 2, square it, subtract 2, etc. A bug (or overflow, or whatever) in the FFT code will produce always the same error in the "square it" step. Therefore always the same (wrong) residue. Prime95 can produce a number of p different residues (internally), if you run it so many times for the same exponent, because it will pick a (different) random k each time. The residues have to match after P95 rotates them with the right number of bits, and communicate them to you. Last fiddled with by LaurV on 20111213 at 05:41 
20111202, 16:15  #6 
Oct 2011
7·97 Posts 
I know I ran a few DC on my GPU prior to GPUto72 and had 1 mismatch, but I had been adjusting the OC on my GPU at the time, so seeing the mismatch after the others worked I figured it was from my meddling.

20111213, 05:50  #7 
Romulan Interpreter
Jun 2011
Thailand
23B6_{16} Posts 
I finished another LL and decided to update the list in the first post. Meantime, nobody reported any new DC mismatch, or new firsttimeLL done with CudaLucas, and I am not going to continuously ask. Later on, I may make a script to sniff into Primenet and grab all exponents that had at least one LL done with CudaLucas, I believe I know a way to do it. Anyhow, a manual check, found out two expos on the list cleared already (somebody did successfully DC's) and I stroke them out. If the lists will go longer in the future, the strokeout lines will be deleted (it make no sense to have them anyhow, but just if someone wants to see that "we follow" :P)

20111213, 13:54  #8 
Jul 2009
Germany
547 Posts 
update
49190957

20111220, 07:59  #9 
Romulan Interpreter
Jun 2011
Thailand
2×7×653 Posts 
Added to the list. Seems like not so many people care about this list. Anyhow, the DCbadresidue list is cleared now, as my exponent 26830123 was verified by Mr Kirrmaier and he got a residue that matched with MINE residue, and not with the former reported. I am quite happy about it.
Now, maybe the list with firsttimeLL is not so important, and we hope that CudaLucas will change (to implement "scrambling") until it will come to retest these exponents (1 year? two years? six months? more?). But the DCmismatches list is quite important (and not so "frequent" entries!) so I would take the opportunity to ask the people again to report their CudaLucas DC mismatches. We could avoid a lot of headache later. 
20120113, 04:10  #10 
Romulan Interpreter
Jun 2011
Thailand
2·7·653 Posts 
Added a new CudaLucas DC mismatch for 26123989. Different of the former, when my residues were right (after triple checked by third parties) and the original tests were wrong, this time my test is already a triple check (!!!!) and it could highly be my residue which is wrong, because I kept roaming between v1.2b, v1.3(alpha) and v1.4.6 of CudaLucas, with both 4.0 and 3.2, and I also used builtcc2.1 on a board with 2.0 capability only (does it really matter? I could not find yet a build for cc2.0 on the CL thread, for the last 1.4.6, but I think the built for 2.1 should run on 2.0 without errors).
Strange exponent this 26123989... edit: It was a "test case" where I tried to see which version is faster, and I also tried to overclock the Fermi chip a bit (about 7%, at 10% the image on the screen crashed, and at about 9% there were many errors displayed from cuFFT, but 7% OC seemed reliable....) I just saw an anonymous grabbed the quadruple check. Eagerly waiting for his result... Last fiddled with by LaurV on 20120113 at 04:22 
20120113, 04:13  #11  
"Kieren"
Jul 2011
In My Own Galaxy!
10011110100100_{2} Posts 
Quote:


Thread Tools  
Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
CudaLucas Residual  evoflash  GPU Computing  21  20171113 12:04 
Prime95 vs. CUDALucas  storm5510  Software  6  20161128 17:36 
CUDALucas gives allzero residues  fivemack  GPU Computing  4  20160721 15:49 
settings for cudaLucas  fairsky  GPU Computing  11  20131103 02:08 
Trying to run CUDALucas on Windows 8 CP  Rodrigo  GPU Computing  12  20120307 23:20 