Author 
Message 
ReggieVolunteer moderator Project administrator Volunteer tester Project scientist Send message
Joined: 10 May 14 Posts: 202 ID: 311759 Credit: 175,563,967 RAC: 195,371

Thanks to the developer mfl0p, the Wieferich and WallSunSun prime searches will be coming back to PrimeGrid! You can help this process by testing the software.
A testing spreadsheet is located here: https://docs.google.com/spreadsheets/d/1dh07hIbOgjcYxFVyXcm8YW3uoSmot63RRFjp8ex8DU8/edit#gid=0. (Along with a spreadsheet that won't be updated here). Make a post in this thread to reserve a cell. Download the correct software and run the three test cases listed. Post the CRC generated for each test case here (found in resultsWW.txt), and you're done!
Notes:
For multithreading, add `t #` to the end of the command line parameters, where '#' is the number of cores you want to run.
PSA credit and the "Volunteer Tester" role will be granted for test cases run.
Even when testing is complete, the app will not be added to PrimeGrid immediately. There is more admin work that needs to be done.
Another post will be made when the app goes live, but information about the old search can be found here. 


GellyVolunteer tester
Send message
Joined: 13 Nov 16 Posts: 46 ID: 468732 Credit: 1,976,300,624 RAC: 265,756

I can reserve NvidiaLinux 


VatoVolunteer tester
Send message
Joined: 2 Feb 08 Posts: 796 ID: 18447 Credit: 385,142,707 RAC: 306,285

i'll take nvidiawindows
____________



robishVolunteer moderator Volunteer tester
Send message
Joined: 7 Jan 12 Posts: 1963 ID: 126266 Credit: 5,714,080,025 RAC: 2,283,115

Using Nvidia 2080
1 67029FBFBC1AEFB0
2 2F32CAD23BA5B1CA
3 B8B040FA3813FEB2
_______
Cpu I9 9900k
1 Checksum: 67029FBFBC1AEFB0 t6 Workunit time: 2422 sec
2 Checksum: 2F32CAD23BA5B1CA t6 Workunit time: 1746 sec
3 Checksum: B8B040FA3813FEB2 t6 Workunit time: 1902 sec
____________
My lucky numbers 1059094^{1048576}+1 and 224584605939537911+81292139*23#*n for n=0..26 


GellyVolunteer tester
Send message
Joined: 13 Nov 16 Posts: 46 ID: 468732 Credit: 1,976,300,624 RAC: 265,756

I can reserve NvidiaLinux
Done!
CRC 1) 67029FBFBC1AEFB0
CRC 2) 2F32CAD23BA5B1CA
CRC 3) B8B040FA3813FEB2
The special instances expected in the document seemed to line up pretty well (test 2 also nabbed the two wieferich primes).
Done with a GTX 960 in a decent amount of time. 


GellyVolunteer tester
Send message
Joined: 13 Nov 16 Posts: 46 ID: 468732 Credit: 1,976,300,624 RAC: 265,756

Seems like robish was rearing to go on some NvidiaX test, so I'll also reserve CPU multithreading for Linux (with a 3970x, no less!) 



I made up my own test; tried running the Windows CPU app, onethreaded, on a very short interval containing the number 567641150372894263 seen on http://ugf.de/PRPNet/2016_12_WFS_Challenge.html. Right after the run, the "nearfind" was seen in the resultsWW.txt file, so that seemed to work correctly. /JeppeSN 


GellyVolunteer tester
Send message
Joined: 13 Nov 16 Posts: 46 ID: 468732 Credit: 1,976,300,624 RAC: 265,756

Seems like robish was rearing to go on some NvidiaX test, so I'll also reserve CPU multithreading for Linux (with a 3970x, no less!)
Done!
CRC 1) 67029FBFBC1AEFB0
CRC 2) 2F32CAD23BA5B1CA
CRC 3) B8B040FA3813FEB2
Same thing as my Nvidia results. Checkpointed a lot more often, though, and failed to give an ETA at checkpoints like Nvidia did. Likely more down to implementation than any bugs.
The 3970X at 64 threads kept up with or outperformed the GTX 960 in terms of time, which is probably the wildest thing I've seen for CPU vs. GPU. Probably due to the fact that, once you get past 16 cores, the CPU gets closer to being a GPU than anything else. 


robishVolunteer moderator Volunteer tester
Send message
Joined: 7 Jan 12 Posts: 1963 ID: 126266 Credit: 5,714,080,025 RAC: 2,283,115

Seems like robish was rearing to go on some NvidiaX test, so I'll also reserve CPU multithreading for Linux (with a 3970x, no less!)
:D very fast on gpu, VERY fast ;) nice one mflop 👍
____________
My lucky numbers 1059094^{1048576}+1 and 224584605939537911+81292139*23#*n for n=0..26 


mfl0pProject administrator Volunteer developer Send message
Joined: 5 Apr 09 Posts: 227 ID: 38042 Credit: 950,182,181 RAC: 172,583

If someone tests a 3080 could you also post the primes per second average speed? Thanks 


VatoVolunteer tester
Send message
Joined: 2 Feb 08 Posts: 796 ID: 18447 Credit: 385,142,707 RAC: 306,285

i'll take nvidiawindows
Windows10, GT1030, driver 456.38  not particularly fast, but it's not a fast card
1) 67029FBFBC1AEFB0
2) 2F32CAD23BA5B1CA  plus 5257 special instances
3) B8B040FA3813FEB2  2276306935816523 is a Wieferich special instance (1 3 p)
I also ran tests again on Windows10, GTX1650MaxQ  same results, but faster = pass!
____________



GLadiVolunteer tester Send message
Joined: 16 Oct 19 Posts: 5 ID: 1205993 Credit: 5,428,367 RAC: 0

CRCs on RTX 2060 Super, Windows:
1. 67029FBFBC1AEFB0
2. 2F32CAD23BA5B1CA
3. B8B040FA3813FEB2 


Ravi FernandoProject administrator Volunteer tester Project scientist Send message
Joined: 21 Mar 19 Posts: 165 ID: 1108183 Credit: 9,814,261 RAC: 8,061

