 mersenneforum.org LLR Version 3.8.22 released
 Register FAQ Search Today's Posts Mark Forums Read  2019-04-05, 17:50 #34 mackerel   Feb 2016 UK 1011111102 Posts Testing done and e-mail sent. Not sure where but found contact e-mail on legal page. If preferred elsewhere let me know.   2019-04-05, 20:20 #35 Prime95 P90 years forever!   Aug 2002 Yeehaw, FL 2×5×19×37 Posts Just for grins, does this work (same test): https://www.dropbox.com/s/x8dv5zgbh5...ime95.exe?dl=0 It is the exact same code but compiled without optimization. No need to send output -- just a yes/no answer is fine. Thanks.   2019-04-05, 20:32 #36 mackerel   Feb 2016 UK 2×191 Posts Still get the mismatch errors.   2019-04-06, 15:15   #37
tshinozk

Nov 2012

23 Posts Quote:
 Interesting, I did some further tests to narrow down the point of failure for different exponents. In 2 of the 3 tests it happens just at the boundary between 2 FFT sizes.
I want to find a minimum failure point. (p95v297b1.win64)

Firstly, lowering the n from 4344392810277*2^1290000-1, I get n=336101.
Code:
PRP=4344392810277,2,336101,-1     fail    40K  FFT
PRP=4344392810277,2,336100,-1     success  32K  FFT
Secondly, lowering the k, I get k=1496893.
Code:
PRP=1496893,2,336101,-1    fail        40K  FFT
PRP=1496892,2,336101,-1    success     32K  FFT
At least, a minimum failure point is smaller than 1496893*2^336101-1.

The original issue occurs at the point as well. (LLR Program - Version 3.8.22, using Gwnum Library Version 29.7)
Code:
1496893*2^336101-1 is not prime.  LLR Res64: 0F62CD1E22F923ED  Time : 36.944 sec.
1496893*2^336101-1 is not prime.  LLR Res64: 942E928597BBECD4  Time : 37.629 sec.
1496893*2^336101-1 is not prime.  LLR Res64: 6266B07F7DCDEC11  Time : 37.669 sec.

1496892*2^336101-1 is not prime.  LLR Res64: AEF499A313C0F9F3  Time : 30.772 sec.
1496892*2^336101-1 is not prime.  LLR Res64: AEF499A313C0F9F3  Time : 30.834 sec.
1496892*2^336101-1 is not prime.  LLR Res64: AEF499A313C0F9F3  Time : 30.902 sec.   2019-04-06, 16:19   #38
Prime95
P90 years forever!

Aug 2002
Yeehaw, FL

2·5·19·37 Posts Quote:
 Originally Posted by tshinozk I want to find a minimum failure point. (p95v297b1.win64)
If you see the words "zero-padded" in the FFT description then trouble will ensue.   2019-04-06, 22:00 #39 Prime95 P90 years forever!   Aug 2002 Yeehaw, FL 1B7616 Posts I'm curious, does this case work: [qa] SPECIFIC_K=4344392810277 SPECIFIC_B=2 SPECIFIC_N=1310720 SPECIFIC_C=-1 CHECK_OFTEN=1 This is a rational zero-pad FFT (the known bad cases are irrational zero-pad FFT). A rational FFT occurs when the "n" in k*b^n+c is a multiple of the FFT length. In this case no weights need be applied.   2019-04-07, 01:29   #40
tshinozk

Nov 2012

23 Posts Quote:
 If you see the words "zero-padded" in the FFT description then trouble will ensue.
At this boundary, there is a difference, which has "zero-padded" or not.
Quote:
 failed case: [Apr 7 10:07] Starting Gerbicz error-checking PRP test of 1496893*2^336101-1 using zero-padded AVX-512 FFT length 40K, Pass1=128, Pass2=320, clm=1 success case: [Apr 7 10:06] Starting Gerbicz error-checking PRP test of 1496892*2^336101-1 using AVX-512 FFT length 32K
It seems that there is not the difference at higher boundaries.
Attached Files success.txt (3.5 KB, 17 views) fail.txt (6.5 KB, 16 views)   2019-04-07, 01:31   #41
ATH
Einyen

Dec 2003
Denmark

2·5·172 Posts Quote:
 Originally Posted by Prime95 I'm curious, does this case work: [qa] SPECIFIC_K=4344392810277 SPECIFIC_B=2 SPECIFIC_N=1310720 SPECIFIC_C=-1 CHECK_OFTEN=1 This is a rational zero-pad FFT (the known bad cases are irrational zero-pad FFT). A rational FFT occurs when the "n" in k*b^n+c is a multiple of the FFT length. In this case no weights need be applied.

Yes this works in 29.7b1 and in the first patch you released. I did not get the 2nd Prime95.exe and it is gone from dropbox.

