Close

The new gPEAC scanner

A project log for PEAC Pisano with End-Around Carry algorithm

Add X to Y and Y to X, says the song. And carry on.

yann-guidon-ygdesYann Guidon / YGDES 05/06/2023 at 07:320 Comments

Howdy. After a year of work, the new optimised scanner scans the range 12 to 20000 in 6 minutes:

19991
19992
19993 M
19994
19995 M
19996 M
19997
19998
19999
20000
4633 candidates among 19988 numbers (23.17891%)
2506 hits among 4633 candidates (54.09022%)
353.39user 0.18system 5:56.71elapsed 99%CPU 

It could be even faster but tee adds a significant overhead, which should be reduced when the scanner hits higher moduli. In fact, without tee, the whole process takes 5 minutes (4:52.78elapsed 99%CPU)

All the optimisations have their effect.: peep-hole optimisation in asm, deep pre-sieving, stopping the scan when it exceeds the maximal threshold, ... Now, I'll spread the work across 2 computers with 12 cores each, and there is the question of how to best distribute the workload statically. If only I had a ThreaRipper... The program doesn't use pthreads and I wonder if that would be a real solution.

Meanwhile, gPEAC_scan.tgz does the job.

Discussions