I'll take B9 (Mac CPU multithreaded). 


BurVolunteer tester
Send message
Joined: 25 Feb 20 Posts: 427 ID: 1241833 Credit: 226,360,869 RAC: 859,739

To be honest, I don't really understand the reservations system. Do you just need one test run for each scenario?
Tomorrow at work I could do a GPU test on a GTX 745 and a GTX 1660 Super. The CPUs are supposed to be doing challenge work... :D
If it's helpful, I could use some other computers for CPU testing though. Mainly slower CPUs like i3.
My laptop at home (Ryzen 5 2500 U, 4 physical cores) had the fans in overdrive after 30 s so I stopped the test. I got speeds of 128xxx p/s (single thread) and 404xxx p/s (4 threads, not assigned).
____________
1281979 * 2^485014 + 1 is prime ... no further hits up to: n = 4,300,000 



GTX 1060 6GB, driver 442.50 on Windows 10:
1) 67029FBFBC1AEFB0
2) 2F32CAD23BA5B1CA
3) 2276306935816523 is a Wieferich special instance (1 3 p)
B8B040FA3813FEB2 


ReggieVolunteer moderator Project administrator Volunteer tester Project scientist Send message
Joined: 10 May 14 Posts: 202 ID: 311759 Credit: 175,563,967 RAC: 195,371

To be honest, I don't really understand the reservations system. Do you just need one test run for each scenario?
Basically, the goal is to ensure each platform gives the expected output, including both primes and residues (CRCs). We don't want invalid/inconclusive results. 


VatoVolunteer tester
Send message
Joined: 2 Feb 08 Posts: 796 ID: 18447 Credit: 385,142,707 RAC: 306,285

I guess i'll reserve windows cpu  single & multithreaded  subject to finishing before the challenge :)
____________




Sure could test it with a i5 single or multithreaded and a 1060 3gb (on windows) but I'm having a hard time setting it up.
Anyone got a dumbed down howto for me? 


VatoVolunteer tester
Send message
Joined: 2 Feb 08 Posts: 796 ID: 18447 Credit: 385,142,707 RAC: 306,285

I guess i'll reserve windows cpu  single & multithreaded  subject to finishing before the challenge :)
Windows10, i79750H  t6 sequentially  pass
1) 67029FBFBC1AEFB0
2) 2F32CAD23BA5B1CA  plus 5257 special instances
3) B8B040FA3813FEB2  2276306935816523 is a Wieferich special instance (1 3 p)
singlethreaded underway
____________



SpearVolunteer tester
Send message
Joined: 29 Mar 09 Posts: 112 ID: 37675 Credit: 1,306,960,248 RAC: 65,454

If someone tests a 3080 could you also post the primes per second average speed? Thanks
I've a 3090 if that's of use, but the GPU link is 404. 


SpearVolunteer tester
Send message
Joined: 29 Mar 09 Posts: 112 ID: 37675 Credit: 1,306,960,248 RAC: 65,454

If someone tests a 3080 could you also post the primes per second average speed? Thanks
I've a 3090 if that's of use, but the GPU link is 404.
There's a stray s on the end of it, I have the executable now.
So for 1 and 3 I get CRCs of
67029FBFBC1AEFB0 Average speed: 87.63 Million primes per second.
and
B8B040FA3813FEB2 Average speed: 134.97 Million primes per second.
But in case 2 I don't get a CRC. The results file has two primes and 4472 special instances.
stderr suggests some unhappiness:
Detected Windows 10.0, using compute preemption.
Kernel profile: 65.608 ms. Estimated / Actual worksize: 1312000000 / 2999642969
Verifying GPU kernels using range 127 to 2000127...
GPU prime generator kernel test passed. (148957 PRPs)
GPU Wieferich/WallSunSun kernel tests passed. (142429717748 checksum, 3159 results)
Starting search...
Computation error, GPU found a composite result: 914255785
That's on Windows, nvidia driver 456.71. 


Ravi FernandoProject administrator Volunteer tester Project scientist Send message
Joined: 21 Mar 19 Posts: 165 ID: 1108183 Credit: 9,814,261 RAC: 8,061

But in case 2 I don't get a CRC. The results file has two primes and 4472 special instances.
For what it's worth, my run of case 2 found 5257 lines worth of special instancesincluding the two Wieferich primes, and doublecounting primes that are "special" for both Wieferich and WSS. 


mfl0pProject administrator Volunteer developer Send message
Joined: 5 Apr 09 Posts: 227 ID: 38042 Credit: 950,182,181 RAC: 172,583

But in case 2 I don't get a CRC. The results file has two primes and 4472 special instances.
stderr suggests some unhappiness:
Detected Windows 10.0, using compute preemption.
Kernel profile: 65.608 ms. Estimated / Actual worksize: 1312000000 / 2999642969
Verifying GPU kernels using range 127 to 2000127...
GPU prime generator kernel test passed. (148957 PRPs)
GPU Wieferich/WallSunSun kernel tests passed. (142429717748 checksum, 3159 results)
Starting search...
Computation error, GPU found a composite result: 914255785
That's on Windows, nvidia driver 456.71.
thanks for testing, i'm looking into this error. 


SpearVolunteer tester
Send message
Joined: 29 Mar 09 Posts: 112 ID: 37675 Credit: 1,306,960,248 RAC: 65,454

But in case 2 I don't get a CRC. The results file has two primes and 4472 special instances.
stderr suggests some unhappiness:
Detected Windows 10.0, using compute preemption.
Kernel profile: 65.608 ms. Estimated / Actual worksize: 1312000000 / 2999642969
Verifying GPU kernels using range 127 to 2000127...
GPU prime generator kernel test passed. (148957 PRPs)
GPU Wieferich/WallSunSun kernel tests passed. (142429717748 checksum, 3159 results)
Starting search...
Computation error, GPU found a composite result: 914255785
That's on Windows, nvidia driver 456.71.
thanks for testing, i'm looking into this error.
I found that it's fine with a parameter up to 6e8:
Checkpoint range size 599999873 processed at 600.00 Million numbers per second.
Estimated time remaining: 0s
Workunit complete. Average speed: 31.33 Million primes per second.
Checksum: 3A693971FB152B22
It's with 6e9 up it fails.