Code:
[Sun Apr 07 01:28:16 2019]
Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=7, cbits=3
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554631632
Squares complete. MaxErr=0.078125
Test complete. MaxErr=0.078125

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=44, cbits=20
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554605702
Squares complete. MaxErr=0.078125
Test complete. MaxErr=0.078125

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=3, cbits=1
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554601446
Squares complete. MaxErr=0.06640625
Test complete. MaxErr=0.09375

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=3, cbits=1
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554620148
Squares complete. MaxErr=0.0625
Test complete. MaxErr=0.09375

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=32, cbits=15
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554604677
Squares complete. MaxErr=0.09375
Test complete. MaxErr=0.09375

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=18, cbits=1
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554610228
Squares complete. MaxErr=0.0625
Test complete. MaxErr=0.0859375

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=1, cbits=4
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554602103
Squares complete. MaxErr=0.078125
Test complete. MaxErr=0.078125

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=48, cbits=15
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554618551
Squares complete. MaxErr=0.0703125
Test complete. MaxErr=0.078125

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=23, cbits=4
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554612259
Squares complete. MaxErr=0.09375
Test complete. MaxErr=0.09375

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=10, cbits=4
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554623989
Squares complete. MaxErr=0.0703125
Test complete. MaxErr=0.078125

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=31, cbits=1
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554632653
Squares complete. MaxErr=0.0625
Test complete. MaxErr=0.078125

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=14, cbits=3
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554626612
Squares complete. MaxErr=0.06640625
Test complete. MaxErr=0.078125

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=15, cbits=3
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554622763
Squares complete. MaxErr=0.078125
Test complete. MaxErr=0.09375

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=48, cbits=20
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554629401
Squares complete. MaxErr=0.078125
Test complete. MaxErr=0.09375

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=25, cbits=6
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554632576
Squares complete. MaxErr=0.0703125
Test complete. MaxErr=0.078125

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=10, cbits=1
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554608841
Squares complete. MaxErr=0.0625
Test complete. MaxErr=0.078125

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=30, cbits=9
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554623636
Squares complete. MaxErr=0.0703125
Test complete. MaxErr=0.09375

Trying gwsetup on 4344392810277*2^1310720-1.
Starting rational QA run on 4344392810277*2^1310720-1, kbits=38, cbits=6
Using zero-padded AVX-512 FFT length 128K, Pass1=128, Pass2=1K, clm=1, virtual_bits_per_word=19.645/20.258
Random seed is 1554611523
Squares complete. MaxErr=0.0703125
Test complete. MaxErr=0.078125   2019-04-08, 02:59 #42 Prime95 P90 years forever!   Aug 2002 Yeehaw, FL 2·5·19·37 Posts I have a fix!!! The gwnum assembly code was violating the Windows 64-bit ABI (not creating a 32-byte shadow space on the stack) prior to calling C Code. This bug has been around forever. The AVX-512 code calls the C code a little differently than the other FFTs and ran afoul of this bug. Thanks to ATH for creating a MSVC 2019 environment I could log into. I'll upload new executables and source soon.   2019-04-08, 06:22   #43
Jean Penné

May 2004
FRANCE

24×5×7 Posts Congrats!

Quote:
 Originally Posted by Prime95 I have a fix!!! The gwnum assembly code was violating the Windows 64-bit ABI (not creating a 32-byte shadow space on the stack) prior to calling C Code. This bug has been around forever. The AVX-512 code calls the C code a little differently than the other FFTs and ran afoul of this bug. Thanks to ATH for creating a MSVC 2019 environment I could log into. I'll upload new executables and source soon.
That are good news!
But I am happy to see the result of this nice cooperation!

Thanks to all and Best Regards,

Jean   2019-04-08, 13:49   #44
ATH
Einyen

Dec 2003
Denmark

1011010010102 Posts Quote:
 Originally Posted by Prime95 I have a fix!!! The gwnum assembly code was violating the Windows 64-bit ABI (not creating a 32-byte shadow space on the stack) prior to calling C Code. This bug has been around forever. The AVX-512 code calls the C code a little differently than the other FFTs and ran afoul of this bug. Thanks to ATH for creating a MSVC 2019 environment I could log into. I'll upload new executables and source soon.

Great! I'm happy it helped you.

Let me know if you need the instance still, and do you need to save files from it?

Edit: I will probably leave the instance up for testing your new exec, though I'm sure you already tested Last fiddled with by ATH on 2019-04-08 at 13:55   Thread Tools Show Printable Version Email this Page Similar Threads Thread Thread Starter Forum Replies Last Post Jean Penné Software 26 2019-07-08 16:54 Jean Penné Software 28 2015-08-04 04:51 Jean Penné Software 37 2014-01-29 16:32 Jean Penné Software 37 2013-10-31 08:45 opyrt Prime Sierpinski Project 11 2010-11-18 18:24

All times are UTC. The time now is 05:05.

Tue Aug 11 05:05:06 UTC 2020 up 25 days, 51 mins, 1 user, load averages: 3.02, 3.19, 3.05