mfl0pProject administrator Volunteer developer Send message
Joined: 5 Apr 09 Posts: 227 ID: 38042 Credit: 950,182,181 RAC: 172,583

I found that it's fine with a parameter up to 6e8:
Checkpoint range size 599999873 processed at 600.00 Million numbers per second.
Estimated time remaining: 0s
Workunit complete. Average speed: 31.33 Million primes per second.
Checksum: 3A693971FB152B22
It's with 6e9 up it fails.
The error should be fixed now, if you could test the new build that would be appreciated.
I'm waiting on a new build of the Mac OpenCL app and will post to this thread when available. 


SpearVolunteer tester
Send message
Joined: 29 Mar 09 Posts: 112 ID: 37675 Credit: 1,306,960,248 RAC: 65,454

The error should be fixed now, if you could test the new build that would be appreciated.
Works now:
WWocl version 1.0 by Bryan Little
Compiled Oct 19 2020 with GCC 8.1.0
A Wieferich and WallSunSun prime number search program
Based on wwwwcl by Mark Rodenkirch and primesieve by Kim Walisch
START below minimum. Starting search at 127
Starting search at: 127
Stopping search at: 60000000000
init_data.xml not found, using device 0.
GPU Info:
Name: GeForce RTX 3090
Vendor: NVIDIA Corporation
Driver: 456.71
Compute Units: 82
Beginning a new search with parameters from the command line
Starting search...
Tests done: 19.9252%
Tests done: 39.8505%
Tests done: 59.7757%
Tests done: 79.7009%
Checkpoint: start: 127 stop: 60000000000 current: 50000000127
Checkpoint time: 11 seconds. 2119660489 primes tested (192.70 Million primes per second).
Checkpoint range size 50000000000 processed at 4545.45 Million numbers per second.
Estimated time remaining: 2s
Tests done: 96.6168%
Checkpoint: start: 127 stop: 60000000000 current: 60000000000
Checkpoint time: 2 seconds. 404384060 primes tested (202.19 Million primes per second).
Checkpoint range size 9999999873 processed at 5000.00 Million numbers per second.
Estimated time remaining: 0s
Workunit complete. Average speed: 197.44 Million primes per second.
Checksum: 2F32CAD23BA5B1CA
Results file has 5255 special instances, two primes. 


Ravi FernandoProject administrator Volunteer tester Project scientist Send message
Joined: 21 Mar 19 Posts: 165 ID: 1108183 Credit: 9,814,261 RAC: 8,061

I'll take B9 (Mac CPU multithreaded).
Done. Results:
1: no special instances
67029FBFBC1AEFB0
2: 5257 special instances, including 2 Wieferich primes
2F32CAD23BA5B1CA
3: 2276306935816523 is a Wieferich special instance (1 3 p)
B8B040FA3813FEB2 


VatoVolunteer tester
Send message
Joined: 2 Feb 08 Posts: 796 ID: 18447 Credit: 385,142,707 RAC: 306,285

I guess i'll reserve windows cpu  single & multithreaded  subject to finishing before the challenge :)
singlethreaded underway
Windows10, i74770  each singlethreaded (no t option) in parallel  pass
1) 67029FBFBC1AEFB0
2) 2F32CAD23BA5B1CA  plus 5257 special instances
3) B8B040FA3813FEB2  2276306935816523 is a Wieferich special instance (1 3 p)
____________



RafaelVolunteer tester
Send message
Joined: 22 Oct 14 Posts: 899 ID: 370496 Credit: 397,746,186 RAC: 642,819

Tested the GPU app on a Gtx 950 with 456.55. Numbers match, but there's a bit of screen lag; a B option similar to GFNSV would be appreciated if possible.
1  67029FBFBC1AEFB0
2  2F32CAD23BA5B1CA
3  B8B040FA3813FEB2
I've also ran it on an Intel HD630 (8400 iGPU) with 26.20.100.7642 for the sake of validation. And I'm happy to report that it's working as intended.
1  67029FBFBC1AEFB0
2  2F32CAD23BA5B1CA with 5257
3  2276306935816523 is a Wieferich special instance (1 3 p)
B8B040FA3813FEB2 



I'll reserve:
WindowsAMD GPU
LinuxCPU Singlethreaded 



I did not reserve, but I ran case one on a single core,
.\WWcpuwin64.exe 461168595e10 461168602e10
on a very slow laptop that was also running other computations on other cores. Result agrees with that in the spreadsheet:
...
Tests done: 99.9600%
Tests done: 99.9600%
Tests done: 99.9746%
Tests done: 99.9746%
Tests done: 99.9746%
Tests done: 99.9746%
Tests done: 99.9892%
Tests done: 99.9892%
Tests done: 99.9892%
Tests done: 99.9892%
Checkpoint time: 202 seconds. 6455292 primes tested (31956 primes per second).
Checkpoint: start: 4611685950000000000 stop: 4611686018427387904 current: 4611686018427387904
Workunit time: 50054 sec
Checksum: 67029FBFBC1AEFB0
That was slow.
/JeppeSN 



Windows AMD GPU Results:
1) .\WWoclwin64.exe 461168595e10 461168602e10
Workunit complete. Average speed: 1.34 Million primes per second.
Checksum: 67029FBFBC1AEFB0
2) .\WWoclwin64.exe 1 6e10
Workunit complete. Average speed: 3.02 Million primes per second.
Checksum: 2F32CAD23BA5B1CA
3) .\WWoclwin64.exe 227630e10 227636e10
Workunit complete. Average speed: 1.94 Million primes per second.
Checksum: B8B040FA3813FEB2
Program output GPU Info:
Name: gfx804
Vendor: Advanced Micro Devices, Inc.
Driver: 2906.10
Compute Units: 8
Task Manager Info:
CPU: Intel(R) Core(TM) i99900 CPU @ 3.10GHz
GPU: AMD Radeon Pro WX 3100
GPU Driver version: 26.20.13032.13
Winver: Version 1909 (OS Build 18363.1139)

It seems like the Linux CPU Singlethreaded tasks are taking a bit longer to finish. I'll let it run overnight and report in the morning. 


BurVolunteer tester
Send message
Joined: 25 Feb 20 Posts: 427 ID: 1241833 Credit: 226,360,869 RAC: 859,739

I am not sure if still required, I ran the GPU tests under Win 7 on a GTX 745:
Tests valid, speed was around 1M p/s.
I also had strong stuttering of cursor, so an option to suspend computation is required.
____________
1281979 * 2^485014 + 1 is prime ... no further hits up to: n = 4,300,000 



>WWoclwin64.exe 461168595e10 461168602e10 compute
WWocl version 1.0 by Bryan Little
Compiled Oct 19 2020 with GCC 8.1.0
A Wieferich and WallSunSun prime number search program
Based on wwwwcl by Mark Rodenkirch and primesieve by Kim Walisch
Compute mode enabled.
END exceeds maximum. Stopping search at 4611686018427387904
Starting search at: 4611685950000000000
Stopping search at: 4611686018427387904
init_data.xml not found, using device 0.
GPU Info:
Name: GeForce RTX 3080
Vendor: NVIDIA Corporation
Driver: 456.71
Compute Units: 68
Beginning a new search with parameters from the command line
Starting search...
Tests done: 7.9192%
Tests done: 23.7577%
Tests done: 31.6769%
Tests done: 47.5154%
Tests done: 55.4347%
Tests done: 71.2731%
Checkpoint: start: 4611685950000000000 stop: 4611686018427387904 current: 4611686000000000000
Checkpoint time: 15 seconds. 1163466430 primes tested (77.56 Million primes per second).
Checkpoint range size 50000000000 processed at 3333.33 Million numbers per second.
Estimated time remaining: 5s
Tests done: 86.2689%
Tests done: 94.1881%
Checkpoint: start: 4611685950000000000 stop: 4611686018427387904 current: 4611686018427387904
Checkpoint time: 6 seconds. 428794063 primes tested (71.47 Million primes per second).
Checkpoint range size 18427387904 processed at 3071.23 Million numbers per second.
Estimated time remaining: 0s
Workunit complete. Average speed: 74.52 Million primes per second.
Checksum: 67029FBFBC1AEFB0
>WWoclwin64.exe 1 6e10 compute
WWocl version 1.0 by Bryan Little
Compiled Oct 19 2020 with GCC 8.1.0
A Wieferich and WallSunSun prime number search program
Based on wwwwcl by Mark Rodenkirch and primesieve by Kim Walisch
Compute mode enabled.
START below minimum. Starting search at 127
Starting search at: 127
Stopping search at: 60000000000
init_data.xml not found, using device 0.
GPU Info:
Name: GeForce RTX 3080
Vendor: NVIDIA Corporation
Driver: 456.71
Compute Units: 68
Beginning a new search with parameters from the command line
Starting search...
Tests done: 15.6558%
Tests done: 31.3117%
Tests done: 46.9675%
Tests done: 62.6233%
Tests done: 78.2792%
Checkpoint: start: 127 stop: 60000000000 current: 50000000127
Checkpoint time: 13 seconds. 2119660489 primes tested (163.05 Million primes per second).
Checkpoint range size 50000000000 processed at 3846.15 Million numbers per second.
Estimated time remaining: 2s
Tests done: 93.7706%
Checkpoint: start: 127 stop: 60000000000 current: 60000000000
Checkpoint time: 2 seconds. 404384060 primes tested (202.19 Million primes per second).
Checkpoint range size 9999999873 processed at 5000.00 Million numbers per second.
Estimated time remaining: 0s
Workunit complete. Average speed: 182.62 Million primes per second.
Checksum: 2F32CAD23BA5B1CA
>WWoclwin64.exe 227630e10 227636e10 compute
WWocl version 1.0 by Bryan Little
Compiled Oct 19 2020 with GCC 8.1.0
A Wieferich and WallSunSun prime number search program
Based on wwwwcl by Mark Rodenkirch and primesieve by Kim Walisch
Compute mode enabled.
Starting search at: 2276300000000000
Stopping search at: 2276360000000000
init_data.xml not found, using device 0.
GPU Info:
Name: GeForce RTX 3080
Vendor: NVIDIA Corporation
Driver: 456.71
Compute Units: 68
Beginning a new search with parameters from the command line
Starting search...
Tests done: 10.8751%
Tests done: 32.6252%
Tests done: 43.5003%
Tests done: 54.3753%
Tests done: 76.1255%
Checkpoint: start: 2276300000000000 stop: 2276360000000000 current: 2276350000000000
Checkpoint time: 13 seconds. 1413982067 primes tested (108.77 Million primes per second).
Checkpoint range size 50000000000 processed at 3846.15 Million numbers per second.
Estimated time remaining: 2s
Tests done: 86.9584%
Tests done: 97.8334%
Checkpoint: start: 2276300000000000 stop: 2276360000000000 current: 2276360000000000
Checkpoint time: 3 seconds. 282799572 primes tested (94.27 Million primes per second).
Checkpoint range size 10000000000 processed at 3333.33 Million numbers per second.
Estimated time remaining: 0s
Workunit complete. Average speed: 101.52 Million primes per second.
Checksum: B8B040FA3813FEB2




Linux CPU Singlethreaded Results:
1) ./WWcpulinux64 461168595e10 461168602e10
Workunit time: 13722 sec
Checksum: 67029FBFBC1AEFB0
2) ./WWcpulinux64 1 6e10
Workunit time: 12334 sec
Checksum: 2F32CAD23BA5B1CA
3) ./WWcpulinux64 227630e10 227636e10
Workunit time: 13649 sec
Checksum: B8B040FA3813FEB2
Computer specs:
CPU Processors: 8, GenuineIntel, Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz [Family 6 Model 30 Stepping 5]
Os Linux Ubuntu, Ubuntu 20.04.1 LTS [5.4.052genericlibc 2.31 (Ubuntu GLIBC 2.310ubuntu9.1)] 


Dave Send message
Joined: 13 Feb 12 Posts: 2904 ID: 130544 Credit: 1,307,987,180 RAC: 3,068,639

I also had strong stuttering of cursor, so an option to suspend computation is required.
Or a tuning parameter like we had during manual sieving? "Adjust this if you experience stuttering". 



Here's more Linux CPU Singlethreaded Results:
1) ./WWcpulinux64 461168595e10 461168602e10
Workunit time: 14361 sec
Checksum: 67029FBFBC1AEFB0
2) ./WWcpulinux64 1 6e10
Workunit time: 11863 sec
Checksum: 2F32CAD23BA5B1CA
3) ./WWcpulinux64 227630e10 227636e10
Workunit time: 12807 sec
Checksum: B8B040FA3813FEB2
Computer Info:
CPU: Intel(R) Xeon(R) CPU E52673 v4 @ 2.30GHz
OS: 20.04.1 LTS (Focal Fossa)
Notes: Ran inside a pod on AKS (Azure Kubernetes Service) Version 1.17.9, Node Size Standard_D2s_v3 


mfl0pProject administrator Volunteer developer Send message
Joined: 5 Apr 09 Posts: 227 ID: 38042 Credit: 950,182,181 RAC: 172,583

Mac OpenCL app is available for testing. 


BurVolunteer tester
Send message
Joined: 25 Feb 20 Posts: 427 ID: 1241833 Credit: 226,360,869 RAC: 859,739

Can you estimate a rough timeline? Will it first be available in PSA or go straight to PG?
I read a bit about Wieferich primes and I find it quite exciting that it's conjectured there are infinitely many and yet we only know of two small ones. And it's available for GPU. So I'm really looking forward to it.
Who knows though, maybe the third Wieferich prime will be in Gogol realm? Of course that means that this subproject might run for years without finding anything but at least we'd have pushed the boundary.
I didn't really understand the concept of nearWieferich, though. I thought it meant that p^2 doesn't divide 2^(p1)  1, but that it does divide 2^(p1)  A.
However, this doesn't seem to be the case, as quoted from this thread: "A prime p satisfying the congruence 2^((p−1)/2) ≡ ±1 + Ap (mod p^2) with small A is commonly called a nearWieferich prime." Why is it divided by 2 and why is the 1 gone? Is it possible to explain using an example?
____________
1281979 * 2^485014 + 1 is prime ... no further hits up to: n = 4,300,000 


Michael GoetzVolunteer moderator Project administrator
Send message
Joined: 21 Jan 10 Posts: 13633 ID: 53948 Credit: 281,069,629 RAC: 33,912

Can you estimate a rough timeline? Will it first be available in PSA or go straight to PG?
The major change to the software, at least one of the major changes, is to allow WW to run on BOINC. It used to run on PRPNet. So it's going to be a BOINC project. Timing is "as soon as it's ready".
____________
My lucky number is 75898^{524288}+1 


Ravi FernandoProject administrator Volunteer tester Project scientist Send message
Joined: 21 Mar 19 Posts: 165 ID: 1108183 Credit: 9,814,261 RAC: 8,061

I didn't really understand the concept of nearWieferich, though. I thought it meant that p^2 doesn't divide 2^(p1)  1, but that it does divide 2^(p1)  A.
However, this doesn't seem to be the case, as quoted from this thread: "A prime p satisfying the congruence 2^((p−1)/2) ≡ ±1 + Ap (mod p^2) with small A is commonly called a nearWieferich prime." Why is it divided by 2 and why is the 1 gone? Is it possible to explain using an example?
That's one definition. An alternative definition would be that 2^(p1) ≡ 1 + Bp (mod p^2) where B is small. The multiplication by p is important: Fermat's little theorem tells us that 2^(p1) is always congruent to 1 mod p, so the "error term" will always be a multiple of p.
A corollary of Fermat's little theorem is that 2^((p1)/2) is always congruent to 1 or 1 mod p, because its square is 2^(p1) ≡ 1 mod p. It follows that 2^((p−1)/2) ≡ ±1 + Ap (mod p^2) for some A, which leads to the definition you quoted.
I'm not sure why people prefer one definition over the other. Both are reasonable in the sense that a Wieferich prime is precisely the same as a nearWieferich prime with A = 0 (resp. B = 0). One possible reason to prefer the (p1)/2 definition is that it requires slightly less calculation to detect. (I'm not a software person, but it's probably a 11.5% speedup.) We calculate powers of 2 modulo p^2 by repeated squaring, and calculating 2^((p−1)/2) (mod p^2) requires one fewer operation than calculating 2^(p1). That last operation isn't necessary for identifying Wieferich primes (we can just check if 2^((p−1)/2) ≡ ±1), and it would seem wasteful to do the extra multiplication solely because we care about a particular definition of nearWieferich primes. 


ReggieVolunteer moderator Project administrator Volunteer tester Project scientist Send message
Joined: 10 May 14 Posts: 202 ID: 311759 Credit: 175,563,967 RAC: 195,371

Can you estimate a rough timeline? Will it first be available in PSA or go straight to PG?
Here's a slightly better rough timeline: end of November +/ a month. I'm hoping to get everything done over Thanksgiving break, but it'll definitely be done before my winter break ends. 


BurVolunteer tester
Send message
Joined: 25 Feb 20 Posts: 427 ID: 1241833 Credit: 226,360,869 RAC: 859,739

That's one definition. An alternative definition would be that 2^(p1) ≡ 1 + Bp (mod p^2) where B is small. The multiplication by p is important: Fermat's little theorem tells us that 2^(p1) is always congruent to 1 mod p, so the "error term" will always be a multiple of p. So 2^(p1)  1 is always divisible by p according to Fermat's little theorem? Just trying to rephrase without using mod. I tested this for primes up to 59 and apparently, it's correct. ;) Interesting way to test for primality.
And iff (ha!) 2^(p1)  1 is also divisible by p^2 then p is a Wieferich prime? It seems so, at least it worked for 1093 and 3511 an no other primes I checked.
And to write nearWieferich without mod (sorry, but it's easier to grasp for me) would be: 2^(p1)  (1+Bp) is divisible by p^2? Now this list makes sense to me. Thanks!
In conclusion, the special thing about Wieferich primes is that their square is dividing 2^(p1)  1 as opposed to just p which is always the case?
Here's a slightly better rough timeline: end of November +/ a month. That's great to hear. To me finding "the next large prime" doesn't have that much appeal, but finding rare and special primes for some reason I really do enjoy. And if such a subproject can use the GPU, even better.
____________
1281979 * 2^485014 + 1 is prime ... no further hits up to: n = 4,300,000 


Ravi FernandoProject administrator Volunteer tester Project scientist Send message
Joined: 21 Mar 19 Posts: 165 ID: 1108183 Credit: 9,814,261 RAC: 8,061

So 2^(p1)  1 is always divisible by p according to Fermat's little theorem? Just trying to rephrase without using mod. I tested this for primes up to 59 and apparently, it's correct. ;) Interesting way to test for primality. Yes, that's true for all primes (other than p = 2). Unfortunately it's also true for some composite numbers p. These are called base2 pseudoprimes, and they include all Carmichael numbers (561, 1105, 1729, etc.) as well as some other composites like 341. So Fermat's little theorem gives a PRP test, not a true primality test.
And iff (ha!) 2^(p1)  1 is also divisible by p^2 then p is a Wieferich prime? It seems so, at least it worked for 1093 and 3511 an no other primes I checked.
And to write nearWieferich without mod (sorry, but it's easier to grasp for me) would be: 2^(p1)  (1+Bp) is divisible by p^2? Now this list makes sense to me. Thanks!
In conclusion, the special thing about Wieferich primes is that their square is dividing 2^(p1)  1 as opposed to just p which is always the case? Yep!




Thanks to the developer mfl0p, the Wieferich and WallSunSun prime searches will be coming back to PrimeGrid!
Absolutely awesome! 


BurVolunteer tester
Send message
Joined: 25 Feb 20 Posts: 427 ID: 1241833 Credit: 226,360,869 RAC: 859,739

Wikipedia quotes this paper that between x and y we find log(log(y))/log(x) Wieferich primes.
Am I correct that this means, that if we say x = 10^14 (no unknown WPs below that), then there is 1 WP up to y = 10^(10^14)? That's a number with 10^14 digits...
Of course it might turn up early in the range or the assumption might be wrong, but if it's true, the search is quite an endeavour. On the other hand, even if we find nothing we at least determine the new lower limit.
edit: I thought about it and I think we have to say x = 10^5 as that's the magnitude where no WPs are known from. Then one should have turned up between that and 10^(10^5) which apparently it didn't. So we're overdue and the project got less of an endeavour. ;)
Another question, what is the reason to define W and WSS primes the way they are and why assume that there are any?
____________
1281979 * 2^485014 + 1 is prime ... no further hits up to: n = 4,300,000 


Ravi FernandoProject administrator Volunteer tester Project scientist Send message
Joined: 21 Mar 19 Posts: 165 ID: 1108183 Credit: 9,814,261 RAC: 8,061

Wikipedia quotes this paper that between x and y we find log(log(y))/log(x) Wieferich primes.
Am I correct that this means, that if we say x = 10^14 (no unknown WPs below that), then there is 1 WP up to y = 10^(10^14)? That's a number with 10^14 digits...
No, the parentheses are in the wrong places. It's ln(ln(y)/ln(x)). So on average, there should be one Wieferich prime between x and x^e. That's still extremely rare, but much better than one between x and e^x (or 10^x). 



Wikipedia quotes this paper that between x and y we find log(log(y))/log(x) Wieferich primes.
Am I correct that this means, that if we say x = 10^14 (no unknown WPs below that), then there is 1 WP up to y = 10^(10^14)? That's a number with 10^14 digits...
No, the parentheses are in the wrong places. It's ln(ln(y)/ln(x)). So on average, there should be one Wieferich prime between x and x^e. That's still extremely rare, but much better than one between x and e^x (or 10^x).
So if we say we start from 10^14, then in the interval from there and to 10^(14*e) = 1.1*10^38 there should be 1.0 Wieferich prime on average.
However, I think our software can search only to about 4.6*10^18 (that is 2^62).
Also, when we did Wieferichs last time (but without double checking), we passed 6*10^17. So much of the upcoming work is checking and double checking the old range.
In the interval from 6*10^17 to 4.6*10^18, the number of Wieferich primes expected is 0.05.
/JeppeSN 



I was a bit bored and did some AMD GPU testing for the Linux OpenCL app using my RX 480. In short: the tests passed, but I was using Mesa (not the amdgpupro driver), which I hope doesn't invalidate the result completely. (I'm also using Ubuntu 20.10, for which there is apparently no amdgpupro release at the moment.)
GPU Info:
Name: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.38.0, 5.8.025generic, LLVM 11.0.0)
Vendor: AMD
Driver: 20.3.0devel
Compute Units: 36
1) Checksum: 67029FBFBC1AEFB0; took approximately 308 seconds (5.18 million primes per second).
2) Checksum: 2F32CAD23BA5B1CA; took approximately 215 seconds (11.54 million primes per second). Identified both Wieferich primes:
<...>
1091 is a Wieferich special instance (1 +386 p)
1091 is a WallSunSun special instance (+0 +594 p)
1093 is a Wieferich prime
1093 is a WallSunSun special instance (+0 +770 p)
1097 is a Wieferich special instance (+1 +825 p)
<...>
3491 is a Wieferich special instance (1 870 p)
3499 is a WallSunSun special instance (+0 +162 p)
3511 is a Wieferich prime
3511 is a WallSunSun special instance (+0 974 p)
3517 is a Wieferich special instance (1 +677 p)
<...>
3) Checksum: B8B040FA3813FEB2; took approximately 239 seconds (7.09 million primes per second). Identified the special instance:
2276306935816523 is a Wieferich special instance (1 3 p)




I tried completing the mac single threaded test, but can't because "“WW_cpu_macintel64” cannot be opened because the developer cannot be verified."
____________



BurVolunteer tester
Send message
Joined: 25 Feb 20 Posts: 427 ID: 1241833 Credit: 226,360,869 RAC: 859,739

So on average, there should be one Wieferich prime between x and x^e And it's ln not log? Someone should edit the wiki article.
So if we say we start from 10^14, then in the interval from there and to 10^(14*e) = 1.1*10^38 there should be 1.0 Wieferich prime on average. I'm pretty sure to estimate probabilities, we should start the calculation from 10^5 since it doesn't matter if PG determined that no WP is found between 10^5 and 10^14 or someone else. Or is that one of those counterintuitive probability things? Now that I think about it, if I roll 1000 times without hitting a 6, that still means, that within the next 6 I will on average roll one 6. So I guess you're right and I should edit my post, but I keep this in here for entertainment... ;)
Keep in mind though, that if there is 1 WP on average in a certain range, that just means we have a 11/e chance of actually finding one there  or about 63%. Which makes matter sort of worse, but on the other hand it means that at about 70% completion we already have a 50% chance having found one.
Also, when we did Wieferichs last time (but without double checking), we passed 6*10^17. So much of the upcoming work is checking and double checking the old range.
Interesting, so once doublechecking is done, literature will have to quote a new upper bound.
In the interval from 6*10^17 to 4.6*10^18, the number of Wieferich primes expected is 0.05. Now how does that translate into the probability for still finding one?
____________
1281979 * 2^485014 + 1 is prime ... no further hits up to: n = 4,300,000 



And it's ln not log? Someone should edit the wiki article.
In pure mathematics, expect the natural logarithm. The notation log is often used for the natural logarithm, but also for the socalled common logarithm. See also Logarithm § Particular bases.
Or is that one of those counterintuitive probability things? Now that I think about it, if I roll 1000 times without hitting a 6, that still means, that within the next 6 I will on average roll one 6.
Good way of thinking of it.
In the interval from 6*10^17 to 4.6*10^18, the number of Wieferich primes expected is 0.05. Now how does that translate into the probability for still finding one?
Maybe the probability of finding Wieferich primes with this software is 0.05?
/JeppeSN 


BurVolunteer tester
Send message
Joined: 25 Feb 20 Posts: 427 ID: 1241833 Credit: 226,360,869 RAC: 859,739

What I meant is, if on average I roll 1 "six" in 6 rolls, that doesn't mean the probability for that to occur is 100%. So if on average I get 0.05 WPs in a certain range, what is the percentage probability to find 1 (or more)? 5% of that of finding 0.05? Which should be around 3%.
____________
1281979 * 2^485014 + 1 is prime ... no further hits up to: n = 4,300,000 



Are any tests still in need of testing? What's the current status to getting WW into live, credit crunching status?
____________
My lucky #: 60133106^131072+1 (GFN 17mega) 


Ravi FernandoProject administrator Volunteer tester Project scientist Send message
Joined: 21 Mar 19 Posts: 165 ID: 1108183 Credit: 9,814,261 RAC: 8,061

I will do B8 (Mac singlethreaded). 


ReggieVolunteer moderator Project administrator Volunteer tester Project scientist Send message
Joined: 10 May 14 Posts: 202 ID: 311759 Credit: 175,563,967 RAC: 195,371

Are any tests still in need of testing?
Both Nvidia and AMD GPU Mac tests are available. Both aren't necessarily needed, but I'd like at least one Mac OpenCL test done.
What's the current status to getting WW into live, credit crunching status?
Admin work is needed. My current plan is to finish it up during my Thanksgiving break, though there's a chance it'll be pushed off till December. 



Are any tests still in need of testing?
Both Nvidia and AMD GPU Mac tests are available. Both aren't necessarily needed, but I'd like at least one Mac OpenCL test done.
This means AMD GPU on Mac? I can try to do that.
I am not sure there will be much luck finding Nvidia on Mac, as that is not officially supported. There are hacks to do that though.
Edit: Not exactly sure what I am supposed to do with this. Are there instruction somewhere that I missed? I tried running the file, but it was not executable by default. So I chmod 777 WW_opencl_macintel64, and then ran it.
Edit2: I tried running the example, but I see a problem. It is trying to run it on the intel GPU (in the CPU), rather than the AMD GPU. How do I make it run on the AMD GPU instead?
% ./WW_opencl_macintel64 10000000 20000000 testprimes compute debug
WWocl version 1.0 by Bryan Little
Compiled Oct 29 2020 with GCC Apple LLVM 12.0.0 (clang1200.0.32.2)
A Wieferich and WallSunSun prime number search program
Based on wwwwcl by Mark Rodenkirch and primesieve by Kim Walisch
Comparing all GPU generated primes with CPU generated primes.
Compute mode enabled.
Debug info enabled.
Starting search at: 10000000
Stopping search at: 20000000
init_data.xml not found, using device 0.
GPU Info:
Name: Intel(R) UHD Graphics 630
Vendor: Intel Inc.
Driver: 1.2(Oct 7 2020 21:50:23)
Compute Units: 24
Compiling clearn...
Kernel workgroup size: 256
Compiling wieferich...
Error on buildProgram
RequestingInfo
Build Log for wieferich_program:
<program source>:117:15: warning: comparison of integers of different signs: 'long' and 'ulong' (aka 'unsigned long')
if (xb_rem >= thePrime) { xb_rem = thePrime; }
~~~~~~ ^ ~~~~~~~~
<program source>:169:14: warning: comparison of integers of different signs: 'long' and 'ulong' (aka 'unsigned long')
if (xb_rem >= thePrime) { xb_rem = thePrime; }
~~~~~~ ^ ~~~~~~~~
error: undefined reference to `_Z8atom_addPVU8CLglobalmm()'
error: backend compiler failed build.
CL_BUILD_PROGRAM_FAILURE
____________
Reno, NV




I'm not a mac user, but I decided to give this a try on a friend's mac mini to see what would happen.
Running binary from commit 84a5282 I got the following error:
./WW_opencl_macintel64 461168595e10 461168602e10 debug
WWocl version 1.0 by Bryan Little
Compiled Oct 29 2020 with GCC Apple LLVM 12.0.0 (clang1200.0.32.2)
A Wieferich and WallSunSun prime number search program
Based on wwwwcl by Mark Rodenkirch and primesieve by Kim Walisch
Debug info enabled.
END exceeds maximum. Stopping search at 4611686018427387904
Starting search at: 4611685950000000000
Stopping search at: 4611686018427387904
init_data.xml not found, using device 0.
GPU Info:
Name: Intel(R) UHD Graphics 630
Vendor: Intel Inc.
Driver: 1.2(Aug 31 2020 22:24:18)
Compute Units: 24
Compiling clearn...
Kernel workgroup size: 256
Compiling wieferich...
Error on buildProgram
RequestingInfo
Build Log for wieferich_program:
<program source>:117:15: warning: comparison of integers of different signs: 'long' and 'ulong' (aka 'unsigned long')
if (xb_rem >= thePrime) { xb_rem = thePrime; }
~~~~~~ ^ ~~~~~~~~
<program source>:169:14: warning: comparison of integers of different signs: 'long' and 'ulong' (aka 'unsigned long')
if (xb_rem >= thePrime) { xb_rem = thePrime; }
~~~~~~ ^ ~~~~~~~~
error: undefined reference to `_Z8atom_addPVU8CLglobalmm()'
error: backend compiler failed build.
CL_BUILD_PROGRAM_FAILURE
This error is pretty cryptic, so i'm not sure if this is an error with the binary, using integrated GPUs, or even a driver/opencl install error. I suspect BOINC won't run on integrated GPUs so it's likely not a valid test, but decided to post here incase it helps out.
Other computer stats:
Model: Mac mini (2018)
Processor: 3.2 GHz 6Core Intel Core i7
OS: Version 10.15.7
Graphics: Intel UHD Graphics 630 1536MB 


mfl0pProject administrator Volunteer developer Send message
Joined: 5 Apr 09 Posts: 227 ID: 38042 Credit: 950,182,181 RAC: 172,583

you need to run the program 3 times, with the search range parameters like this:
./WW_opencl_macintel64 461168595e10 461168602e10
expected checksum: 67029FBFBC1AEFB0
./WW_opencl_macintel64 1 6e10
expected checksum: 2F32CAD23BA5B1CA
./WW_opencl_macintel64 227630e10 227636e10
expected checksum: B8B040FA3813FEB2
to run on the AMD gpu and not Intel, try making a file called init_data.xml containing
<app_init_data>
<gpu_type>ATI</gpu_type>
<gpu_device_num>0</gpu_device_num>
</app_init_data>
and put it in the same directory. 



AMD Mac: all three checksums match
____________
Reno, NV




In testing an old AMD Radeon HD 6750, I got the following error:
line 18: error: can't enable all OpenCL extensions or unrecognized OpenCL extension
#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
^
line 222: error: function "atom_add" declared implicitly
atom_add( &checksum[0], w_quot & UINT32_MAX );
^
2 errors detected in the compilation
In talking with mfl0p on Discord, it appears that the graphics card must support the "cl_khr_int64_base_atomics" (64 bit atomic operations) OpenCL extension.
I assume this requirement will be better documented when the project goes live, just wanted to put a note here incase anyone else happens to come across this issue. 


Ravi FernandoProject administrator Volunteer tester Project scientist Send message
Joined: 21 Mar 19 Posts: 165 ID: 1108183 Credit: 9,814,261 RAC: 8,061

I will do B8 (Mac singlethreaded).
Done. All checksums and special instances match. 


ReggieVolunteer moderator Project administrator Volunteer tester Project scientist Send message
Joined: 10 May 14 Posts: 202 ID: 311759 Credit: 175,563,967 RAC: 195,371

Testing is completed! PSA credit has been awarded and the "Volunteer tester" role has been given out for everyone who didn't already have it. Thank you to everyone that helped out! 



Can't wait to see this drop into production! :)
____________
My lucky #: 60133106^131072+1 (GFN 17mega) 


BurVolunteer tester
Send message
Joined: 25 Feb 20 Posts: 427 ID: 1241833 Credit: 226,360,869 RAC: 859,739

Same here, it's like venturing into unknown territory, it might well be that no prime will be found, but if so, it'll be something major. Maybe more important than any other subproject?
I read on wikipedia that the old project on PG was scrapped because it didn't feature checksums for doublechecking, so at first we'll redo the old range?
____________
1281979 * 2^485014 + 1 is prime ... no further hits up to: n = 4,300,000 



I read on wikipedia that the old project on PG was scrapped because it didn't feature checksums for doublechecking, so at first we'll redo the old range?
They said on Discord, August 28: "the plan (which isn't set in stone) is to start WW where the PRPNet search started."
We can see something about the search history (and where PrimeGrid started) for Wieferich and for WallSūnSūn.
The new app sieves for primes in an interval and checks all for both the Wieferich property and the WallSūnSūn property simultaneously.
/JeppeSN 



When do we think WW will be "live"? Still by end of November?
____________



BurVolunteer tester
Send message
Joined: 25 Feb 20 Posts: 427 ID: 1241833 Credit: 226,360,869 RAC: 859,739

Some interesting info about Wieferich numbers: https://www.numbersaplenty.com/set/Wieferich_number/
A Wieferich prime is a Wieferich number 2^eulerphi(n) _= 1 mod(n^2) where n is prime and thus eulerphi(n) = n1. Only 104 Wieferich numbers are known and according to the site I linked it has been proven that there can only be more if another Wieferich prime exists.
There are also Wilson primes, there (p1)! + 1 is divisible by p^2. Only three are known... so far. ;)
____________
1281979 * 2^485014 + 1 is prime ... no further hits up to: n = 4,300,000 

