![]() |
When running the current build on GIT on an Ivy Bridge processor, I get an invalid instruction error (MULX, since Ivy Bridge does not support BMI(2)) at 0x000000013F571B43. This happens when the prompt ([C]>> [/C]) is already displayed. Is the processor too old to be supported out of the box?
|
2.07 looping
I've just had an incidence of version 2.07 looping. I'm factoring a C95 cofactor of 91+67.70, and it finds a PRP12 pretty quickly.
[CODE]11/09/21 10:56:48, 11/09/21 10:56:48, **************************** 11/09/21 10:56:48, Starting factorization of 37326054197207092012449090827705952368469419408554473227653125359479846855729858064360761261 11/09/21 10:56:48, using pretesting plan: noecm 11/09/21 10:56:48, no tune info: using qs/gnfs crossover of 95 digits 11/09/21 10:56:48, no tune info: using qs/snfs crossover of 75 digits 11/09/21 10:56:48, **************************** 11/09/21 10:56:48, rho: x^2 + 3, starting 1000 iterations on C92 11/09/21 10:56:48, rho: x^2 + 2, starting 1000 iterations on C92 11/09/21 10:56:48, prp12 = 129399203081 11/09/21 10:56:48, rho: x^2 + 2, starting 1000 iterations on C81 11/09/21 10:56:48, rho: x^2 + 1, starting 1000 iterations on C81 11/09/21 10:56:49, pm1: starting B1 = 150K, B2 = gmp-ecm default on C81 11/09/21 10:56:49, final ECM pretested depth: 0.00 11/09/21 10:56:49, scheduler: switching to sieve method 11/09/21 10:56:49, starting SIQS on c81: 288456600260838603397898547740484692177664798616755193922608276433886354497755781 11/09/21 10:56:49, random seed: 12023120550948929971 11/09/21 10:57:29, ==== sieve params ==== 11/09/21 10:57:29, n = 82 digits, 273 bits 11/09/21 10:57:29, factor base: 49712 primes (max prime = 1290539) 11/09/21 10:57:29, single large prime cutoff: 122601205 (95 * pmax) 11/09/21 10:57:29, double large prime range from 1665490910521 to 362485408947117 11/09/21 10:57:29, DLP MFB = 1.80 11/09/21 10:57:29, allocating 7 large prime slices of factor base 11/09/21 10:57:29, buckets hold 2048 elements 11/09/21 10:57:29, large prime hashtables have 802816 bytes 11/09/21 10:57:29, using AVX2 enabled 32k sieve core 11/09/21 10:57:29, sieve interval: 7 blocks of size 32768 11/09/21 10:57:29, polynomial A has ~ 10 factors 11/09/21 10:57:29, using multiplier of 29 11/09/21 10:57:29, using multiplier of 29 11/09/21 10:57:29, using Q2(x) polynomials for kN mod 8 = 1 11/09/21 10:57:29, using SPV correction of 21 bits, starting at offset 34 11/09/21 10:57:29, trial factoring cutoff at 85 bits 11/09/21 10:57:29, ==== sieving started ( 4 threads) ==== 11/09/21 10:58:27, trial division touched 12767107 sieve locations out of 51825213440 11/09/21 10:58:27, total reports = 12767107, total surviving reports = 3209794 11/09/21 10:58:27, total blocks sieved = 1581580, avg surviving reports per block = 2.03 11/09/21 10:58:27, dlp-ecm: 1 failures, 211956 attempts, 1466779 outside range, 1303807 prp, 204221 useful 11/09/21 10:58:27, 50298 relations found: 19524 full + 30774 from 411949 partial, using 112970 polys (437 A polys) 11/09/21 10:58:27, on average, sieving found 3.82 rels/poly and 4377.39 rels/sec 11/09/21 10:58:27, trial division touched 12767107 sieve locations out of 51825213440 11/09/21 10:58:27, ==== post processing stage (msieve-1.38) ==== 11/09/21 10:58:27, QS elapsed time = 98.5686 seconds. 11/09/21 10:58:28, begin singleton removal with 431473 relations 11/09/21 10:58:28, reduce to 94979 relations in 9 passes 11/09/21 10:58:29, recovered 94979 relations 11/09/21 10:58:29, recovered 64291 polynomials 11/09/21 10:58:29, attempting to build 50298 cycles 11/09/21 10:58:29, found 50298 cycles from 94979 relations in 4 passes 11/09/21 10:58:29, distribution of cycle lengths: 11/09/21 10:58:29, length 1 : 19524 11/09/21 10:58:29, length 2 : 14882 11/09/21 10:58:29, length 3 : 8517 11/09/21 10:58:29, length 4 : 4253 11/09/21 10:58:29, length 5 : 1830 11/09/21 10:58:29, length 6 : 768 11/09/21 10:58:29, length 7 : 322 11/09/21 10:58:29, length 9+: 202 11/09/21 10:58:29, largest cycle: 15 relations 11/09/21 10:58:29, matrix is 49712 x 50298 (9.2 MB) with weight 2012082 (40.00/col) 11/09/21 10:58:29, sparse part has weight 2012082 (40.00/col) 11/09/21 10:58:29, filtering completed in 4 passes 11/09/21 10:58:29, matrix is 39980 x 40044 (7.5 MB) with weight 1648559 (41.17/col) 11/09/21 10:58:29, sparse part has weight 1648559 (41.17/col) 11/09/21 10:58:29, saving the first 48 matrix rows for later 11/09/21 10:58:29, matrix is 39932 x 40044 (6.4 MB) with weight 1394921 (34.83/col) 11/09/21 10:58:29, sparse part has weight 1275284 (31.85/col) 11/09/21 10:58:29, matrix includes 64 packed rows 11/09/21 10:58:29, using block size 16017 for processor cache size 6144 kB 11/09/21 10:58:29, commencing Lanczos iteration 11/09/21 10:58:29, memory use: 5.5 MB 11/09/21 10:58:33, lanczos halted after 633 iterations (dim = 39928) 11/09/21 10:58:33, recovered 17 nontrivial dependencies 11/09/21 10:58:34, Lanczos elapsed time = 5.3160 seconds. 11/09/21 10:58:34, Sqrt elapsed time = 0.8240 seconds. 11/09/21 10:58:34, SIQS elapsed time = 104.7100 seconds. 11/09/21 10:58:34, [/CODE] At this point it tries again, with a different random seed [CODE]11/09/21 10:58:34, final ECM pretested depth: 0.00 11/09/21 10:58:34, scheduler: switching to sieve method 11/09/21 10:58:34, starting SIQS on c81: 288456600260838603397898547740484692177664798616755193922608276433886354497755781 11/09/21 10:58:34, random seed: 16728249449343881367 11/09/21 10:58:54, ==== sieve params ==== 11/09/21 10:58:54, n = 82 digits, 273 bits 11/09/21 10:58:54, factor base: 49712 primes (max prime = 1290539) 11/09/21 10:58:54, single large prime cutoff: 122601205 (95 * pmax) 11/09/21 10:58:54, double large prime range from 1665490910521 to 362485408947117 11/09/21 10:58:54, DLP MFB = 1.80 11/09/21 10:58:54, using AVX2 enabled 32k sieve core 11/09/21 10:58:54, sieve interval: 7 blocks of size 32768 11/09/21 10:58:54, polynomial A has ~ 10 factors 11/09/21 10:58:54, using multiplier of 29 11/09/21 10:58:54, using multiplier of 29 11/09/21 10:58:54, using Q2(x) polynomials for kN mod 8 = 1 11/09/21 10:58:54, using SPV correction of 21 bits, starting at offset 34 11/09/21 10:58:54, trial factoring cutoff at 85 bits 11/09/21 10:58:54, ==== sieving started ( 4 threads) ==== 11/09/21 10:58:54, trial division touched 0 sieve locations out of 0 11/09/21 10:58:54, total reports = 0, total surviving reports = 0 11/09/21 10:58:54, total blocks sieved = 0, avg surviving reports per block = -nan(ind) 11/09/21 10:58:54, dlp-ecm: 0 failures, 0 attempts, 0 outside range, 0 prp, 0 useful 11/09/21 10:58:54, 50299 relations found: 19524 full + 30775 from 411950 partial, using 0 polys (-1 A polys) 11/09/21 10:58:54, on average, sieving found inf rels/poly and 21100.86 rels/sec 11/09/21 10:58:54, trial division touched 0 sieve locations out of 0 11/09/21 10:58:54, ==== post processing stage (msieve-1.38) ==== 11/09/21 10:58:54, QS elapsed time = 20.4612 seconds. 11/09/21 10:58:54, begin singleton removal with 431473 relations 11/09/21 10:58:54, reduce to 94980 relations in 9 passes 11/09/21 10:58:55, recovered 94980 relations 11/09/21 10:58:55, recovered 64292 polynomials 11/09/21 10:58:55, attempting to build 50298 cycles 11/09/21 10:58:55, found 50298 cycles from 94980 relations in 4 passes 11/09/21 10:58:55, distribution of cycle lengths: 11/09/21 10:58:55, length 1 : 19524 11/09/21 10:58:55, length 2 : 14882 11/09/21 10:58:55, length 3 : 8517 11/09/21 10:58:55, length 4 : 4253 11/09/21 10:58:55, length 5 : 1830 11/09/21 10:58:55, length 6 : 768 11/09/21 10:58:55, length 7 : 322 11/09/21 10:58:55, length 9+: 202 11/09/21 10:58:55, largest cycle: 15 relations 11/09/21 10:58:56, matrix is 49712 x 50298 (9.2 MB) with weight 2012093 (40.00/col) 11/09/21 10:58:56, sparse part has weight 2012093 (40.00/col) 11/09/21 10:58:56, filtering completed in 4 passes 11/09/21 10:58:56, matrix is 39980 x 40044 (7.5 MB) with weight 1648559 (41.17/col) 11/09/21 10:58:56, sparse part has weight 1648559 (41.17/col) 11/09/21 10:58:56, saving the first 48 matrix rows for later 11/09/21 10:58:56, matrix is 39932 x 40044 (6.4 MB) with weight 1394921 (34.83/col) 11/09/21 10:58:56, sparse part has weight 1275284 (31.85/col) 11/09/21 10:58:56, matrix includes 64 packed rows 11/09/21 10:58:56, using block size 16017 for processor cache size 6144 kB 11/09/21 10:58:56, commencing Lanczos iteration 11/09/21 10:58:56, memory use: 5.5 MB 11/09/21 10:58:59, lanczos halted after 633 iterations (dim = 39928) 11/09/21 10:58:59, recovered 17 nontrivial dependencies 11/09/21 10:59:00, Lanczos elapsed time = 5.2600 seconds. 11/09/21 10:59:00, Sqrt elapsed time = 0.7970 seconds. 11/09/21 10:59:00, SIQS elapsed time = 26.5175 seconds. 11/09/21 10:59:00, 11/09/21 10:59:00, 11/09/21 10:59:00, final ECM pretested depth: 0.00 11/09/21 10:59:00, scheduler: switching to sieve method 11/09/21 10:59:00, starting SIQS on c81: 288456600260838603397898547740484692177664798616755193922608276433886354497755781 11/09/21 10:59:00, random seed: 3384743676930672059 11/09/21 10:59:21, ==== sieve params ==== 11/09/21 10:59:21, n = 82 digits, 273 bits 11/09/21 10:59:21, factor base: 49712 primes (max prime = 1290539) 11/09/21 10:59:21, single large prime cutoff: 122601205 (95 * pmax) 11/09/21 10:59:21, double large prime range from 1665490910521 to 362485408947117 11/09/21 10:59:21, DLP MFB = 1.80 11/09/21 10:59:21, using AVX2 enabled 32k sieve core 11/09/21 10:59:21, sieve interval: 7 blocks of size 32768 11/09/21 10:59:21, polynomial A has ~ 10 factors 11/09/21 10:59:21, using multiplier of 29 11/09/21 10:59:21, using multiplier of 29 11/09/21 10:59:21, using Q2(x) polynomials for kN mod 8 = 1 11/09/21 10:59:21, using SPV correction of 21 bits, starting at offset 34 11/09/21 10:59:21, trial factoring cutoff at 85 bits 11/09/21 10:59:21, ==== sieving started ( 4 threads) ==== 11/09/21 10:59:21, trial division touched 0 sieve locations out of 0 11/09/21 10:59:21, total reports = 0, total surviving reports = 0 11/09/21 10:59:21, total blocks sieved = 0, avg surviving reports per block = -nan(ind) 11/09/21 10:59:21, dlp-ecm: 0 failures, 0 attempts, 0 outside range, 0 prp, 0 useful 11/09/21 10:59:21, 50299 relations found: 19524 full + 30775 from 411950 partial, using 0 polys (-1 A polys) 11/09/21 10:59:21, on average, sieving found inf rels/poly and 21060.69 rels/sec 11/09/21 10:59:21, trial division touched 0 sieve locations out of 0 11/09/21 10:59:21, ==== post processing stage (msieve-1.38) ==== 11/09/21 10:59:21, QS elapsed time = 20.4872 seconds. 11/09/21 10:59:21, begin singleton removal with 431473 relations 11/09/21 10:59:21, reduce to 94980 relations in 9 passes 11/09/21 10:59:22, recovered 94980 relations 11/09/21 10:59:22, recovered 64292 polynomials 11/09/21 10:59:22, attempting to build 50298 cycles 11/09/21 10:59:22, found 50298 cycles from 94980 relations in 4 passes 11/09/21 10:59:22, distribution of cycle lengths: 11/09/21 10:59:22, length 1 : 19524 11/09/21 10:59:22, length 2 : 14882 11/09/21 10:59:22, length 3 : 8517 11/09/21 10:59:22, length 4 : 4253 11/09/21 10:59:22, length 5 : 1830 11/09/21 10:59:22, length 6 : 768 11/09/21 10:59:22, length 7 : 322 11/09/21 10:59:22, length 9+: 202 11/09/21 10:59:22, largest cycle: 15 relations 11/09/21 10:59:22, matrix is 49712 x 50298 (9.2 MB) with weight 2012093 (40.00/col) 11/09/21 10:59:22, sparse part has weight 2012093 (40.00/col) 11/09/21 10:59:22, filtering completed in 4 passes 11/09/21 10:59:22, matrix is 39980 x 40044 (7.5 MB) with weight 1648559 (41.17/col) 11/09/21 10:59:22, sparse part has weight 1648559 (41.17/col) 11/09/21 10:59:22, saving the first 48 matrix rows for later 11/09/21 10:59:22, matrix is 39932 x 40044 (6.4 MB) with weight 1394921 (34.83/col) 11/09/21 10:59:22, sparse part has weight 1275284 (31.85/col) 11/09/21 10:59:22, matrix includes 64 packed rows 11/09/21 10:59:22, using block size 16017 for processor cache size 6144 kB 11/09/21 10:59:23, commencing Lanczos iteration 11/09/21 10:59:23, memory use: 5.5 MB 11/09/21 10:59:26, lanczos halted after 633 iterations (dim = 39928) 11/09/21 10:59:26, recovered 17 nontrivial dependencies 11/09/21 10:59:27, Lanczos elapsed time = 5.3170 seconds. 11/09/21 10:59:27, Sqrt elapsed time = 0.7500 seconds. 11/09/21 10:59:27, SIQS elapsed time = 26.5545 seconds. 11/09/21 10:59:27, 11/09/21 10:59:27, 11/09/21 10:59:27, final ECM pretested depth: 0.00 11/09/21 10:59:27, scheduler: switching to sieve method 11/09/21 10:59:27, starting SIQS on c81: 288456600260838603397898547740484692177664798616755193922608276433886354497755781 11/09/21 10:59:27, random seed: 3034725368991286559 11/09/21 10:59:47, ==== sieve params ==== 11/09/21 10:59:47, n = 82 digits, 273 bits 11/09/21 10:59:47, factor base: 49712 primes (max prime = 1290539) 11/09/21 10:59:47, single large prime cutoff: 122601205 (95 * pmax) 11/09/21 10:59:47, double large prime range from 1665490910521 to 362485408947117 11/09/21 10:59:47, DLP MFB = 1.80 11/09/21 10:59:47, using AVX2 enabled 32k sieve core 11/09/21 10:59:47, sieve interval: 7 blocks of size 32768 11/09/21 10:59:47, polynomial A has ~ 10 factors 11/09/21 10:59:47, using multiplier of 29 11/09/21 10:59:47, using multiplier of 29 11/09/21 10:59:47, using Q2(x) polynomials for kN mod 8 = 1 11/09/21 10:59:47, using SPV correction of 21 bits, starting at offset 34 11/09/21 10:59:47, trial factoring cutoff at 85 bits 11/09/21 10:59:47, ==== sieving started ( 4 threads) ==== 11/09/21 10:59:47, trial division touched 0 sieve locations out of 0 11/09/21 10:59:47, total reports = 0, total surviving reports = 0 11/09/21 10:59:47, total blocks sieved = 0, avg surviving reports per block = -nan(ind) 11/09/21 10:59:47, dlp-ecm: 0 failures, 0 attempts, 0 outside range, 0 prp, 0 useful 11/09/21 10:59:47, 50299 relations found: 19524 full + 30775 from 411950 partial, using 0 polys (-1 A polys) 11/09/21 10:59:47, on average, sieving found inf rels/poly and 21098.80 rels/sec 11/09/21 10:59:47, trial division touched 0 sieve locations out of 0 11/09/21 10:59:47, ==== post processing stage (msieve-1.38) ==== 11/09/21 10:59:47, QS elapsed time = 20.4502 seconds. 11/09/21 10:59:47, begin singleton removal with 431473 relations 11/09/21 10:59:48, reduce to 94980 relations in 9 passes 11/09/21 10:59:48, recovered 94980 relations 11/09/21 10:59:48, recovered 64292 polynomials 11/09/21 10:59:48, attempting to build 50298 cycles 11/09/21 10:59:48, found 50298 cycles from 94980 relations in 4 passes 11/09/21 10:59:48, distribution of cycle lengths: 11/09/21 10:59:48, length 1 : 19524 11/09/21 10:59:48, length 2 : 14882 11/09/21 10:59:48, length 3 : 8517 11/09/21 10:59:48, length 4 : 4253 11/09/21 10:59:48, length 5 : 1830 11/09/21 10:59:48, length 6 : 768 11/09/21 10:59:48, length 7 : 322 11/09/21 10:59:48, length 9+: 202 11/09/21 10:59:48, largest cycle: 15 relations 11/09/21 10:59:49, matrix is 49712 x 50298 (9.2 MB) with weight 2012093 (40.00/col) 11/09/21 10:59:49, sparse part has weight 2012093 (40.00/col) 11/09/21 10:59:49, filtering completed in 4 passes 11/09/21 10:59:49, matrix is 39980 x 40044 (7.5 MB) with weight 1648559 (41.17/col) 11/09/21 10:59:49, sparse part has weight 1648559 (41.17/col) 11/09/21 10:59:49, saving the first 48 matrix rows for later 11/09/21 10:59:49, matrix is 39932 x 40044 (6.4 MB) with weight 1394921 (34.83/col) 11/09/21 10:59:49, sparse part has weight 1275284 (31.85/col) 11/09/21 10:59:49, matrix includes 64 packed rows 11/09/21 10:59:49, using block size 16017 for processor cache size 6144 kB 11/09/21 10:59:49, commencing Lanczos iteration 11/09/21 10:59:49, memory use: 5.5 MB 11/09/21 10:59:52, lanczos halted after 633 iterations (dim = 39928) 11/09/21 10:59:52, recovered 17 nontrivial dependencies 11/09/21 10:59:53, Lanczos elapsed time = 5.2990 seconds. 11/09/21 10:59:53, Sqrt elapsed time = 0.8030 seconds. 11/09/21 10:59:53, SIQS elapsed time = 26.5515 seconds. 11/09/21 10:59:53, 11/09/21 10:59:53, 11/09/21 10:59:53, final ECM pretested depth: 0.00 11/09/21 10:59:53, scheduler: switching to sieve method 11/09/21 10:59:53, starting SIQS on c81: 288456600260838603397898547740484692177664798616755193922608276433886354497755781 11/09/21 10:59:53, random seed: 8235070506173952707 11/09/21 11:00:14, ==== sieve params ==== 11/09/21 11:00:14, n = 82 digits, 273 bits 11/09/21 11:00:14, factor base: 49712 primes (max prime = 1290539) 11/09/21 11:00:14, single large prime cutoff: 122601205 (95 * pmax) 11/09/21 11:00:14, double large prime range from 1665490910521 to 362485408947117 11/09/21 11:00:14, DLP MFB = 1.80 11/09/21 11:00:14, using AVX2 enabled 32k sieve core 11/09/21 11:00:14, sieve interval: 7 blocks of size 32768 11/09/21 11:00:14, polynomial A has ~ 10 factors 11/09/21 11:00:14, using multiplier of 29 11/09/21 11:00:14, using multiplier of 29 11/09/21 11:00:14, using Q2(x) polynomials for kN mod 8 = 1 11/09/21 11:00:14, using SPV correction of 21 bits, starting at offset 34 11/09/21 11:00:14, trial factoring cutoff at 85 bits 11/09/21 11:00:14, ==== sieving started ( 4 threads) ==== 11/09/21 11:00:14, trial division touched 0 sieve locations out of 0 11/09/21 11:00:14, total reports = 0, total surviving reports = 0 11/09/21 11:00:14, total blocks sieved = 0, avg surviving reports per block = -nan(ind) 11/09/21 11:00:14, dlp-ecm: 0 failures, 0 attempts, 0 outside range, 0 prp, 0 useful 11/09/21 11:00:14, 50299 relations found: 19524 full + 30775 from 411950 partial, using 0 polys (-1 A polys) 11/09/21 11:00:14, on average, sieving found inf rels/poly and 21075.09 rels/sec 11/09/21 11:00:14, trial division touched 0 sieve locations out of 0 11/09/21 11:00:14, ==== post processing stage (msieve-1.38) ==== 11/09/21 11:00:14, QS elapsed time = 20.4742 seconds. 11/09/21 11:00:14, begin singleton removal with 431473 relations 11/09/21 11:00:14, reduce to 94980 relations in 9 passes 11/09/21 11:00:15, recovered 94980 relations 11/09/21 11:00:15, recovered 64292 polynomials 11/09/21 11:00:15, attempting to build 50298 cycles 11/09/21 11:00:15, found 50298 cycles from 94980 relations in 4 passes 11/09/21 11:00:15, distribution of cycle lengths: 11/09/21 11:00:15, length 1 : 19524 11/09/21 11:00:15, length 2 : 14882 11/09/21 11:00:15, length 3 : 8517 11/09/21 11:00:15, length 4 : 4253 11/09/21 11:00:15, length 5 : 1830 11/09/21 11:00:15, length 6 : 768 11/09/21 11:00:15, length 7 : 322 11/09/21 11:00:15, length 9+: 202 11/09/21 11:00:15, largest cycle: 15 relations 11/09/21 11:00:15, matrix is 49712 x 50298 (9.2 MB) with weight 2012093 (40.00/col) 11/09/21 11:00:15, sparse part has weight 2012093 (40.00/col) 11/09/21 11:00:15, filtering completed in 4 passes 11/09/21 11:00:15, matrix is 39980 x 40044 (7.5 MB) with weight 1648559 (41.17/col) 11/09/21 11:00:15, sparse part has weight 1648559 (41.17/col) 11/09/21 11:00:15, saving the first 48 matrix rows for later 11/09/21 11:00:15, matrix is 39932 x 40044 (6.4 MB) with weight 1394921 (34.83/col) 11/09/21 11:00:15, sparse part has weight 1275284 (31.85/col) 11/09/21 11:00:15, matrix includes 64 packed rows 11/09/21 11:00:15, using block size 16017 for processor cache size 6144 kB 11/09/21 11:00:16, commencing Lanczos iteration 11/09/21 11:00:16, memory use: 5.5 MB 11/09/21 11:00:19, lanczos halted after 633 iterations (dim = 39928) 11/09/21 11:00:19, recovered 17 nontrivial dependencies 11/09/21 11:00:20, Lanczos elapsed time = 5.1600 seconds. 11/09/21 11:00:20, Sqrt elapsed time = 0.8010 seconds. 11/09/21 11:00:20, SIQS elapsed time = 26.4345 seconds. 11/09/21 11:00:20, [/CODE] and so on. Having not found any more factors I stopped the process, then started it afresh with the C81. It immediately (well 27 seconds later) presented me with three beautiful bouncing factors. [CODE]11/09/21 11:13:26, 11/09/21 11:13:26, **************************** 11/09/21 11:13:26, Starting factorization of 288456600260838603397898547740484692177664798616755193922608276433886354497755781 11/09/21 11:13:26, using pretesting plan: noecm 11/09/21 11:13:26, no tune info: using qs/gnfs crossover of 95 digits 11/09/21 11:13:26, no tune info: using qs/snfs crossover of 75 digits 11/09/21 11:13:26, **************************** 11/09/21 11:13:26, starting SIQS on c81: 288456600260838603397898547740484692177664798616755193922608276433886354497755781 11/09/21 11:13:26, random seed: 8066514638846999927 11/09/21 11:13:47, ==== sieve params ==== 11/09/21 11:13:47, n = 82 digits, 273 bits 11/09/21 11:13:47, factor base: 49712 primes (max prime = 1290539) 11/09/21 11:13:47, single large prime cutoff: 122601205 (95 * pmax) 11/09/21 11:13:47, double large prime range from 1665490910521 to 362485408947117 11/09/21 11:13:47, DLP MFB = 1.80 11/09/21 11:13:47, using AVX2 enabled 32k sieve core 11/09/21 11:13:47, sieve interval: 7 blocks of size 32768 11/09/21 11:13:47, polynomial A has ~ 10 factors 11/09/21 11:13:47, using multiplier of 29 11/09/21 11:13:47, using multiplier of 29 11/09/21 11:13:47, using Q2(x) polynomials for kN mod 8 = 1 11/09/21 11:13:47, using SPV correction of 21 bits, starting at offset 34 11/09/21 11:13:47, trial factoring cutoff at 85 bits 11/09/21 11:13:47, ==== sieving started ( 4 threads) ==== 11/09/21 11:13:47, trial division touched 0 sieve locations out of 0 11/09/21 11:13:47, total reports = 0, total surviving reports = 0 11/09/21 11:13:47, total blocks sieved = 0, avg surviving reports per block = -nan(ind) 11/09/21 11:13:47, dlp-ecm: 0 failures, 0 attempts, 0 outside range, 0 prp, 0 useful 11/09/21 11:13:47, 50299 relations found: 19524 full + 30775 from 411950 partial, using 0 polys (-1 A polys) 11/09/21 11:13:47, on average, sieving found inf rels/poly and 20714.87 rels/sec 11/09/21 11:13:47, trial division touched 0 sieve locations out of 0 11/09/21 11:13:47, ==== post processing stage (msieve-1.38) ==== 11/09/21 11:13:47, QS elapsed time = 20.8292 seconds. 11/09/21 11:13:47, begin singleton removal with 431473 relations 11/09/21 11:13:47, reduce to 94980 relations in 9 passes 11/09/21 11:13:48, recovered 94980 relations 11/09/21 11:13:48, recovered 64292 polynomials 11/09/21 11:13:48, attempting to build 50298 cycles 11/09/21 11:13:48, found 50298 cycles from 94980 relations in 4 passes 11/09/21 11:13:48, distribution of cycle lengths: 11/09/21 11:13:48, length 1 : 19524 11/09/21 11:13:48, length 2 : 14882 11/09/21 11:13:48, length 3 : 8517 11/09/21 11:13:48, length 4 : 4253 11/09/21 11:13:48, length 5 : 1830 11/09/21 11:13:48, length 6 : 768 11/09/21 11:13:48, length 7 : 322 11/09/21 11:13:48, length 9+: 202 11/09/21 11:13:48, largest cycle: 15 relations 11/09/21 11:13:48, matrix is 49712 x 50298 (9.2 MB) with weight 2012093 (40.00/col) 11/09/21 11:13:48, sparse part has weight 2012093 (40.00/col) 11/09/21 11:13:49, filtering completed in 4 passes 11/09/21 11:13:49, matrix is 39980 x 40044 (7.5 MB) with weight 1648559 (41.17/col) 11/09/21 11:13:49, sparse part has weight 1648559 (41.17/col) 11/09/21 11:13:49, saving the first 48 matrix rows for later 11/09/21 11:13:49, matrix is 39932 x 40044 (6.4 MB) with weight 1394921 (34.83/col) 11/09/21 11:13:49, sparse part has weight 1275284 (31.85/col) 11/09/21 11:13:49, matrix includes 64 packed rows 11/09/21 11:13:49, using block size 16017 for processor cache size 6144 kB 11/09/21 11:13:49, commencing Lanczos iteration 11/09/21 11:13:49, memory use: 5.5 MB 11/09/21 11:13:52, lanczos halted after 633 iterations (dim = 39928) 11/09/21 11:13:52, recovered 17 nontrivial dependencies 11/09/21 11:13:52, prp18 = 988178592293402021 11/09/21 11:13:53, prp19 = 1346028033112095481 11/09/21 11:13:53, prp45 = 216865733067462219031336345962688918881760681 11/09/21 11:13:53, Lanczos elapsed time = 5.6540 seconds. 11/09/21 11:13:53, Sqrt elapsed time = 0.3800 seconds. 11/09/21 11:13:53, SIQS elapsed time = 26.8635 seconds. 11/09/21 11:13:53, 11/09/21 11:13:53, 11/09/21 11:13:53, Total factoring time = 27.0275 seconds [/CODE] Sorry this is a bit long, but I thought someone might like to see what was going on. |
[B]bsquared[/B], is maximal digits count in version 2.07 - c1020?
|
[QUOTE=thyrex;593611][B]bsquared[/B], is maximal digits count in version 2.07 - c1020?[/QUOTE]
In theory, no, but plenty of weird stuff might happen with inputs near or larger than 1024 digits. Not a corner of the code I test very well. |
Strange error (0xc0000005) when using Studio Kamada poly
When I try to factor 78888_142 (from Studio Kamada's near-repdigit tables), I get this crash:
[code]Faulting application name: yafu.exe, version: 0.0.0.0, time stamp: 0x611c3335 Faulting module name: yafu.exe, version: 0.0.0.0, time stamp: 0x611c3335 Exception code: 0xc0000005 Fault offset: 0x000000000015e3d9 Faulting process id: 0x1384 Faulting application start time: 0x01d7e15f4ab93ee3 Faulting application path: C:\Numbers\yafu-master\yafu.exe Faulting module path: C:\Numbers\yafu-master\yafu.exe Report Id: ceacc9fa-0596-4f6d-a151-a56041b94d89 Faulting package full name: Faulting package-relative application ID: [/code]I used the poly that was supplied on the website, and put it in nfs.job: [URL]https://stdkmd.net/nrr/c.cgi?q=78888_142[/URL] Why is it crashing? Is there something wrong with the poly? The only thing that was output to factor.log was this: [code]11/24/21 13:15:42, nfs: commencing nfs on c137: 39628160596972006667354298974490180923204420136195848397615791252691924205059098424741546252872762571726970680519332067911281143827227471[/code]Here's what was output to the command prompt: [code]C:\Numbers\yafu-master>yafu "snfs(71*10^142-8,39628160596972006667354298974490180923204420136195848397615791252691924205059098424741546252872762571726970680519332067911281143827227471)" Applying tune_info entry for WIN64 - Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz YAFU Version 2.06 Built with Microsoft Visual Studio 1922 Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0 Detected Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz Detected L1 = 32768 bytes, L2 = 8388608 bytes, CL = 64 bytes Using 1 random witness for Rabin-Miller PRP checks Cached 664579 primes; max prime is 9999991 =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= bbuhrow@gmail.com ======= ======= Type help at any time, or quit to quit ======= =============================================================== >> nfs: checking for job file - job file found, testing for matching input input from file = 39628160596972006667354298974490180923204420136195848397615791252691924205059098424741546252872762571726970680519332067911281143827227471 input to yafu = 709999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999992 input matches with multiple of 17916552 nfs: number in job file matches input nfs: checking for data file nfs: no data file found nfs: commencing nfs on c137: 39628160596972006667354298974490180923204420136195848397615791252691924205059098424741546252872762571726970680519332067911281143827227471 nfs: resumesieve; last_spq = 0, nfs_phases = 0 nfs: found m: 100000000000000000000000000000000000 nfs: found c[4]: 1775 nfs: found c[0]: -2 nfs: found skew: 0.180000 nfs: found type: snfs nfs: initializing snfs poly nfs: parsed lpbr = 26, lpba = 26 nfs: detected snfs job but no snfs difficulty nfs: using m and poly coefficients to compute difficulty nfs: snfs difficulty: 38.249198 nfs: checking degree 4 poly nfs: analyzing poly:[/code] |
The same with Linux binary (seg fault), but I got it worked when I didn't set initial poly and let YAFU choose it for me.
I think m param is a problem in auto-generated poly at Kamada's site. It works when I replace [CODE]m: 100000000000000000000000000000000000[/CODE] to [CODE]Y1: -1 Y0: 100000000000000000000000000000000000 [/CODE] |
Is there any way to check if a number that is inputted for factoring is already listed in the factored.dat file, and if so verify the listed factors and if they are valid automatically output them without starting the factoring from scratch?
|
Strange SIQS-related crash. What's causing it?
Why does this number crash YAFU 2.06?
[code]72201646132199873461502083685639136119064441143576829474934045444051626750298129[/code]Here's the output to cmd: [code]C:\Numbers\yafu-master>yafu 72201646132199873461502083685639136119064441143576829474934045444051626750298129 Applying tune_info entry for WIN64 - Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz YAFU Version 2.06 Built with Microsoft Visual Studio 1922 Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0 Detected Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz Detected L1 = 32768 bytes, L2 = 8388608 bytes, CL = 64 bytes Using 1 random witness for Rabin-Miller PRP checks Cached 664579 primes; max prime is 9999991 =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= bbuhrow@gmail.com ======= ======= Type help at any time, or quit to quit ======= =============================================================== >> fac: factoring 72201646132199873461502083685639136119064441143576829474934045444051626750298129 fac: using pretesting plan: deep fac: using tune info for qs/gnfs crossover input from file = 2204163746040422113335335630634510483693477785822927479792844125899447775787592580144299824908196479 input to yafu = 72201646132199873461502083685639136119064441143576829474934045444051626750298129 div: primes less than 10000 fmt: 1000000 iterations 93%fmt: performed 23 perfect square checks rho: x^2 + 3, starting 1000 iterations on C80 rho: x^2 + 2, starting 1000 iterations on C80 rho: x^2 + 1, starting 1000 iterations on C80 nfs: searching for brent special forms... <snip> nfs: snfs form detection took 0.934170 seconds nfs: couldn't find special form pm1: starting B1 = 150K, B2 = gmp-ecm default on C80 pm1: Process took 0.0170 seconds. pm1: found c36 factor = 256618303712888684191205903598313519 fac: setting target pretesting digits to 15.00 fac: estimated sum of completed work is t0.00 fac: work done at B1=2000: 0 curves, max work = 30 curves fac: 30 more curves at B1=2000 needed to get to t15.00 Composite result found, starting re-factorization fac: factoring 256618303712888684191205903598313519 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits fac: no tune info: using qs/snfs crossover of 75 digits div: primes less than 10000 fmt: 1000000 iterations rho: x^2 + 3, starting 1000 iterations on C36 rho: x^2 + 2, starting 1000 iterations on C36 rho: x^2 + 1, starting 1000 iterations on C36 starting SIQS on c36: 256618303712888684191205903598313519 C:\Numbers\yafu-master>[/code]factor.log: [code]01/11/22 17:09:26, 01/11/22 17:09:26, **************************** 01/11/22 17:09:26, Starting factorization of 72201646132199873461502083685639136119064441143576829474934045444051626750298129 01/11/22 17:09:26, using pretesting plan: deep 01/11/22 17:09:26, using tune info for qs/gnfs crossover 01/11/22 17:09:26, **************************** 01/11/22 17:09:26, rho: x^2 + 3, starting 1000 iterations on C80 01/11/22 17:09:26, rho: x^2 + 2, starting 1000 iterations on C80 01/11/22 17:09:26, rho: x^2 + 1, starting 1000 iterations on C80 01/11/22 17:09:27, pm1: starting B1 = 150K, B2 = gmp-ecm default on C80 01/11/22 17:09:27, c36 = 256618303712888684191205903598313519 01/11/22 17:09:27, current ECM pretesting depth: 0.00 01/11/22 17:09:27, scheduled 30 curves at B1=2000 toward target pretesting depth of 15.00 01/11/22 17:09:27, prp45 = 281358130295261309435186241678306806768864191 01/11/22 17:09:27, 01/11/22 17:09:27, **************************** 01/11/22 17:09:27, Starting factorization of 256618303712888684191205903598313519 01/11/22 17:09:27, using pretesting plan: normal 01/11/22 17:09:27, no tune info: using qs/gnfs crossover of 95 digits 01/11/22 17:09:27, no tune info: using qs/snfs crossover of 75 digits 01/11/22 17:09:27, **************************** 01/11/22 17:09:27, rho: x^2 + 3, starting 1000 iterations on C36 01/11/22 17:09:27, rho: x^2 + 2, starting 1000 iterations on C36 01/11/22 17:09:27, rho: x^2 + 1, starting 1000 iterations on C36 01/11/22 17:09:27, final ECM pretested depth: 0.00 01/11/22 17:09:27, scheduler: switching to sieve method 01/11/22 17:09:27, starting SIQS on c36: 256618303712888684191205903598313519 01/11/22 17:09:27, random seed: 3836357694855539672 [/code]Error message (Event Viewer): [code]Faulting application name: yafu.exe, version: 0.0.0.0, time stamp: 0x611c3335 Faulting module name: yafu.exe, version: 0.0.0.0, time stamp: 0x611c3335 Exception code: 0xc0000005 Fault offset: 0x000000000000be19 Faulting process id: 0x27fc Faulting application start time: 0x01d80737e57dff6c Faulting application path: C:\Numbers\yafu-master\yafu.exe Faulting module path: C:\Numbers\yafu-master\yafu.exe Report Id: dfd85e6a-3fcc-4269-b47c-a3f8a2a1eece Faulting package full name: Faulting package-relative application ID: [/code] |
v2.08
Version 2.08 now available with a few bugfixes.
[QUOTE=Stargate38;597688]Why does this number crash YAFU 2.06? [code]72201646132199873461502083685639136119064441143576829474934045444051626750298129[/code][/QUOTE] Thanks, this should be fixed now in version 2.08. |
[QUOTE=bsquared;599720]Version 2.08 now available with a few bugfixes.
Thanks, this should be fixed now in version 2.08.[/QUOTE] I downloaded 2.08 and I've got the same problem I had with 2.07 when that was first available, in that it would appear that the Windows .exe file is missing a few bytes: [CODE]JANELT3 C:\Users\Jane\Documents\Maths\yafu\Versions\yafu-2.08 > yafu-x64 YAFU Version 2.08 Built with Microsoft Visual Studio 1922 Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0 Detected Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz Detected L1 = 32768 bytes, L2 = 6291456 bytes, CL = 64 bytes Using 1 random witness for Rabin-Miller PRP checks Cached 664579 primes; max prime is 9999991 Could not parse yafu.ini from C:\Users\Jane\Documents\Maths\yafu\Versions\yafu-2.08 =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= bbuhrow@gmail.com ======= ======= Type help at any time, or quit to quit ======= =============================================================== >> JANELT3 C:\Users\Jane\Documents\Maths\yafu\Versions\yafu-2.08 >[/CODE] |
[QUOTE=bsquared;575505]It has been so long since a new windows executable and trunk code update have been released that I thought I might as well bump the version number to 2.....[/QUOTE]
I used to be able to run the older versions, but this, I doubt I would ever learn how. It searches for things I have no idea about. The help documentation may be helpful, but I cannot find it. Oh well. No big deal. |
New Bug ?
Hello, we tested the number N with YAFU, YAFU can not finished this tasks.
N=factor((6414^13+17)*29848923566697359898432276895208549089323990314369) The version is these here: [URL]https://github.com/bbuhrow/yafu/blob/master/bin/x64/Release/yafu-x64.exe[/URL] [QUOTE] poly_stage1_run done **** finished poly work in thread 4 elapsed time: 21.6177 seconds (148 second deadline); poly select done nfs: commencing algebraic side lattice sieving over range: 887500 - 890000 nfs: commencing algebraic side lattice sieving over range: 870000 - 872500 nfs: commencing algebraic side lattice sieving over range: 880000 - 882500 nfs: commencing algebraic side lattice sieving over range: 872500 - 875000 nfs: commencing algebraic side lattice sieving over range: 882500 - 885000 nfs: commencing algebraic side lattice sieving over range: 875000 - 877500 nfs: commencing algebraic side lattice sieving over range: 885000 - 887500 nfs: commencing algebraic side lattice sieving over range: 877500 - 880000 Der Befehl ".." ist entweder falsch geschrieben oder konnte nicht gefunden werden. Der konnte nicht gefunden werden. Der Befehl ".." ist entweder falsch geschrieben oder konnte nicht gefunden werden. Der Befehl ".." ist entweder falsch geschrieben oder konnte nicht gefunden werden. Der Befehl ".." ist entweder falsch geschrieben oder konnte nicht gefunden werden. Der Befehl ".." ist entweder falsch geschrieben oder konnte nicht gefunden werden. Der Befehl ".." ist entweder falsch geschrieben oder konnte nicht gefunden werden. nfs: could not open output file, possibly bad path to siever nfs: could not open output file, possibly bad path to siever nfs: could not open output file, possibly bad path to siever nfs: could not open output file, possibly bad path to siever nfs: could not open output file, possibly bad path to siever nfs: could not open output file, possibly bad path to siever nfs: could not open output file, possibly bad path to siever nfs: could not open output file, possibly bad path to siever fopen error: No such file or directory could not open rels0.dat for reading E:\YAFU_2022> [/QUOTE] greetings |
[QUOTE=Cybertronic;601659]Hello, we tested the number N with YAFU, YAFU can not finished this tasks.[/QUOTE]Do you have these settings properly configured in [c]yafu.ini[/c]?[quote]ggnfs_dir=E:\YAFU_2022\ggnfs-bin\
ecm_path=E:\YAFU_2022\ecm\ecm.exe[/quote]And of course have the [url=https://download.mersenne.ca/GGNFS]GGNFS[/url] and [url=https://download.mersenne.ca/GMP-ECM]ECM[/url] files where you have it configured? |
Ah ! You mean, YAFU need this helperprograms and it was not found ? Okay thx!
|
For what it's worth I just tried it in both v1.34.5 and v2.07 and it worked fine:[code]prp50 = 29848923566697359898432276895208549089323990314369
prp50 = 31093987719382384075336599461075903930020102201361[/code] |
After upgrading to the current git version from 2.05, I got a way lower QS/NFS (98.4 to 93.1 digits) crossover. It does not look like NFS got magically faster, but QS slower. Unfortunately, I overwrote my old build. Stupid me.
Instead, after observing the above, I tried to build the current version with clang (AOCC version). Is there any chance we could figure out how to do this? At least gmp, msieve, ytools and ysieve built without problems. The first problem occured while compiling yafu and was: [CODE]include/monty.h:145:19: error: invalid input constraint '0ULL' in asm : "1"(c), "0ULL"(0), "r"(n));[/CODE] I am not sure what clang is expecting instead here. |
I committed a fix for the ULL issue, a silly copy/paste thing that I'm surprised gcc/icc doesn't flag. As for it being slower, are you building with the right options for your cpu? If you have AVX-512 then use:
NFS=1 USE_AVX2=1 USE_BMI2=1 SKYLAKEX=1 |
Since I am on Zen 3, I only built with AVX2 and BMI2. It also stated "using AVX2 enabled 32k sieve core" etc. I double checked and rebuilt with the parameters you suggested (ommiting the last one), and got a crossover of 93.0 bits this time.
When editing some files in vim, it occured to me that a lot of lines (e.g. the Makefile) end with [C]^M[/C], but it seems to be handled alright. The next error is in ecm.c, where it states: [CODE]factor/gmp-ecm/ecm.c:825:17: error: non-void function 'ecm_do_one_curve' should return a value [-Wreturn-type] return;[/CODE] In my local copy, I assumed [C]return NULL;[/C] here. Now it built! :smile: Interestingly, it gets detected as [I]Built with GCC 4[/I]. Unfortunately, I get a segmentation fault when I am in the first SIQS of tuning. I rebuilt with [C]-g[/C] and got ([C]gdb[/C] and [C]bt[/C]): [Code]Program received signal SIGSEGV, Segmentation fault. 0x0000000000357844 in __gmpn_divrem_1 () (gdb) bt #0 0x0000000000357844 in __gmpn_divrem_1 () #1 0x0000000000001832 in ?? () #2 0x0000000000001832 in ?? () #3 0x0000000002f207d0 in ?? () #4 0x0000000000001831 in ?? () #5 0x00000000003555bf in __gmpz_tdiv_q_ui () #6 0x000000000029ab1e in tdiv_LP_avx2 (report_num=<optimized out>, parity=<optimized out>, bnum=<optimized out>, sconf=<optimized out>, dconf=<optimized out>) at factor/qs/tdiv_large.c:604 #7 0x01cf01ce01cd01cc in ?? () #8 0x01d301d201d101d0 in ?? () #9 0x01d701d601d501d4 in ?? () #10 0x01db01da01d901d8 in ?? () #11 0x01df01de01dd01dc in ?? () #12 0x01e301e201e101e0 in ?? () #13 0x01e701e601e501e4 in ?? () #14 0x01eb01ea01e901e8 in ?? () #15 0x01ef01ee01ed01ec in ?? () #16 0x0000000200000002 in ?? () #17 0x0000000000355506 in __gmpz_tdiv_q_2exp () #18 0x000000000028f7db in process_poly (vptr=<optimized out>, vptr@entry=0x2c17c90) at factor/qs/SIQS.c:1108 #19 0x000000000028f00e in SIQS (fobj=fobj@entry=0x25a2ef0) at factor/qs/SIQS.c:828 #20 0x0000000000276d21 in factor_tune (inobj=0x25a2ef0) at factor/tune.c:140 #21 0x00000000002839b4 in feval (funcnum=funcnum@entry=72, nargs=<optimized out>, nargs@entry=0, metadata=<optimized out>, metadata@entry=0x7fffffffce60) at top/cmdParser/calc.c:2869 #22 0x000000000028194a in calc (in=in@entry=0x7fffffffccd0, metadata=<optimized out>, metadata@entry=0x7fffffffce60) at top/cmdParser/calc.c:1946 #23 0x0000000000280822 in calc_with_assignment (in=in@entry=0x25aa5e0, metadata=<optimized out>, metadata@entry=0x7fffffffce60, force_quiet=force_quiet@entry=0) at top/cmdParser/calc.c:1526 #24 0x000000000028069e in process_expression (input_exp=<optimized out>, metadata=<optimized out>, metadata@entry=0x7fffffffce60, force_quiet=<optimized out>, no_convert_result=<optimized out>, no_convert_result@entry=0) at top/cmdParser/calc.c:1472 #25 0x000000000027404d in main (argc=<optimized out>, argv=<optimized out>) at top/driver.c:390[/Code] Weird, it comes from GMP? I ran [C]make check[/C] there and all went fine. |
The increase in SIQS time is giving me a headache:
I found old logs and picked 188859359342907532180448190281668092516979292823033816845808258496473426383608039973872193 (c90) as my example. The log stated 27.8 s in SIQS phase, I retried with the options as explained and the current GIT version and got 60.8 s. I retried with all GIT versions that identified as v2.05 and all segmentation faulted (see below why it might). Conflicting processes can be ruled out by restarts and [C]htop[/C] run as root. I cannot say for sure that I had BMI2 and also AVX2 enabled in my original build. But it would seem strange that this increased my performance. There is one single thing that changed, my Debian version, with that the GCC version. The log file that I have found was executed on Debian 11, so this alone is not the problem. But GCC 10 might be (as hinted to before in this thread). For example, my v2.05 versions built with GCC 10 were crashing in SIQS, my old GCC 8 version never crashed (in SIQS). |
[QUOTE=kruoli;601815]The increase in SIQS time is giving me a headache:
I found old logs and picked 188859359342907532180448190281668092516979292823033816845808258496473426383608039973872193 (c90) as my example. The log stated 27.8 s in SIQS phase, I retried with the options as explained and the current GIT version and got 60.8 s. I retried with all GIT versions that identified as v2.05 and all segmentation faulted (see below why it might). Conflicting processes can be ruled out by restarts and [C]htop[/C] run as root. I cannot say for sure that I had BMI2 and also AVX2 enabled in my original build. But it would seem strange that this increased my performance. There is one single thing that changed, my Debian version, with that the GCC version. The log file that I have found was executed on Debian 11, so this alone is not the problem. But GCC 10 might be (as hinted to before in this thread). For example, my v2.05 versions built with GCC 10 were crashing in SIQS, my old GCC 8 version never crashed (in SIQS).[/QUOTE] With gcc-11.1.0 on a Xeon 6254 for the sieving portion of siqs with 16 threads I get: 54 seconds with SSE2 (this is default) 49 seconds with SSE4.1 40 seconds with AVX/BMI2 29 seconds with AVX-512 linear algebra then adds about 8 seconds to all of these. The various instruction set flags do make a difference. With your timing you must be using a lot of threads, so LA might take an appreciable amount of time compared to sieving. It's a stretch, but are you comparing sieve time to total time between these measurements? This is basically the same as with version 2.05, as far as I can see. I can't see how it would be different on a Zen 3, but crazier things have happened in yafu before. I don't have an AMD to test on, so thanks for bearing with me. This weekend I'll install clang and work on the build. |
Thank you!
There was another difference I oversaw: I had [C]-O3[/C] in my recent builds. I reverted this to [C]-O2[/C] and now the SIQS times are fine again! [CODE]Elapsed time: 23.8909 sec QS elapsed time = 23.8910 seconds. [...] SIQS elapsed time = 28.9506 seconds.[/CODE] That's better than before! Regarding [C]^M[/C], this seems to be [C]\r[/C] in some files. So there are files that contain mixed line ends. It should be quick to convert all files to [C]\n[/C] only. |
[QUOTE=kruoli;601886]Thank you!
There was another difference I oversaw: I had [C]-O3[/C] in my recent builds. I reverted this to [C]-O2[/C] and now the SIQS times are fine again! [CODE]Elapsed time: 23.8909 sec QS elapsed time = 23.8910 seconds. [...] SIQS elapsed time = 28.9506 seconds.[/CODE] That's better than before! Regarding [C]^M[/C], this seems to be [C]\r[/C] in some files. So there are files that contain mixed line ends. It should be quick to convert all files to [C]\n[/C] only.[/QUOTE] Great news, thanks! I vaguely recall having issues like this with -O3 in the past, which is why it defaults to -O2, but I would not have thought of that as a culprit. Glad you found it. |
When running YAFU2 (recent GIT version) with aliqueit, I need to run a script that checks for [I]running 0 auto-increasing ecm curves...[/I] in the output. Are you interested in finding a workaround for these? When I was "present" when something like this occured, it seemed always like a msieve problem (SIQS postprocessing was not able to finish or some other problem).
|
I have had similar occurrences on occasion and traced them to rare SIQS crashes. I've only briefly seen the actual messages from YAFU due to the way my scripts run, but the messages seemed to be a row vs. column matrix issue. I haven't pursued it much, because I set Msieve to run if YAFU fails (in aliqueit.ini). Now, if Aliqueit doesn't find any returned factors from YAFU (via factor.log), it runs Msieve. That has seemed to take care of it for me. But, I'm not using the -y YAFU switch, which might change things.
|
[QUOTE=BudgieJane;600227]I downloaded 2.08 and I've got the same problem I had with 2.07 when that was first available, in that it would appear that the Windows .exe file is missing a few bytes ...[/QUOTE]
I have bought myself a new laptop, and this one runs Windows 10 rather than Windows 7 that my old laptop was running. The good news is that Yafu 2.08 no longer crashes. However, there is some bad news: [CODE]JANELT5 C:\Users\Jane\Documents\APLapps\Numbers > ..\..\Maths\yafu\Versions\yafu-2.08\yafu-x64 YAFU Version 2.08 Built with Microsoft Visual Studio 1922 Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0 Detected 11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz Detected L1 = 49152 bytes, L2 = 8388608 bytes, CL = 64 bytes Using 1 random witness for Rabin-Miller PRP checks Cached 664579 primes; max prime is 9999991 Could not parse yafu.ini from C:\Users\Jane\Documents\APLapps\Numbers [/CODE] Which is all very well, but Yafu.ini is definitely there, and I can read it, as this shows: [CODE]JANELT5 C:\Users\Jane\Documents\APLapps\Numbers > type yafu.ini % This is yafu.ini from JaneLT5 as amended by tune. It is in C:\Users\Jane\Documents\APLapps\Numbers\ B1pm1=100000 B1pp1=20000 B1ecm=11000 rhomax=1000 threads=4 pretest_ratio=0.20 ggnfs_dir=..\..\Maths\ggnfs-x64\ ecm_path=..\..\Maths\ecm\ecm.exe ext_ecm=10000 %tune_info=Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz,WIN64,2.61946e-005,0.196468,0.240753,0.106352,95.27,2450.77 %tune_info=Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz,WIN64,2.52059e-06,0.2279,6.39174,0.080593,100.104,42 tune_info=Intel(R) Core(TM) i5-11300H @ 3.10GHz,WIN64,2.52059e-06,0.2279,6.39174,0.080593,100.104,42 JANELT5 C:\Users\Jane\Documents\APLapps\Numbers >[/CODE] Can anyone see where I might have made an error in the .ini file? I don't think I have, because it works OK with Yafu v.2.07. Anyway, I ran tune, and it's obvious that I got the cpu-string wrong, because tune has ignored my tune_info (which was a copy of the previous version with what I thought was the proper cpu_string) and it has added another line to the file (which is the proof that it can read and write the file, even if it can't parse it, as shown above). [CODE]tune_info=Intel(R) Core(TM) i5-11300H @ 3.10GHz,WIN64,2.52059e-06,0.2279,6.39174,0.080593,100.104,42 tune_info=11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz,WIN64,7.11117e-06,0.200817,6.67832,0.0763865,110.525,42[/CODE] So, what's going on here? I would like to run the latest version. As usual, if you want any more information, just ask. |
[QUOTE=BudgieJane;602488]Can anyone see where I might have made an error in the .ini file?[/QUOTE]No. I tried it myself, and replicated what you got with [c]Could not parse yafu.ini[/c] using my 2.07 yafu.ini, but worked with the shipping version. So I went through it line by line, checking each change that might make it not parse. And none of them broke it.
Edit: Aha! I found the problem line. But I don't understand it. If you comment out the [c]v[/c] on the verbosity line then it can't parse. Leave the single uncommented [c]v[/c] there and it parses. |
[QUOTE=James Heinrich;602491]No. I tried it myself, and replicated what you got with [c]Could not parse yafu.ini[/c] using my 2.07 yafu.ini, but worked with the shipping version. So I went through it line by line, checking each change that might make it not parse. And none of them broke it.
Edit: Aha! I found the problem line. But I don't understand it. If you comment out the [c]v[/c] on the verbosity line then it can't parse. Leave the single uncommented [c]v[/c] there and it parses.[/QUOTE] I found the problem. For some dumb reason I surrounded the getcwd() command with a check for verbosity>0. So you have to have at least one -v for it to parse the .ini. :doh!: Hopefully that workaround is good enough for now; I can get the exe updated soon, hopefully. |
[QUOTE=bsquared;602532]I found the problem. For some dumb reason I surrounded the getcwd() command with a check for verbosity>0. So you have to have at least one -v for it to parse the .ini. :doh!:
Hopefully that workaround is good enough for now; I can get the exe updated soon, hopefully.[/QUOTE] Actually, I'm wrong, you have to have one -v for it to *say* that it parsed the .ini file. It will parse it correctly regardless of what it says, it's just a reporting problem. |
[QUOTE=bsquared;602535]Actually, I'm wrong, you have to have one -v for it to *say* that it parsed the .ini file. It will parse it correctly regardless of what it says, it's just a reporting problem.[/QUOTE]
So the workaround is to do nothing. I can live with that. Thank you. |
So, in general, I discovered, completely by trial and error, that when YAFU crashes on a particular number, it will usually work if you increase rhomax enough in yafu.ini.
I use a value of 1000 by default, but occasionally come across numbers that will crash yafu until I increase it to 10000, 20000 or even 100000. I usually use yafu to look for long aliquot sequences, and seldom factor numbers larger than about 100 digits. As a novice, I don't know what that setting actually does, besides making factoring take a bit longer, but for fellow novices, I thought it was worth mentioning. |
I would like to find some documentation as to how to use it. :confused:
|
With the current version, I still get [C]matrix must have more columns than rows[/C] in SIQS sometimes.
Example: [CODE]starting SIQS on c81: 422751689472424067829539206601508400436611125331139179502143148987658541073541313 random seed: 17192571071955053739[/CODE] |
[QUOTE=storm5510;602761]I would like to find some documentation as to how to use it. :confused:[/QUOTE]
Do you mean [URL="http://github.com/bbuhrow/yafu/blob/master/docfile.txt"]this[/URL]? |
[QUOTE=kruoli;603743]Do you mean [URL="http://github.com/bbuhrow/yafu/blob/master/docfile.txt"]this[/URL]?[/QUOTE]
That would be it. I have problems navigating [I]Github[/I] for some reason. |
Just a suggestion that would be (very) useful to me, perhaps others: output results in JSON format. I'm thinking something along the lines of:[code]{
"input-expression":"2^123/17", "input-decimal:"625519056839960410778262146014279800", "factors-prime":["2","2","2","3","3","5","5","7","11","13","31","41","61","151","241","331","1321"], "factors-composite":["281406274007041"], "ecm-curves":{"2000":30, "11000":74, "50000":216, "250000":432}, "ecm-levels":{"t15":38.02, "t20":11.32, "t25":1.06, "t30":0.07, "sum":25.34}, "time-start":"2022-04-25 16:25:34", "time-end":"2022-04-25 18:34:56", "runtime":{"total":7762.123, "ecm":762.456, "pm1":16.95, "siqs":7654.32} }[/code](most of the above is made up for demonstration purposes) The idea being to make a consistent, easily-parsable output format that can contain all the relevant information in one place. Undoubtedly there are some other values that can/should be included, the beauty is they can be added (or be missing) without breaking any parsing. Obviously this output is only sane when an assignment is completed and can't be output during runtime as is done to factor.log but it would be an additional output. |
While James's suggestion might be a lot of work, I find it tremendeous! Especially the example is really neat in regards to which data might/can be included.
|
A lot of this info is fairly easily available at the end of a factorization:
[CODE] cat factor.json { "input-expression":"factor(2^351-1)", "input-decimal":"4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109247", "factors-prime":["7","73","79","937","6553","8191","86113","29121769","7830118297","571890896913727","93715008807883087","150832426800173710177","446473","121369"], "factors-composite":["262657"], "ecm-levels" : [], "runtime" : ["total":0.4672, "ecm":0.0000, "pm1":0.0133, "pp1":0.0000, "siqs":0.0421, "nfs":0.0000], } { "input-expression":"factor(2^371-1)", "input-decimal":"4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830847", "factors-prime":["127","743","2969","6361","69431","20394401","63781899287","204712366597949333831","145980337155634444285232523876979318451464756266456641329"], "ecm-levels" : ["t15":43.89,"t20":12.78,"t25":1.18,"t30":0.07], "runtime" : ["total":3.3807, "ecm":1.8949, "pm1":0.5183, "pp1":0.0000, "siqs":0.0000, "nfs":0.0000], } [/CODE] That's what I have so far. All I know about JSON comes from looking at James's post, so keep that in mind. I'm basically just copying the formatting I saw. If something is broken let me know. The good thing is that this is an extra file, and won't break anything else. I can keep looking for low-hanging fruit to add to the output. |
[QUOTE=bsquared;605248]That's what I have so far. All I know about JSON comes from looking at James's post[/QUOTE]That's great! :max:
Wikipedia of course has a decent rough overview of [url=https://en.wikipedia.org/wiki/JSON#Syntax]JSON syntax[/url]. And looking at that I see I made a mistake in my example: arrays (with no explicit keys, such as the list of factors) are specified with square brackets, but objects (in my example used as arrays with named keys) should be specified with curly braces. So "ecm-curves", "ecm-levels", "runtime" should change from [c][square][/c] to [c]{curly}[/c]. Sorry about that. edit: I'm not sure why [c]"factors-composite":["262657"],[/c] shows in your first example since that's prime. Or perhaps this was just a hand-edited example? |
[QUOTE=James Heinrich;605249]That's great! :max:
Wikipedia of course has a decent rough overview of [url=https://en.wikipedia.org/wiki/JSON#Syntax]JSON syntax[/url]. And looking at that I see I made a mistake in my example: arrays (with no explicit keys, such as the list of factors) are specified with square brackets, but objects (in my example used as arrays with named keys) should be specified with curly braces. So "ecm-curves", "ecm-levels", "runtime" should change from [c][square][/c] to [c]{curly}[/c]. Sorry about that. edit: I'm not sure why [c]"factors-composite":["262657"],[/c] shows in your first example since that's prime. Or perhaps this was just a hand-edited example?[/QUOTE] Thanks for the fix! I'm reading the syntax page but I will likely rely heavily on users to tell me when things are broken. The composite example was actually a bug... it's now fixed. [CODE] cat factor.json { "input-expression":"factor(2^351-1)", "input-decimal":"4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109247", "input-argument-string":"factor(2^351-1) -v ", "factors-prime":["7","73","79","937","6553","8191","86113","262657","29121769","7830118297","571890896913727","93715008807883087","150832426800173710177","446473","121369"], "pm1-curves" : {"150000":1}, "runtime" : {"total":0.5976, "ecm":0.0000, "pm1":0.0149, "pp1":0.0000, "siqs":0.0418, "nfs":0.0000}, "time-start" : "2022-05-04 13:26:58", "time-end" : "2022-05-04 13:26:59", } { "input-expression":"factor(2^371-1)", "input-decimal":"4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830847", "input-argument-string":"factor(2^371-1) -v -plan deep ", "factors-prime":["127","743","2969","6361","69431","20394401","63781899287","204712366597949333831","145980337155634444285232523876979318451464756266456641329"], "pm1-curves" : {"150000":1}, "ecm-curves" : {"2000":48,"11000":96,"50000":214}, "ecm-levels" : {"t15":40.03,"t20":11.50,"t25":1.06,"t30":0.07}, "runtime" : {"total":1.4576, "ecm":0.4515, "pm1":0.0472, "pp1":0.0000, "siqs":0.0000, "nfs":0.0000}, "time-start" : "2022-05-04 13:27:07", "time-end" : "2022-05-04 13:27:08", } [/CODE] |
[QUOTE=bsquared;605251]I will likely rely heavily on users to tell me when things are broken.[/QUOTE]I'm also not a JSON expert, I just find it a very useful, widely-supported, easy-to-craft, interchange format. :smile:
I found another mistake in my example: entries are comma-separated (and whitespace is ignored) but you can't have a null entry, specifically the last entry should not have a trailing comma. Maybe you could make [c]"yafu-version":"2.3.xyz"[/c] the last entry. One other potential thing to watch for is the [i]possible[/i] need to [url=https://stackoverflow.com/questions/983451]escape special characters[/url] that might appear in the [c]input-argument-string[/c] or elsewhere, perhaps you might run into a [c]"[/c] in the argument string for example? |
I'm liking this quite a bit, hopefully it can be useful!
[CODE] { "input-expression":"factor(2^523-1)", "input-decimal":"27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228607", "input-argument-string":"factor(2^523-1) -v -threads 32 -snfs_xover 70 -plan light ", "factors-prime":["160188778313202118610543685368878688932828701136501444932217468039063","171417691861249198128317096534322116476165056718630345094896620367860006486977101859504089"], "pm1-curves" : {"150000":1,"3750000":1}, "ecm-curves" : {"2000":256,"11000":256,"50000":256,"250000":256}, "ecm-levels" : {"t15":117.64,"t20":47.95,"t25":6.49,"t30":0.68,"t35":0.06}, "runtime" : {"total":1729.3813, "ecm":3.6256, "pm1":1.1629, "pp1":0.0000, "siqs":0.0000, "nfs-total":1720.8274, "nfs-poly":0.0000, "nfs-sieve":989.4496, "nfs-filter":405.3591, "nfs-la":175.4860, "nfs-sqrt":52.9520}, "time-start" : "2022-05-05 09:20:43", "time-end" : "2022-05-05 09:49:33", "info":{"compiler":"INTEL 2021","ECM-version":"7.0.4","GMP-version":"6.2.0","yafu-version":"2.08"} } [/CODE] |
[QUOTE=bsquared;605289]I'm liking this quite a bit, hopefully it can be useful![/QUOTE]Looking great so far!
One thing from my example I don't see in your output (yet) is [c]ecm-levels.sum[/c]. It can be calculated by the user of course, but easier (for us) if you can include it in the output. |
Hi,
to validate your JSON output, you can use the following website: [URL="https://jsonlint.com/"]jsonlint.com[/URL] or [URL="https://jsonformatter.curiousconcept.com/"]jsonformatter[/URL] => ex: No comma at the end of the last line... Enjoy. |
[QUOTE=James Heinrich;604810]Just a suggestion that would be (very) useful to me, perhaps others: output results in JSON format. I'm thinking something along the lines of:[code]{
"input-expression":"2^123/17", "input-decimal:"625519056839960410778262146014279800", "factors-prime":["2","2","2","3","3","5","5","7","11","13","31","41","61","151","241","331","1321"], "factors-composite":["281406274007041"], "ecm-curves":{"2000":30, "11000":74, "50000":216, "250000":432}, "ecm-levels":{"t15":38.02, "t20":11.32, "t25":1.06, "t30":0.07, "sum":25.34}, "time-start":"2022-04-25 16:25:34", "time-end":"2022-04-25 18:34:56", "runtime":{"total":7762.123, "ecm":762.456, "pm1":16.95, "siqs":7654.32} }[/code](most of the above is made up for demonstration purposes) The idea being to make a consistent, easily-parsable output format that can contain all the relevant information in one place. Undoubtedly there are some other values that can/should be included, the beauty is they can be added (or be missing) without breaking any parsing. Obviously this output is only sane when an assignment is completed and can't be output during runtime as is done to factor.log but it would be an additional output.[/QUOTE] I would find it very useful, too. |
I've just had a strange occurrence when factoring the C85 remnant of 225[SUP]90[/SUP]+8[SUP]90[/SUP]. Yafu finds the PRP14 and PRP15 factors in the ECM step, and then it carries on for a bit longer, until it suddenly stops running.
The log file has this: [QUOTE]05/16/22 19:55:21, **************************** 05/16/22 19:55:21, Starting factorization of 6527241453816375542948001004083718646817094158516423588057982342841754799177671410161 05/16/22 19:55:21, using pretesting plan: normal 05/16/22 19:55:21, using tune info for qs/gnfs crossover 05/16/22 19:55:21, **************************** 05/16/22 19:55:21, rho: x^2 + 3, starting 1000 iterations on C85 05/16/22 19:55:21, rho: x^2 + 2, starting 1000 iterations on C85 05/16/22 19:55:21, rho: x^2 + 1, starting 1000 iterations on C85 05/16/22 19:55:22, pm1: starting B1 = 150K, B2 = gmp-ecm default on C85 05/16/22 19:55:22, current ECM pretesting depth: 0.00 05/16/22 19:55:22, scheduled 30 curves at B1=2000 toward target pretesting depth of 26.15 05/16/22 19:55:22, ecm: commencing 32 curves using AVX-ECM method on 6527241453816375542948001004083718646817094158516423588057982342841754799177671410161, B1=2k, B2=200k 05/16/22 19:55:22, ecm: finished 0 curves using AVX-ECM method on C85 input, B1=2k, B2=200k 05/16/22 19:55:22, prp15 = 340173882495361 (curve=3 stg=2 B1=2000 B2=200000 sigma=946092225 thread=0 vecpos=3) 05/16/22 19:55:22, prp14 = 26837982613801 (curve=6 stg=2 B1=2000 B2=200000 sigma=2888843093 thread=0 vecpos=6) 05/16/22 19:55:22, current ECM pretesting depth: 0.00 05/16/22 19:55:22, scheduled 30 curves at B1=2000 toward target pretesting depth of 17.54 05/16/22 19:55:22, ecm: commencing 32 curves using AVX-ECM method on 714955224866063780799923493058663443052770449650856853001, B1=2k, B2=200k [/QUOTE] Another file (the app's output, redirected) has this [QUOTE]... ecm: found prp15 factor = 340173882495361 ecm: found prp14 factor = 26837982613801 fac: setting target pretesting digits to 17.54 fac: estimated sum of completed work is t0.00 fac: work done at B1=2000: 0 curves, max work = 30 curves fac: 30 more curves at B1=2000 needed to get to t17.54 process id is 21132 commencing parallel ecm on 714955224866063780799923493058663443052770449650856853001 with 4 threads Mersenne input 2^282 - 1 determined to be faster by REDC ECM has been configured with DIGITBITS = 52, VECLEN = 8, GMP_LIMB_BITS = 64 Choosing MAXBITS = 416, NWORDS = 4, NBLOCKS = 1 based on input size 189 configuring avx-ecm with 4 threads Input has 189 bits, using 4 threads (8 curves/thread) Processing in batches of 100000000 primes Using 416-bit mul/sqr core Initialization took 0.0055 seconds. found 18061 primes in range [0 : 201000] ecm: 32/32 curves on C57 @ B1=2000, B2=100*B1 [/QUOTE] and that was all I got (I was running the program as a system call from another program, so I suppose any error message may well have been destroyed by that program recovering gracefully from the error). Any suggestions will be warmly welcomed. |
There is a fix for this in the latest source. Looks like I will need to make another windows executable.
|
[QUOTE=bsquared;605946]There is a fix for this in the latest source. Looks like I will need to make another windows executable.[/QUOTE]
That would be nice. Thank you. |
[B]bsquared[/B], is current version from [url]https://github.com/bbuhrow/yafu[/url] (both yafu-x64.exe) don't work on Windows 10 Pro 21H2 ?
[QUOTE]This version of yafu-x64.exe is not compatible with the version of Windows running on this computer. Check your system information, and then contact software developer.[/QUOTE] |
Is your OS and/or CPU 32-bit or 64-bit? If it's 32-bit, no 64-bit exe will work on it.
|
64-bit.
But I see "unsupported 16-bit application" in header of dialog error window. And size of .exe is around 125Kb only File with 2.07 version has size above 2Mb |
[QUOTE=thyrex;606834]But I see "unsupported 16-bit application" in header of dialog error window. And size of .exe is around 125Kb only. File with 2.07 version has size above 2Mb[/QUOTE]Maybe your download failed. The file available at [url]https://github.com/bbuhrow/yafu/blob/master/bin/x64/Release/yafu-x64.exe[/url] is (currently) 2,582,528 bytes.
|
When I try to build yafu under Ubuntu with [C]make NFS=1 USE_SSE41=1 USE_AVX=1[/C] it quits with:
[CODE]gcc -g -m64 -DUSE_SSE2 -DUSE_AVX2 -DUSE_SSE41 -mavx2 -DUSE_SSE41 -msse4.1 -DUSE_NFS -O2 -fomit-frame-pointer -Wall -I. -Iinclude -Itop/aprcl -Itop/cmdParser -Itop/ -I../ysieve -I../ytools -I/usr/local/include -I../msieve/zlib top/driver.o top/test.o factor/tune.o factor/autofactor.o top/cmdParser/cmdOptions.o top/cmdParser/calc.o -o yafu -lysiqs -lyecm -lynfs -L. -L../ysieve -L../ytools -L/usr/local/include -L../msieve/ -lmsieve -lecm /usr/lib/x86_64-linux-gnu/libgmp.a -lytools -lysieve -lpthread -lm -ldl /usr/bin/ld: ./libysiqs.a(SIQS.o): in function `siqs_static_init': /home/bur/Math/yafu/factor/qs/SIQS.c:2309: undefined reference to `nextRoots_32k_avx2_intrin' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_open': savefile.c:(.text+0x142): undefined reference to `gzopen64' /usr/bin/ld: savefile.c:(.text+0x266): undefined reference to `gzopen64' /usr/bin/ld: savefile.c:(.text+0x2a1): undefined reference to `gzopen64' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_close': savefile.c:(.text+0x341): undefined reference to `gzclose' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_write_line': savefile.c:(.text+0x461): undefined reference to `gzputs' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_flush': savefile.c:(.text+0x4e4): undefined reference to `gzputs' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_eof': savefile.c:(.text+0x371): undefined reference to `gzeof' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_read_line': savefile.c:(.text+0x3f0): undefined reference to `gzgets' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_rewind': savefile.c:(.text+0x521): undefined reference to `gzrewind' collect2: error: ld returned 1 exit status make: *** [Makefile:368: yafu] Error 1[/CODE] Omitting the [C]USE_AVX2=1[/C] flag, then it builds successfully. |
I've got another of those "it won't factor it" jobbies in Yafu 2.08. For some reason it won't go into QS/SIQS.
[CODE] 06/20/22 16:15:39, 06/20/22 16:15:39, **************************** 06/20/22 16:15:39, Starting factorization of 7036874796802706717792076127030118075734377553821445738998743574873144601450291676951142421607390370359561 06/20/22 16:15:39, using pretesting plan: deep 06/20/22 16:15:39, using tune info for qs/gnfs crossover 06/20/22 16:15:39, **************************** 06/20/22 16:15:39, div: found prime factor = 137 06/20/22 16:15:39, div: found prime factor = 433 06/20/22 16:15:39, rho: x^2 + 3, starting 1000 iterations on C102 06/20/22 16:15:39, rho: x^2 + 2, starting 1000 iterations on C102 06/20/22 16:15:39, rho: x^2 + 1, starting 1000 iterations on C102 06/20/22 16:15:39, pm1: starting B1 = 150K, B2 = gmp-ecm default on C102 06/20/22 16:15:39, current ECM pretesting depth: 0.00 06/20/22 16:15:39, scheduled 30 curves at B1=2000 toward target pretesting depth of 34.00 06/20/22 16:15:39, ecm: commencing 32 curves using AVX-ECM method on 118623671158657249840563647393505134366149888805337835488254472697242875228844619560545884621085119441, B1=2k, B2=200k 06/20/22 16:15:39, ecm: finished 32 curves using AVX-ECM method on C102 input, B1=2k, B2=200k 06/20/22 16:15:39, current ECM pretesting depth: 15.19 06/20/22 16:15:39, scheduled 74 curves at B1=11000 toward target pretesting depth of 34.00 06/20/22 16:15:41, Finished 74 curves using GMP-ECM method on C102 input, B1=11k, B2=gmp-ecm default 06/20/22 16:15:41, current ECM pretesting depth: 20.24 06/20/22 16:15:41, scheduled 214 curves at B1=50000 toward target pretesting depth of 34.00 06/20/22 16:15:52, Finished 214 curves using GMP-ECM method on C102 input, B1=50k, B2=gmp-ecm default 06/20/22 16:15:52, pm1: starting B1 = 3750K, B2 = gmp-ecm default on C102 06/20/22 16:15:53, current ECM pretesting depth: 25.33 06/20/22 16:15:53, scheduled 430 curves at B1=250000 toward target pretesting depth of 34.00 06/20/22 16:17:25, Finished 430 curves using GMP-ECM method on C102 input, B1=250k, B2=gmp-ecm default 06/20/22 16:17:25, pm1: starting B1 = 15M, B2 = gmp-ecm default on C102 06/20/22 16:17:28, current ECM pretesting depth: 30.45 06/20/22 16:17:28, scheduled 643 curves at B1=1000000 toward target pretesting depth of 34.00 06/20/22 16:28:35, Finished 643 curves using GMP-ECM method on C102 input, B1=1M, B2=gmp-ecm default 06/20/22 16:28:35, final ECM pretested depth: 34.01 06/20/22 16:28:35, c102 cofactor = 118623671158657249840563647393505134366149888805337835488254472697242875228844619560545884621085119441 06/20/22 16:28:35, Total factoring time = 776.2737 seconds [/CODE] I thought this was fixed. |
The next stage for this number must to be GNFS
|
No, a C102 can easily be solved by QS. It's not the ideal method, but shouldn't be more than 2-3x slower than GNFS.
|
[QUOTE=thyrex;608258]The next stage for this number must to be GNFS[/QUOTE]
According to tune_info the crossover point is 112: [CODE]tune_info=11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz,WIN64,8.83142e-06,0.197336,12.9645,0.0695818,111.146,42[/CODE] |
Why does YAFU (observed in both 1.34 and 2.07) like to do a bit more ECM when you've told it that the target amount of ECM has already been done?[quote]Starting factorization of 2251614550234055854784964846511840271248417541830029305669098830420329426567781418202670939759934333698412447
using pretesting plan: deep using specified qs/gnfs crossover of 100 digits using specified qs/snfs crossover of 75 digits [color=green]input indicated to have been pretested to t36.33[/color] **************************** [color=green]current ECM pretesting depth: 36.33[/color] [color=red]scheduled 379 curves at B1=32765 toward target pretesting depth of 36.33[/color] rho: x^2 + 3, starting 1000 iterations on C109 rho: x^2 + 2, starting 1000 iterations on C109 rho: x^2 + 1, starting 1000 iterations on C109 [color=green]current ECM pretesting depth: 36.33[/color] [color=red]scheduled 382 curves at B1=3000000 toward target pretesting depth of 36.33[/color] Finished 382 curves using GMP-ECM method on C109 input, B1=3M, B2=gmp-ecm default [color=red]final ECM pretested depth: 37.14[/color][/quote] |
A bug in special form detection
Yafu (the executable from Github), when run on "101^101+2", first finds the special form, then claims it can't find it. [CODE]nfs: searching for brent special forms...
nfs: input divides 101^101 + 2 nfs: searching for homogeneous cunningham special forms... nfs: searching for XYYXF special forms... nfs: searching for direct special forms... nfs: snfs form detection took 0.365021 seconds nfs: couldn't find special form[/CODE]And indeed, if I tell it to skip ECM ("-work 60" in command line), it proceeds to GNFS (instead of SNFS). |
crash with threads>1 on Fermat numbers
With threads=3, YAFU crashes on both 2^256+1 and 2^512+1 somewhere in ECM.
With threads=1, factorization of 2^256+1 succeeds. I have no patience to wait for 2^512+1, but probably OS: Windows 7, AVX2-capable hardware, YAFU executable from Github. |
[QUOTE=James Heinrich;609203]Why does YAFU (observed in both 1.34 and 2.07) like to do a bit more ECM when you've told it that the target amount of ECM has already been done?[/QUOTE]
When you tell it you've done a depth of 36.33 your input is interpreted as 36.3300000... When yafu says [CODE]scheduled 379 curves at B1=32765 toward target pretesting depth of 36.33[/CODE] could that 36.33 really represent a number rounded down to 36.33, e.g. 36.334...? What happens if you tell yafu that input has been pretested to t36.34? |
Yeah, it is a significant digits related issue, printed here with more precision enabled:
[CODE]07/13/22 10:24:25, input indicated to have been pretested to t36.33 07/13/22 10:24:25, **************************** 07/13/22 10:24:25, current ECM pretesting depth: 36.330000000000 07/13/22 10:24:25, scheduled 379 curves at B1=0 toward target pretesting depth of 36.330000000000 07/13/22 10:24:25, rho: x^2 + 3, starting 1000 iterations on C109 07/13/22 10:24:25, rho: x^2 + 2, starting 1000 iterations on C109 07/13/22 10:24:25, rho: x^2 + 1, starting 1000 iterations on C109 07/13/22 10:24:25, current ECM pretesting depth: 36.331171089718 07/13/22 10:24:25, scheduled 382 curves at B1=3000000 toward target pretesting depth of 36.333333333333 [/CODE] So it really wants to get to 36.3333333333 and you've only indicated you've performed up to 36.33 :razz: Putting in -work 36.34 causes it to skip ecm as now the threshold is exceeded. I hope that's acceptable as a work around? |
[QUOTE=bsquared;609441]I hope that's acceptable as a work around?[/QUOTE]It is, I can work with that. Maybe you could increase the output precision from 2 to 4(?) digits in a future version of YAFU?
|
[QUOTE=Tray2;609369]Yafu (the executable from Github), when run on "101^101+2", first finds the special form, then claims it can't find it. [CODE]nfs: searching for brent special forms...
nfs: input divides 101^101 + 2 nfs: searching for homogeneous cunningham special forms... nfs: searching for XYYXF special forms... nfs: searching for direct special forms... nfs: snfs form detection took 0.365021 seconds nfs: couldn't find special form[/CODE]And indeed, if I tell it to skip ECM ("-work 60" in command line), it proceeds to GNFS (instead of SNFS).[/QUOTE] I've fixed this now. Still need to update the windows executable on github. [QUOTE=Tray2;609370]With threads=3, YAFU crashes on both 2^256+1 and 2^512+1 somewhere in ECM. With threads=1, factorization of 2^256+1 succeeds. I have no patience to wait for 2^512+1, but probably OS: Windows 7, AVX2-capable hardware, YAFU executable from Github.[/QUOTE] I see the same thing: [CODE] ./yafu "factor(2^512+1)" -v -prefer_gmpecm Applying tune_info entry for LINUX64 - Intel(R) Xeon(R) Gold 6254 CPU @ 3.10GHz YAFU Version 2.08 Built with Intel Compiler 2021 Using GMP-ECM 7.0.4, Powered by GMP 6.2.0 Detected Intel(R) Xeon(R) Gold 6254 CPU @ 3.10GHz Detected L1 = 32768 bytes, L2 = 25952256 bytes, CL = 64 bytes Using 1 random witness for Rabin-Miller PRP checks Cached 664579 primes; max prime is 9999991 Parsed yafu.ini from /users/buhrow/src/c/yafu =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= bbuhrow@gmail.com ======= ======= Type help at any time, or quit to quit ======= =============================================================== >> fac: factoring 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084097 fac: using pretesting plan: normal fac: using tune info for qs/gnfs crossover div: primes less than 10000 fmt: 1000000 iterations rho: x^2 + 3, starting 1000 iterations on C155 rho: found prp7 factor = 2424833 rho: x^2 + 3, starting 1000 iterations on C148 rho: x^2 + 2, starting 1000 iterations on C148 rho: x^2 + 1, starting 1000 iterations on C148 nfs: searching for brent special forms... nfs: input divides 2^512 + 1 nfs: snfs form detection took 0.010181 seconds fac: generating an SNFS polynomial to assess ECM effort nfs: snfs form detection took 0.010683 seconds fac: ecm effort reduced from 45.54 to 35.42: input has snfs form pm1: starting B1 = 150K, B2 = gmp-ecm default on C148 pm1: Process took 0.0577 seconds. fac: generating an SNFS polynomial to assess ECM effort nfs: snfs form detection took 0.028646 seconds fac: ecm effort reduced from 45.54 to 35.42: input has snfs form fac: setting target pretesting digits to 35.42 fac: estimated sum of completed work is t0.00 fac: work done at B1=2000: 0 curves, max work = 30 curves fac: 30 more curves at B1=2000 needed to get to t35.42 yafu: schoen_strass.c:91: F_mod_1: Assertion `size <= (mp_size_t) n / (64 - 0) + 1' failed. yafu: schoen_strass.c:91: F_mod_1: Assertion `size <= (mp_size_t) n / (64 - 0) + 1' failed. [/CODE] This comes from the internally-linked gmp-ecm library. If I use the external executable it works fine. So a workaround until I can get this fixed is to use -ext_ecm 1, which tells it to use your external ecm binary for B1 larger than 1 (i.e., everything). |
[QUOTE=James Heinrich;609444]It is, I can work with that. Maybe you could increase the output precision from 2 to 4(?) digits in a future version of YAFU?[/QUOTE]
Sure, but that won't fix it as there could still be rounding problems. Instead, I could round up the reported "final ECM pretested depth". In this example it would then report a final depth of 36.34. So another pass over inputs with -work set to that value should skip ecm. |
[QUOTE=bsquared;609451]Sure, but that won't fix it as there could still be rounding problems.[/QUOTE]No, it's just nicer to have more digits. :smile:
[QUOTE=bsquared;609451]Instead, I could round up the reported "final ECM pretested depth". In this example it would then report a final depth of 36.34. So another pass over inputs with -work set to that value should skip ecm.[/QUOTE]The "better" solution would be something like this, checking if specified [c]work[/c] parameter is [c]>=[/c] how the "real" ECM target level would be displayed (currently 2 decimals) [c]if (TRUNC(TARGET_TLEVEL, 2) >= TRUNC(paramWORK, 2)) { // enough ECM done already[/c] (where 2 may be different if you change the output as per the first paragraph, of course). |
[QUOTE=bsquared;609451]Sure, but that won't fix it as there could still be rounding problems.
Instead, I could round up the reported "final ECM pretested depth". In this example it would then report a final depth of 36.34. So another pass over inputs with -work set to that value should skip ecm.[/QUOTE] Can you build in a comparison tolerance to the check, based on the number of significant digits input? |
How can i estimate at what range will gnfs-lasieve run finish?
|
[QUOTE=kotenok2000;609855]How can i estimate at what range will gnfs-lasieve run finish?[/QUOTE]Yeah, it would be nice to have [i]some[/i] indication of how things are progressing. I look at my worker window and see screensful of something like:[quote]nfs: commencing algebraic side lattice sieving over range: 5352000 - 5360000
nfs: commencing algebraic side lattice sieving over range: 5336000 - 5344000 nfs: commencing algebraic side lattice sieving over range: 5320000 - 5328000 nfs: commencing algebraic side lattice sieving over range: 5344000 - 5352000 nfs: commencing algebraic side lattice sieving over range: 5328000 - 5336000 total yield: 35574, q=5336003 (0.00953 sec/rel) total yield: 36790, q=5328007 (0.00947 sec/rel) total yield: 36643, q=5344007 (0.00955 sec/rel) total yield: 36793, q=5352001 (0.00954 sec/rel) total yield: 37913, q=5360023 (0.00945 sec/rel)[/quote]And I have no idea what the goal is, and how close we are to reaching it. I'm not sure if the "range" is important, or perhaps we're trying to get a sum total of "yields" up to some value? Is there any way for YAFU to output some kind of "found xxxx of yyyy at <timestamp>" kind of output between sieving batches, ideally with an ETA but even if an ETA isn't practical, just some kind of progress marker? |
[QUOTE=James Heinrich;609872]Yeah, it would be nice to have [i]some[/i] indication of how things are progressing. I look at my worker window and see screensful of something like:And I have no idea what the goal is, and how close we are to reaching it. I'm not sure if the "range" is important, or perhaps we're trying to get a sum total of "yields" up to some value? Is there any way for YAFU to output some kind of "found xxxx of yyyy at <timestamp>" kind of output between sieving batches, ideally with an ETA but even if an ETA isn't practical, just some kind of progress marker?[/QUOTE]
It's been a little while since I've run NFS through YAFU, but doesn't an ETA for the first filtering run get printed after each block of sieving? |
[QUOTE=charybdis;609875]doesn't an ETA for the first filtering run get printed after each block of sieving?[/QUOTE]No. The only time any kind of ETA or progress indication is shown is during linear algebra at the end:
[c]linear algebra completed 203985 of 778035 dimensions (26.2%, ETA 0h 9m)[/c] Other than that, it's just a long list of alternating "commencing algebraic side lattice sieving over range" and "total yield". Near-full run copy-pasted here for reference:[code]./yafu 'factor(396575026340771485444429419576580730613459590218767842017927574677606607686018159265677611836102407575723059903964302479871)' -p -plan deep -work 41.01 -R fac: factoring 396575026340771485444429419576580730613459590218767842017927574677606607686018159265677611836102407575723059903964302479871 fac: using pretesting plan: deep fac: using specified qs/gnfs crossover of 100 digits fac: using specified qs/snfs crossover of 75 digits fac: input indicated to have been pretested to t41.01 div: primes less than 10000 fmt: 1000000 iterations rho: x^2 + 3, starting 1000 iterations on C123 rho: x^2 + 2, starting 1000 iterations on C123 rho: x^2 + 1, starting 1000 iterations on C123 nfs: searching for brent special forms... nfs: searching for homogeneous cunningham special forms... nfs: searching for XYYXF special forms... nfs: searching for direct special forms... nfs: snfs form detection took 0.099746 seconds nfs: couldn't find special form nfs: commencing nfs on c123: 396575026340771485444429419576580730613459590218767842017927574677606607686018159265677611836102407575723059903964302479871 nfs: searching for brent special forms... nfs: searching for homogeneous cunningham special forms... nfs: searching for XYYXF special forms... nfs: searching for direct special forms... nfs: snfs form detection took 0.100252 seconds nfs: couldn't find special form nfs: thread 2 commencing polynomial search over range: 9740 - 9990 nfs: thread 3 commencing polynomial search over range: 9490 - 9740 deadline: 8640000 CPU-seconds per coefficient deadline: 8640000 CPU-seconds per coefficient nfs: thread 1 commencing polynomial search over range: 9990 - 10240 deadline: 8640000 CPU-seconds per coefficient nfs: thread 0 commencing polynomial search over range: 10240 - 10490 deadline: 8640000 CPU-seconds per coefficient nfs: thread 4 commencing polynomial search over range: 9240 - 9490 deadline: 8640000 CPU-seconds per coefficient coeff 9660 specialq 1 - 86906130 other 1330 - 3192 aprogs: 219 entries, 299 roots coeff 9840 specialq 1 - 87666497 other 1327 - 3184 aprogs: 208 entries, 244 roots coeff 9240 specialq 1 - 85120572 other 1338 - 3211 aprogs: 213 entries, 261 roots coeff 10140 specialq 1 - 88863207 other 1322 - 3172 aprogs: 216 entries, 284 roots coeff 10260 specialq 1 - 89297619 other 1320 - 3168 aprogs: 211 entries, 263 roots save 9.985982e-12 -7.2790 347434.94 1.974979e-10 rroots 5 save 8.739861e-12 -6.8959 182993.46 1.837354e-10 rroots 3 save 9.089872e-12 -6.9170 209107.35 1.879809e-10 rroots 3 save 9.448141e-12 -7.8179 330876.40 1.926314e-10 rroots 1 save 9.089872e-12 -6.9170 209107.35 1.879809e-10 rroots 3 save 9.448141e-12 -7.8179 330876.40 1.926314e-10 rroots 1 save 8.987847e-12 -7.0249 310037.22 1.832065e-10 rroots 3 save 8.987847e-12 -7.0249 310037.22 1.832065e-10 rroots 3 save 9.387527e-12 -7.0262 284670.86 1.899906e-10 rroots 5 save 1.047863e-11 -7.4046 303740.82 2.041655e-10 rroots 5 save 9.127681e-12 -7.2051 330627.96 1.878246e-10 rroots 3 save 9.127681e-12 -7.2051 330627.96 1.878246e-10 rroots 3 save 9.694244e-12 -7.6502 391450.68 1.947035e-10 rroots 3 save 9.387527e-12 -7.0262 284670.86 1.899906e-10 rroots 5 save 9.694244e-12 -7.6502 391450.68 1.947035e-10 rroots 3 save 9.213285e-12 -7.0474 308733.17 1.885680e-10 rroots 5 save 9.213285e-12 -7.0474 308733.17 1.885680e-10 rroots 5 save 1.047863e-11 -7.4046 303740.82 2.041655e-10 rroots 5 save 1.008677e-11 -7.1981 271332.83 1.985454e-10 rroots 5 save 9.080253e-12 -7.0112 334330.65 1.858275e-10 rroots 5 save 9.147256e-12 -7.1699 321783.94 1.880180e-10 rroots 3 save 9.431296e-12 -6.2907 90024.45 1.925079e-10 rroots 3 save 8.805274e-12 -6.6217 167027.52 1.838939e-10 rroots 3 hashtable: 256 entries, 0.00 MB coeff 9660 specialq 1 - 15087869 other 3192 - 7660 aprogs: 522 entries, 678 roots hashtable: 256 entries, 0.00 MB coeff 9240 specialq 1 - 14777877 other 3211 - 7706 aprogs: 517 entries, 629 roots hashtable: 256 entries, 0.00 MB coeff 10260 specialq 1 - 15503058 other 3168 - 7603 aprogs: 526 entries, 710 roots save 8.929516e-12 -6.1958 94219.74 1.842012e-10 rroots 3 hashtable: 256 entries, 0.00 MB coeff 9840 specialq 1 - 15219877 other 3184 - 7641 aprogs: 511 entries, 627 roots hashtable: 256 entries, 0.00 MB coeff 10140 specialq 1 - 15427640 other 3172 - 7612 aprogs: 503 entries, 591 roots save 9.088884e-12 -7.5505 347567.07 1.877911e-10 rroots 1 save 8.713843e-12 -6.7369 233883.01 1.833910e-10 rroots 3 save 8.713624e-12 -6.7707 252723.49 1.832887e-10 rroots 3 save 9.166070e-12 -7.0880 249745.95 1.888783e-10 rroots 1 save 8.713624e-12 -6.7707 252723.49 1.832887e-10 rroots 3 save 8.900047e-12 -6.7037 228412.41 1.861248e-10 rroots 3 save 9.166070e-12 -7.0880 249745.95 1.888783e-10 rroots 1 save 9.088884e-12 -7.5505 347567.07 1.877911e-10 rroots 1 save 9.088884e-12 -7.5505 347567.07 1.877911e-10 rroots 1 save 8.713843e-12 -6.7369 233883.01 1.833910e-10 rroots 3 save 8.713624e-12 -6.7707 252723.49 1.832887e-10 rroots 3 save 9.166070e-12 -7.0880 249745.95 1.888783e-10 rroots 1 save 8.713624e-12 -6.7707 252723.49 1.832887e-10 rroots 3 save 8.900047e-12 -6.7037 228412.41 1.861248e-10 rroots 3 save 9.166070e-12 -7.0880 249745.95 1.888783e-10 rroots 1 save 9.088884e-12 -7.5505 347567.07 1.877911e-10 rroots 1 save 9.088884e-12 -7.5505 347567.07 1.877911e-10 rroots 1 save 8.713843e-12 -6.7369 233883.01 1.833910e-10 rroots 3 save 8.713624e-12 -6.7707 252723.49 1.832887e-10 rroots 3 save 9.166070e-12 -7.0880 249745.95 1.888783e-10 rroots 1 save 8.713624e-12 -6.7707 252723.49 1.832887e-10 rroots 3 save 8.900047e-12 -6.7037 228412.41 1.861248e-10 rroots 3 save 9.166070e-12 -7.0880 249745.95 1.888783e-10 rroots 1 save 9.088884e-12 -7.5505 347567.07 1.877911e-10 rroots 1 save 9.382007e-12 -6.5303 287930.87 1.872158e-10 rroots 5 save 9.514652e-12 -6.6916 287475.31 1.921936e-10 rroots 5 save 9.168001e-12 -7.5003 432355.53 1.875053e-10 rroots 3 save 9.168001e-12 -7.5003 432355.53 1.875053e-10 rroots 3 save 1.009566e-11 -6.0174 128192.96 2.045538e-10 rroots 1 save 9.141487e-12 -6.7245 321708.18 1.864005e-10 rroots 3 save 9.005228e-12 -5.9238 168791.98 1.865759e-10 rroots 5 hashtable: 512 entries, 0.01 MB **** finished poly work in thread 3 hashtable: 512 entries, 0.01 MB **** finished poly work in thread 4 hashtable: 512 entries, 0.01 MB error generating or reading NFS polynomials **** finished poly work in thread 1 hashtable: 512 entries, 0.01 MB error generating or reading NFS polynomials **** finished poly work in thread 2 hashtable: 512 entries, 0.01 MB **** finished poly work in thread 0 elapsed time: 1744.1755 seconds (2753 second deadline); poly select done nfs: commencing algebraic side lattice sieving over range: 3232000 - 3240000 nfs: commencing algebraic side lattice sieving over range: 3200000 - 3208000 nfs: commencing algebraic side lattice sieving over range: 3208000 - 3216000 nfs: commencing algebraic side lattice sieving over range: 3216000 - 3224000 nfs: commencing algebraic side lattice sieving over range: 3224000 - 3232000 total yield: 34485, q=3232003 (0.00899 sec/rel) total yield: 36665, q=3224009 (0.00890 sec/rel) total yield: 36728, q=3240019 (0.00893 sec/rel) total yield: 36725, q=3216007 (0.00901 sec/rel) total yield: 43244, q=3208001 (0.00898 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3272000 - 3280000 nfs: commencing algebraic side lattice sieving over range: 3240000 - 3248000 nfs: commencing algebraic side lattice sieving over range: 3248000 - 3256000 nfs: commencing algebraic side lattice sieving over range: 3256000 - 3264000 nfs: commencing algebraic side lattice sieving over range: 3264000 - 3272000 total yield: 34794, q=3256021 (0.00889 sec/rel) total yield: 36859, q=3248017 (0.00888 sec/rel) total yield: 37561, q=3272011 (0.00885 sec/rel) total yield: 39449, q=3264007 (0.00891 sec/rel) total yield: 39875, q=3280003 (0.00892 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3312000 - 3320000 nfs: commencing algebraic side lattice sieving over range: 3288000 - 3296000 nfs: commencing algebraic side lattice sieving over range: 3296000 - 3304000 nfs: commencing algebraic side lattice sieving over range: 3304000 - 3312000 nfs: commencing algebraic side lattice sieving over range: 3280000 - 3288000 total yield: 34540, q=3296003 (0.00884 sec/rel) total yield: 34893, q=3320029 (0.00895 sec/rel) total yield: 37640, q=3304003 (0.00882 sec/rel) total yield: 38798, q=3288023 (0.00890 sec/rel) total yield: 40974, q=3312013 (0.00886 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3352000 - 3360000 nfs: commencing algebraic side lattice sieving over range: 3320000 - 3328000 nfs: commencing algebraic side lattice sieving over range: 3328000 - 3336000 nfs: commencing algebraic side lattice sieving over range: 3336000 - 3344000 nfs: commencing algebraic side lattice sieving over range: 3344000 - 3352000 total yield: 33660, q=3352003 (0.00875 sec/rel) total yield: 36129, q=3360011 (0.00888 sec/rel) total yield: 36772, q=3336017 (0.00881 sec/rel) total yield: 38335, q=3328007 (0.00886 sec/rel) total yield: 40439, q=3344021 (0.00882 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3392000 - 3400000 nfs: commencing algebraic side lattice sieving over range: 3368000 - 3376000 nfs: commencing algebraic side lattice sieving over range: 3376000 - 3384000 nfs: commencing algebraic side lattice sieving over range: 3384000 - 3392000 nfs: commencing algebraic side lattice sieving over range: 3360000 - 3368000 total yield: 33260, q=3376003 (0.00881 sec/rel) total yield: 37303, q=3384049 (0.00895 sec/rel) total yield: 39090, q=3400043 (0.00874 sec/rel) total yield: 38108, q=3368003 (0.00893 sec/rel) total yield: 38759, q=3392021 (0.00886 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3432000 - 3440000 nfs: commencing algebraic side lattice sieving over range: 3400000 - 3408000 nfs: commencing algebraic side lattice sieving over range: 3408000 - 3416000 nfs: commencing algebraic side lattice sieving over range: 3416000 - 3424000 nfs: commencing algebraic side lattice sieving over range: 3424000 - 3432000 total yield: 34988, q=3424019 (0.00880 sec/rel) total yield: 36918, q=3432001 (0.00893 sec/rel) total yield: 37661, q=3408001 (0.00887 sec/rel) total yield: 40197, q=3416011 (0.00876 sec/rel) total yield: 41102, q=3440011 (0.00893 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3472000 - 3480000 nfs: commencing algebraic side lattice sieving over range: 3440000 - 3448000 nfs: commencing algebraic side lattice sieving over range: 3448000 - 3456000 nfs: commencing algebraic side lattice sieving over range: 3456000 - 3464000 nfs: commencing algebraic side lattice sieving over range: 3464000 - 3472000 total yield: 34531, q=3472013 (0.00900 sec/rel) total yield: 34176, q=3464003 (0.00908 sec/rel) total yield: 35032, q=3480007 (0.00908 sec/rel) total yield: 37213, q=3448001 (0.00903 sec/rel) total yield: 39558, q=3456001 (0.00890 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3512000 - 3520000 nfs: commencing algebraic side lattice sieving over range: 3480000 - 3488000 nfs: commencing algebraic side lattice sieving over range: 3488000 - 3496000 nfs: commencing algebraic side lattice sieving over range: 3496000 - 3504000 nfs: commencing algebraic side lattice sieving over range: 3504000 - 3512000 total yield: 35393, q=3488003 (0.00894 sec/rel) total yield: 36218, q=3520007 (0.00894 sec/rel) total yield: 38379, q=3512011 (0.00898 sec/rel) total yield: 39196, q=3496007 (0.00896 sec/rel) total yield: 40382, q=3504001 (0.00901 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3552000 - 3560000 nfs: commencing algebraic side lattice sieving over range: 3520000 - 3528000 nfs: commencing algebraic side lattice sieving over range: 3528000 - 3536000 nfs: commencing algebraic side lattice sieving over range: 3536000 - 3544000 nfs: commencing algebraic side lattice sieving over range: 3544000 - 3552000 total yield: 32610, q=3528001 (0.00898 sec/rel) total yield: 35397, q=3544027 (0.00898 sec/rel) total yield: 35530, q=3552001 (0.00902 sec/rel) total yield: 36595, q=3536009 (0.00903 sec/rel) total yield: 38448, q=3560003 (0.00894 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3592000 - 3600000 nfs: commencing algebraic side lattice sieving over range: 3560000 - 3568000 nfs: commencing algebraic side lattice sieving over range: 3568000 - 3576000 nfs: commencing algebraic side lattice sieving over range: 3576000 - 3584000 nfs: commencing algebraic side lattice sieving over range: 3584000 - 3592000 total yield: 35539, q=3600001 (0.00904 sec/rel) total yield: 35542, q=3592009 (0.00900 sec/rel) total yield: 35660, q=3576029 (0.00898 sec/rel) total yield: 36298, q=3584011 (0.00897 sec/rel) total yield: 37874, q=3568003 (0.00898 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3632000 - 3640000 nfs: commencing algebraic side lattice sieving over range: 3600000 - 3608000 nfs: commencing algebraic side lattice sieving over range: 3608000 - 3616000 nfs: commencing algebraic side lattice sieving over range: 3616000 - 3624000 nfs: commencing algebraic side lattice sieving over range: 3624000 - 3632000 total yield: 36176, q=3640019 (0.00893 sec/rel) total yield: 36367, q=3608039 (0.00904 sec/rel) total yield: 39926, q=3616001 (0.00891 sec/rel) total yield: 40321, q=3624001 (0.00898 sec/rel) total yield: 41044, q=3632009 (0.00898 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3672000 - 3680000 nfs: commencing algebraic side lattice sieving over range: 3640000 - 3648000 nfs: commencing algebraic side lattice sieving over range: 3648000 - 3656000 nfs: commencing algebraic side lattice sieving over range: 3656000 - 3664000 nfs: commencing algebraic side lattice sieving over range: 3664000 - 3672000 total yield: 34780, q=3672007 (0.00899 sec/rel) total yield: 35705, q=3656017 (0.00896 sec/rel) total yield: 36157, q=3648031 (0.00901 sec/rel) total yield: 36333, q=3664013 (0.00906 sec/rel) total yield: 37224, q=3680011 (0.00907 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3712000 - 3720000 nfs: commencing algebraic side lattice sieving over range: 3680000 - 3688000 nfs: commencing algebraic side lattice sieving over range: 3688000 - 3696000 nfs: commencing algebraic side lattice sieving over range: 3696000 - 3704000 nfs: commencing algebraic side lattice sieving over range: 3704000 - 3712000 total yield: 35633, q=3712019 (0.00886 sec/rel) total yield: 35524, q=3688001 (0.00902 sec/rel) total yield: 37478, q=3696001 (0.00903 sec/rel) total yield: 37927, q=3720011 (0.00893 sec/rel) total yield: 39072, q=3704003 (0.00902 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3752000 - 3760000 nfs: commencing algebraic side lattice sieving over range: 3720000 - 3728000 nfs: commencing algebraic side lattice sieving over range: 3728000 - 3736000 nfs: commencing algebraic side lattice sieving over range: 3736000 - 3744000 nfs: commencing algebraic side lattice sieving over range: 3744000 - 3752000 total yield: 33449, q=3744001 (0.00894 sec/rel) total yield: 35697, q=3728017 (0.00906 sec/rel) total yield: 38070, q=3736003 (0.00894 sec/rel) total yield: 38902, q=3760007 (0.00888 sec/rel) total yield: 38547, q=3752009 (0.00900 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3792000 - 3800000 nfs: commencing algebraic side lattice sieving over range: 3760000 - 3768000 nfs: commencing algebraic side lattice sieving over range: 3768000 - 3776000 nfs: commencing algebraic side lattice sieving over range: 3776000 - 3784000 nfs: commencing algebraic side lattice sieving over range: 3784000 - 3792000 total yield: 34382, q=3768053 (0.00894 sec/rel) total yield: 34444, q=3776009 (0.00899 sec/rel) total yield: 37521, q=3800021 (0.00909 sec/rel) total yield: 38241, q=3792017 (0.00906 sec/rel) total yield: 38482, q=3784003 (0.00905 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3832000 - 3840000 nfs: commencing algebraic side lattice sieving over range: 3800000 - 3808000 nfs: commencing algebraic side lattice sieving over range: 3808000 - 3816000 nfs: commencing algebraic side lattice sieving over range: 3816000 - 3824000 nfs: commencing algebraic side lattice sieving over range: 3824000 - 3832000 total yield: 34952, q=3840007 (0.00905 sec/rel) total yield: 35893, q=3808001 (0.00891 sec/rel) total yield: 37048, q=3824017 (0.00896 sec/rel) total yield: 37508, q=3816011 (0.00901 sec/rel) total yield: 38827, q=3832001 (0.00907 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3872000 - 3880000 nfs: commencing algebraic side lattice sieving over range: 3840000 - 3848000 nfs: commencing algebraic side lattice sieving over range: 3848000 - 3856000 nfs: commencing algebraic side lattice sieving over range: 3856000 - 3864000 nfs: commencing algebraic side lattice sieving over range: 3864000 - 3872000 total yield: 33451, q=3856001 (0.00898 sec/rel) total yield: 35646, q=3872017 (0.00906 sec/rel) total yield: 36951, q=3864019 (0.00908 sec/rel) total yield: 38392, q=3880003 (0.00885 sec/rel) total yield: 38915, q=3848017 (0.00912 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3912000 - 3920000 nfs: commencing algebraic side lattice sieving over range: 3880000 - 3888000 nfs: commencing algebraic side lattice sieving over range: 3888000 - 3896000 nfs: commencing algebraic side lattice sieving over range: 3896000 - 3904000 nfs: commencing algebraic side lattice sieving over range: 3904000 - 3912000 total yield: 35911, q=3912017 (0.00903 sec/rel) total yield: 37594, q=3920003 (0.00901 sec/rel) total yield: 37223, q=3904001 (0.00899 sec/rel) total yield: 38806, q=3888007 (0.00906 sec/rel) total yield: 39455, q=3896003 (0.00898 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3952000 - 3960000 nfs: commencing algebraic side lattice sieving over range: 3920000 - 3928000 nfs: commencing algebraic side lattice sieving over range: 3928000 - 3936000 nfs: commencing algebraic side lattice sieving over range: 3936000 - 3944000 nfs: commencing algebraic side lattice sieving over range: 3944000 - 3952000 total yield: 34574, q=3960007 (0.00918 sec/rel) total yield: 36168, q=3936001 (0.00911 sec/rel) total yield: 39020, q=3952009 (0.00892 sec/rel) total yield: 38704, q=3944009 (0.00912 sec/rel) total yield: 39239, q=3928013 (0.00901 sec/rel) nfs: commencing algebraic side lattice sieving over range: 3992000 - 4000000 nfs: commencing algebraic side lattice sieving over range: 3960000 - 3968000 nfs: commencing algebraic side lattice sieving over range: 3968000 - 3976000 nfs: commencing algebraic side lattice sieving over range: 3976000 - 3984000 nfs: commencing algebraic side lattice sieving over range: 3984000 - 3992000 total yield: 33223, q=3976001 (0.00920 sec/rel) total yield: 34329, q=3968009 (0.00913 sec/rel) total yield: 35268, q=3992011 (0.00903 sec/rel) total yield: 35108, q=3984031 (0.00911 sec/rel) total yield: 38619, q=4000037 (0.00904 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4032000 - 4040000 nfs: commencing algebraic side lattice sieving over range: 4000000 - 4008000 nfs: commencing algebraic side lattice sieving over range: 4008000 - 4016000 nfs: commencing algebraic side lattice sieving over range: 4016000 - 4024000 nfs: commencing algebraic side lattice sieving over range: 4024000 - 4032000 total yield: 36699, q=4024001 (0.00899 sec/rel) total yield: 37705, q=4008001 (0.00899 sec/rel) total yield: 38256, q=4032029 (0.00911 sec/rel) total yield: 38571, q=4016003 (0.00920 sec/rel) total yield: 39755, q=4040009 (0.00903 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4072000 - 4080000 nfs: commencing algebraic side lattice sieving over range: 4040000 - 4048000 nfs: commencing algebraic side lattice sieving over range: 4056000 - 4064000 nfs: commencing algebraic side lattice sieving over range: 4064000 - 4072000 nfs: commencing algebraic side lattice sieving over range: 4048000 - 4056000 total yield: 36281, q=4064023 (0.00911 sec/rel) total yield: 35999, q=4056023 (0.00915 sec/rel) total yield: 38376, q=4048001 (0.00906 sec/rel) total yield: 37776, q=4072007 (0.00913 sec/rel) total yield: 40964, q=4080001 (0.00901 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4112000 - 4120000 nfs: commencing algebraic side lattice sieving over range: 4080000 - 4088000 nfs: commencing algebraic side lattice sieving over range: 4088000 - 4096000 nfs: commencing algebraic side lattice sieving over range: 4096000 - 4104000 nfs: commencing algebraic side lattice sieving over range: 4104000 - 4112000 total yield: 34141, q=4120003 (0.00907 sec/rel) total yield: 34657, q=4096013 (0.00910 sec/rel) total yield: 37907, q=4104007 (0.00905 sec/rel) total yield: 38989, q=4088009 (0.00906 sec/rel) total yield: 40636, q=4112021 (0.00901 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4152000 - 4160000 nfs: commencing algebraic side lattice sieving over range: 4120000 - 4128000 nfs: commencing algebraic side lattice sieving over range: 4128000 - 4136000 nfs: commencing algebraic side lattice sieving over range: 4136000 - 4144000 nfs: commencing algebraic side lattice sieving over range: 4144000 - 4152000 total yield: 35285, q=4136003 (0.00907 sec/rel) total yield: 37490, q=4160003 (0.00907 sec/rel) total yield: 38573, q=4128013 (0.00902 sec/rel) total yield: 38628, q=4144001 (0.00915 sec/rel) total yield: 40889, q=4152019 (0.00913 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4192000 - 4200000 nfs: commencing algebraic side lattice sieving over range: 4160000 - 4168000 nfs: commencing algebraic side lattice sieving over range: 4168000 - 4176000 nfs: commencing algebraic side lattice sieving over range: 4176000 - 4184000 nfs: commencing algebraic side lattice sieving over range: 4184000 - 4192000 total yield: 33998, q=4176001 (0.00916 sec/rel) total yield: 36546, q=4200013 (0.00928 sec/rel) total yield: 38954, q=4184017 (0.00901 sec/rel) total yield: 41029, q=4168001 (0.00915 sec/rel) total yield: 41267, q=4192007 (0.00908 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4232000 - 4240000 nfs: commencing algebraic side lattice sieving over range: 4216000 - 4224000 nfs: commencing algebraic side lattice sieving over range: 4200000 - 4208000 nfs: commencing algebraic side lattice sieving over range: 4208000 - 4216000 nfs: commencing algebraic side lattice sieving over range: 4224000 - 4232000 total yield: 35199, q=4208053 (0.00913 sec/rel) total yield: 35150, q=4224037 (0.00924 sec/rel) total yield: 35290, q=4240007 (0.00921 sec/rel) total yield: 36551, q=4232009 (0.00924 sec/rel) total yield: 38746, q=4216001 (0.00910 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4272000 - 4280000 nfs: commencing algebraic side lattice sieving over range: 4240000 - 4248000 nfs: commencing algebraic side lattice sieving over range: 4248000 - 4256000 nfs: commencing algebraic side lattice sieving over range: 4256000 - 4264000 nfs: commencing algebraic side lattice sieving over range: 4264000 - 4272000 total yield: 33802, q=4248017 (0.00926 sec/rel) total yield: 35575, q=4264021 (0.00915 sec/rel) total yield: 37206, q=4272001 (0.00916 sec/rel) total yield: 37100, q=4280009 (0.00918 sec/rel) total yield: 38286, q=4256003 (0.00912 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4312000 - 4320000 nfs: commencing algebraic side lattice sieving over range: 4280000 - 4288000 nfs: commencing algebraic side lattice sieving over range: 4288000 - 4296000 nfs: commencing algebraic side lattice sieving over range: 4296000 - 4304000 nfs: commencing algebraic side lattice sieving over range: 4304000 - 4312000 total yield: 34189, q=4304011 (0.00909 sec/rel) total yield: 35319, q=4296013 (0.00902 sec/rel) total yield: 34889, q=4288021 (0.00920 sec/rel) total yield: 37628, q=4312003 (0.00911 sec/rel) total yield: 37516, q=4320059 (0.00910 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4352000 - 4360000 nfs: commencing algebraic side lattice sieving over range: 4320000 - 4328000 nfs: commencing algebraic side lattice sieving over range: 4328000 - 4336000 nfs: commencing algebraic side lattice sieving over range: 4336000 - 4344000 nfs: commencing algebraic side lattice sieving over range: 4344000 - 4352000 total yield: 35929, q=4344007 (0.00923 sec/rel) total yield: 36659, q=4336019 (0.00926 sec/rel) total yield: 36375, q=4352003 (0.00933 sec/rel) total yield: 37516, q=4360001 (0.00923 sec/rel) total yield: 38212, q=4328017 (0.00928 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4392000 - 4400000 nfs: commencing algebraic side lattice sieving over range: 4360000 - 4368000 nfs: commencing algebraic side lattice sieving over range: 4368000 - 4376000 nfs: commencing algebraic side lattice sieving over range: 4376000 - 4384000 nfs: commencing algebraic side lattice sieving over range: 4384000 - 4392000 total yield: 34188, q=4400021 (0.00921 sec/rel) total yield: 36790, q=4384013 (0.00919 sec/rel) total yield: 36647, q=4392007 (0.00939 sec/rel) total yield: 38378, q=4368011 (0.00915 sec/rel) total yield: 39467, q=4376011 (0.00919 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4432000 - 4440000 nfs: commencing algebraic side lattice sieving over range: 4400000 - 4408000 nfs: commencing algebraic side lattice sieving over range: 4408000 - 4416000 nfs: commencing algebraic side lattice sieving over range: 4416000 - 4424000 nfs: commencing algebraic side lattice sieving over range: 4424000 - 4432000 total yield: 34465, q=4416007 (0.00928 sec/rel) total yield: 35863, q=4408007 (0.00943 sec/rel) total yield: 36330, q=4440001 (0.00950 sec/rel) total yield: 38717, q=4432007 (0.00937 sec/rel) total yield: 39861, q=4424009 (0.00938 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4472000 - 4480000 nfs: commencing algebraic side lattice sieving over range: 4440000 - 4448000 nfs: commencing algebraic side lattice sieving over range: 4448000 - 4456000 nfs: commencing algebraic side lattice sieving over range: 4456000 - 4464000 nfs: commencing algebraic side lattice sieving over range: 4464000 - 4472000 total yield: 34956, q=4480001 (0.00899 sec/rel) total yield: 34960, q=4472021 (0.00926 sec/rel) total yield: 35508, q=4464007 (0.00925 sec/rel) total yield: 35564, q=4448009 (0.00922 sec/rel) total yield: 39378, q=4456007 (0.00923 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4512000 - 4520000 nfs: commencing algebraic side lattice sieving over range: 4480000 - 4488000 nfs: commencing algebraic side lattice sieving over range: 4488000 - 4496000 nfs: commencing algebraic side lattice sieving over range: 4496000 - 4504000 nfs: commencing algebraic side lattice sieving over range: 4504000 - 4512000 total yield: 34698, q=4496039 (0.00935 sec/rel) total yield: 38203, q=4512007 (0.00923 sec/rel) total yield: 38853, q=4520003 (0.00916 sec/rel) total yield: 39228, q=4488007 (0.00914 sec/rel) total yield: 39632, q=4504009 (0.00911 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4552000 - 4560000 nfs: commencing algebraic side lattice sieving over range: 4536000 - 4544000 nfs: commencing algebraic side lattice sieving over range: 4528000 - 4536000 nfs: commencing algebraic side lattice sieving over range: 4520000 - 4528000 nfs: commencing algebraic side lattice sieving over range: 4544000 - 4552000 total yield: 35380, q=4528009 (0.00921 sec/rel) total yield: 37062, q=4536019 (0.00918 sec/rel) total yield: 38323, q=4544009 (0.00916 sec/rel) total yield: 38447, q=4560001 (0.00913 sec/rel) total yield: 38577, q=4552019 (0.00914 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4592000 - 4600000 nfs: commencing algebraic side lattice sieving over range: 4584000 - 4592000 nfs: commencing algebraic side lattice sieving over range: 4560000 - 4568000 nfs: commencing algebraic side lattice sieving over range: 4568000 - 4576000 nfs: commencing algebraic side lattice sieving over range: 4576000 - 4584000 total yield: 31864, q=4600003 (0.00923 sec/rel) total yield: 36951, q=4592009 (0.00918 sec/rel) total yield: 37870, q=4576001 (0.00901 sec/rel) total yield: 37529, q=4568009 (0.00926 sec/rel) total yield: 37822, q=4584031 (0.00914 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4632000 - 4640000 nfs: commencing algebraic side lattice sieving over range: 4616000 - 4624000 nfs: commencing algebraic side lattice sieving over range: 4608000 - 4616000 nfs: commencing algebraic side lattice sieving over range: 4600000 - 4608000 nfs: commencing algebraic side lattice sieving over range: 4624000 - 4632000 total yield: 34579, q=4640003 (0.00916 sec/rel) total yield: 34956, q=4608007 (0.00919 sec/rel) total yield: 37372, q=4616033 (0.00911 sec/rel) total yield: 37414, q=4624003 (0.00929 sec/rel) total yield: 39422, q=4632011 (0.00924 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4672000 - 4680000 nfs: commencing algebraic side lattice sieving over range: 4640000 - 4648000 nfs: commencing algebraic side lattice sieving over range: 4648000 - 4656000 nfs: commencing algebraic side lattice sieving over range: 4656000 - 4664000 nfs: commencing algebraic side lattice sieving over range: 4664000 - 4672000 total yield: 34528, q=4656053 (0.00918 sec/rel) total yield: 36754, q=4664003 (0.00921 sec/rel) total yield: 38051, q=4680001 (0.00918 sec/rel) total yield: 38268, q=4672001 (0.00921 sec/rel) total yield: 38839, q=4648003 (0.00920 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4712000 - 4720000 nfs: commencing algebraic side lattice sieving over range: 4680000 - 4688000 nfs: commencing algebraic side lattice sieving over range: 4688000 - 4696000 nfs: commencing algebraic side lattice sieving over range: 4696000 - 4704000 nfs: commencing algebraic side lattice sieving over range: 4704000 - 4712000 total yield: 35404, q=4712003 (0.00922 sec/rel) total yield: 35813, q=4704013 (0.00921 sec/rel) total yield: 36127, q=4696001 (0.00923 sec/rel) total yield: 36362, q=4720003 (0.00926 sec/rel) total yield: 37443, q=4688017 (0.00914 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4752000 - 4760000 nfs: commencing algebraic side lattice sieving over range: 4720000 - 4728000 nfs: commencing algebraic side lattice sieving over range: 4728000 - 4736000 nfs: commencing algebraic side lattice sieving over range: 4736000 - 4744000 nfs: commencing algebraic side lattice sieving over range: 4744000 - 4752000 total yield: 36175, q=4760003 (0.00921 sec/rel) total yield: 35927, q=4736023 (0.00930 sec/rel) total yield: 36932, q=4744001 (0.00924 sec/rel) total yield: 38435, q=4728001 (0.00918 sec/rel) total yield: 38819, q=4752001 (0.00925 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4792000 - 4800000 nfs: commencing algebraic side lattice sieving over range: 4760000 - 4768000 nfs: commencing algebraic side lattice sieving over range: 4768000 - 4776000 nfs: commencing algebraic side lattice sieving over range: 4776000 - 4784000 nfs: commencing algebraic side lattice sieving over range: 4784000 - 4792000 total yield: 34141, q=4768003 (0.00925 sec/rel) total yield: 37253, q=4784009 (0.00926 sec/rel) total yield: 36773, q=4776001 (0.00939 sec/rel) total yield: 37032, q=4800007 (0.00928 sec/rel) total yield: 37657, q=4792001 (0.00918 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4832000 - 4840000 nfs: commencing algebraic side lattice sieving over range: 4800000 - 4808000 nfs: commencing algebraic side lattice sieving over range: 4808000 - 4816000 nfs: commencing algebraic side lattice sieving over range: 4816000 - 4824000 nfs: commencing algebraic side lattice sieving over range: 4824000 - 4832000 total yield: 34869, q=4832017 (0.00935 sec/rel) total yield: 35285, q=4808003 (0.00934 sec/rel) total yield: 35713, q=4816003 (0.00924 sec/rel) total yield: 36799, q=4824011 (0.00925 sec/rel) total yield: 37096, q=4840027 (0.00925 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4872000 - 4880000 nfs: commencing algebraic side lattice sieving over range: 4840000 - 4848000 nfs: commencing algebraic side lattice sieving over range: 4848000 - 4856000 nfs: commencing algebraic side lattice sieving over range: 4856000 - 4864000 nfs: commencing algebraic side lattice sieving over range: 4864000 - 4872000 total yield: 34709, q=4872001 (0.00926 sec/rel) total yield: 35193, q=4864003 (0.00938 sec/rel) total yield: 35781, q=4848001 (0.00932 sec/rel) total yield: 38187, q=4856003 (0.00920 sec/rel) total yield: 37509, q=4880011 (0.00937 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4912000 - 4920000 nfs: commencing algebraic side lattice sieving over range: 4880000 - 4888000 nfs: commencing algebraic side lattice sieving over range: 4888000 - 4896000 nfs: commencing algebraic side lattice sieving over range: 4896000 - 4904000 nfs: commencing algebraic side lattice sieving over range: 4904000 - 4912000 total yield: 35029, q=4920023 (0.00925 sec/rel) total yield: 35645, q=4888043 (0.00931 sec/rel) total yield: 35023, q=4896011 (0.00949 sec/rel) total yield: 37389, q=4912007 (0.00919 sec/rel) total yield: 37347, q=4904023 (0.00933 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4952000 - 4960000 nfs: commencing algebraic side lattice sieving over range: 4928000 - 4936000 nfs: commencing algebraic side lattice sieving over range: 4936000 - 4944000 nfs: commencing algebraic side lattice sieving over range: 4920000 - 4928000 nfs: commencing algebraic side lattice sieving over range: 4944000 - 4952000 total yield: 34168, q=4944019 (0.00944 sec/rel) total yield: 37078, q=4960001 (0.00921 sec/rel) total yield: 37025, q=4936033 (0.00938 sec/rel) total yield: 37563, q=4928029 (0.00927 sec/rel) total yield: 38136, q=4952023 (0.00935 sec/rel) nfs: commencing algebraic side lattice sieving over range: 4992000 - 5000000 nfs: commencing algebraic side lattice sieving over range: 4960000 - 4968000 nfs: commencing algebraic side lattice sieving over range: 4968000 - 4976000 nfs: commencing algebraic side lattice sieving over range: 4976000 - 4984000 nfs: commencing algebraic side lattice sieving over range: 4984000 - 4992000 total yield: 32990, q=5000011 (0.00934 sec/rel) total yield: 36505, q=4984013 (0.00941 sec/rel) total yield: 38013, q=4976017 (0.00917 sec/rel) total yield: 37841, q=4968017 (0.00935 sec/rel) total yield: 41565, q=4992007 (0.00927 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5032000 - 5040000 nfs: commencing algebraic side lattice sieving over range: 5000000 - 5008000 nfs: commencing algebraic side lattice sieving over range: 5008000 - 5016000 nfs: commencing algebraic side lattice sieving over range: 5016000 - 5024000 nfs: commencing algebraic side lattice sieving over range: 5024000 - 5032000 total yield: 34663, q=5016013 (0.00944 sec/rel) total yield: 34832, q=5008007 (0.00941 sec/rel) total yield: 35998, q=5024009 (0.00936 sec/rel) total yield: 35767, q=5040031 (0.00940 sec/rel) total yield: 38086, q=5032019 (0.00936 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5072000 - 5080000 nfs: commencing algebraic side lattice sieving over range: 5040000 - 5048000 nfs: commencing algebraic side lattice sieving over range: 5048000 - 5056000 nfs: commencing algebraic side lattice sieving over range: 5056000 - 5064000 nfs: commencing algebraic side lattice sieving over range: 5064000 - 5072000 total yield: 35321, q=5080003 (0.00942 sec/rel) total yield: 35996, q=5072057 (0.00953 sec/rel) total yield: 37068, q=5064019 (0.00940 sec/rel) total yield: 36736, q=5056027 (0.00951 sec/rel) total yield: 40391, q=5048003 (0.00939 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5112000 - 5120000 nfs: commencing algebraic side lattice sieving over range: 5080000 - 5088000 nfs: commencing algebraic side lattice sieving over range: 5088000 - 5096000 nfs: commencing algebraic side lattice sieving over range: 5096000 - 5104000 nfs: commencing algebraic side lattice sieving over range: 5104000 - 5112000 total yield: 35711, q=5112001 (0.00938 sec/rel) total yield: 36013, q=5096011 (0.00935 sec/rel) total yield: 36024, q=5120029 (0.00959 sec/rel) total yield: 37614, q=5088007 (0.00936 sec/rel) total yield: 38205, q=5104009 (0.00938 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5152000 - 5160000 nfs: commencing algebraic side lattice sieving over range: 5120000 - 5128000 nfs: commencing algebraic side lattice sieving over range: 5128000 - 5136000 nfs: commencing algebraic side lattice sieving over range: 5136000 - 5144000 nfs: commencing algebraic side lattice sieving over range: 5144000 - 5152000 total yield: 33123, q=5144011 (0.00952 sec/rel) total yield: 35027, q=5152001 (0.00948 sec/rel) total yield: 36373, q=5160007 (0.00936 sec/rel) total yield: 37285, q=5136011 (0.00938 sec/rel) total yield: 39593, q=5128007 (0.00934 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5192000 - 5200000 nfs: commencing algebraic side lattice sieving over range: 5160000 - 5168000 nfs: commencing algebraic side lattice sieving over range: 5168000 - 5176000 nfs: commencing algebraic side lattice sieving over range: 5184000 - 5192000 nfs: commencing algebraic side lattice sieving over range: 5176000 - 5184000 total yield: 34292, q=5192009 (0.00950 sec/rel) total yield: 36014, q=5184001 (0.00937 sec/rel) total yield: 36656, q=5200007 (0.00954 sec/rel) total yield: 37443, q=5176009 (0.00944 sec/rel) total yield: 37746, q=5168021 (0.00948 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5232000 - 5240000 nfs: commencing algebraic side lattice sieving over range: 5200000 - 5208000 nfs: commencing algebraic side lattice sieving over range: 5208000 - 5216000 nfs: commencing algebraic side lattice sieving over range: 5216000 - 5224000 nfs: commencing algebraic side lattice sieving over range: 5224000 - 5232000 total yield: 34489, q=5224001 (0.00943 sec/rel) total yield: 35465, q=5240017 (0.00954 sec/rel) total yield: 36295, q=5232023 (0.00949 sec/rel) total yield: 37593, q=5216021 (0.00941 sec/rel) total yield: 39203, q=5208041 (0.00939 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5272000 - 5280000 nfs: commencing algebraic side lattice sieving over range: 5240000 - 5248000 nfs: commencing algebraic side lattice sieving over range: 5248000 - 5256000 nfs: commencing algebraic side lattice sieving over range: 5256000 - 5264000 nfs: commencing algebraic side lattice sieving over range: 5264000 - 5272000 total yield: 34653, q=5264003 (0.00952 sec/rel) total yield: 35561, q=5272009 (0.00951 sec/rel) total yield: 36380, q=5280007 (0.00951 sec/rel) total yield: 37232, q=5248003 (0.00950 sec/rel) total yield: 38346, q=5256001 (0.00957 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5312000 - 5320000 nfs: commencing algebraic side lattice sieving over range: 5280000 - 5288000 nfs: commencing algebraic side lattice sieving over range: 5288000 - 5296000 nfs: commencing algebraic side lattice sieving over range: 5296000 - 5304000 nfs: commencing algebraic side lattice sieving over range: 5304000 - 5312000 total yield: 35105, q=5288033 (0.00947 sec/rel) total yield: 36459, q=5320027 (0.00952 sec/rel) total yield: 36192, q=5312033 (0.00951 sec/rel) total yield: 35897, q=5296013 (0.00960 sec/rel) total yield: 37950, q=5304001 (0.00944 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5352000 - 5360000 nfs: commencing algebraic side lattice sieving over range: 5336000 - 5344000 nfs: commencing algebraic side lattice sieving over range: 5320000 - 5328000 nfs: commencing algebraic side lattice sieving over range: 5344000 - 5352000 nfs: commencing algebraic side lattice sieving over range: 5328000 - 5336000 total yield: 35574, q=5336003 (0.00953 sec/rel) total yield: 36790, q=5328007 (0.00947 sec/rel) total yield: 36643, q=5344007 (0.00955 sec/rel) total yield: 36793, q=5352001 (0.00954 sec/rel) total yield: 37913, q=5360023 (0.00945 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5392000 - 5400000 nfs: commencing algebraic side lattice sieving over range: 5360000 - 5368000 nfs: commencing algebraic side lattice sieving over range: 5368000 - 5376000 nfs: commencing algebraic side lattice sieving over range: 5376000 - 5384000 nfs: commencing algebraic side lattice sieving over range: 5384000 - 5392000 total yield: 35154, q=5392001 (0.00954 sec/rel) total yield: 36134, q=5376011 (0.00949 sec/rel) total yield: 35019, q=5368001 (0.00970 sec/rel) total yield: 36944, q=5400001 (0.00968 sec/rel) total yield: 39940, q=5384003 (0.00951 sec/rel) nfs: commencing msieve filtering 396575026340771485444429419576580730613459590218767842017927574677606607686018159265677611836102407575723059903964302479871 read 10M relations nfs: commencing algebraic side lattice sieving over range: 5432000 - 5440000 nfs: commencing algebraic side lattice sieving over range: 5400000 - 5408000 nfs: commencing algebraic side lattice sieving over range: 5408000 - 5416000 nfs: commencing algebraic side lattice sieving over range: 5416000 - 5424000 nfs: commencing algebraic side lattice sieving over range: 5424000 - 5432000 total yield: 35590, q=5424011 (0.00959 sec/rel) total yield: 36061, q=5408003 (0.00953 sec/rel) total yield: 37027, q=5432017 (0.00953 sec/rel) total yield: 37513, q=5416009 (0.00969 sec/rel) total yield: 38873, q=5440007 (0.00960 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5472000 - 5480000 nfs: commencing algebraic side lattice sieving over range: 5440000 - 5448000 nfs: commencing algebraic side lattice sieving over range: 5448000 - 5456000 nfs: commencing algebraic side lattice sieving over range: 5456000 - 5464000 nfs: commencing algebraic side lattice sieving over range: 5464000 - 5472000 total yield: 33423, q=5472017 (0.00962 sec/rel) total yield: 34185, q=5480009 (0.00960 sec/rel) total yield: 34668, q=5448011 (0.00950 sec/rel) total yield: 37201, q=5456027 (0.00966 sec/rel) total yield: 39662, q=5464003 (0.00963 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5512000 - 5520000 nfs: commencing algebraic side lattice sieving over range: 5480000 - 5488000 nfs: commencing algebraic side lattice sieving over range: 5496000 - 5504000 nfs: commencing algebraic side lattice sieving over range: 5504000 - 5512000 nfs: commencing algebraic side lattice sieving over range: 5488000 - 5496000 total yield: 32554, q=5520001 (0.00962 sec/rel) total yield: 35358, q=5512007 (0.00957 sec/rel) total yield: 36291, q=5488001 (0.00949 sec/rel) total yield: 36580, q=5496013 (0.00968 sec/rel) total yield: 38800, q=5504017 (0.00967 sec/rel) nfs: commencing msieve filtering 396575026340771485444429419576580730613459590218767842017927574677606607686018159265677611836102407575723059903964302479871 read 10M relations nfs: commencing algebraic side lattice sieving over range: 5552000 - 5560000 nfs: commencing algebraic side lattice sieving over range: 5544000 - 5552000 nfs: commencing algebraic side lattice sieving over range: 5528000 - 5536000 nfs: commencing algebraic side lattice sieving over range: 5536000 - 5544000 nfs: commencing algebraic side lattice sieving over range: 5520000 - 5528000 total yield: 34240, q=5552003 (0.00958 sec/rel) total yield: 35355, q=5528011 (0.00954 sec/rel) total yield: 36372, q=5544001 (0.00955 sec/rel) total yield: 36482, q=5536019 (0.00955 sec/rel) total yield: 37521, q=5560001 (0.00946 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5592000 - 5600000 nfs: commencing algebraic side lattice sieving over range: 5560000 - 5568000 nfs: commencing algebraic side lattice sieving over range: 5568000 - 5576000 nfs: commencing algebraic side lattice sieving over range: 5576000 - 5584000 nfs: commencing algebraic side lattice sieving over range: 5584000 - 5592000 total yield: 34681, q=5584021 (0.00958 sec/rel) total yield: 36069, q=5592001 (0.00951 sec/rel) total yield: 36615, q=5568023 (0.00957 sec/rel) total yield: 38922, q=5576009 (0.00957 sec/rel) total yield: 39677, q=5600027 (0.00968 sec/rel) nfs: commencing algebraic side lattice sieving over range: 5632000 - 5640000 nfs: commencing algebraic side lattice sieving over range: 5600000 - 5608000 nfs: commencing algebraic side lattice sieving over range: 5608000 - 5616000 nfs: commencing algebraic side lattice sieving over range: 5616000 - 5624000 nfs: commencing algebraic side lattice sieving over range: 5624000 - 5632000 total yield: 34193, q=5624023 (0.00962 sec/rel) total yield: 36519, q=5640031 (0.00951 sec/rel) total yield: 36065, q=5608003 (0.00970 sec/rel) total yield: 37594, q=5616011 (0.00962 sec/rel) total yield: 38089, q=5632001 (0.00958 sec/rel) nfs: commencing msieve filtering 396575026340771485444429419576580730613459590218767842017927574677606607686018159265677611836102407575723059903964302479871 read 10M relations nfs: commencing msieve linear algebra linear algebra completed 203985 of 778035 dimensions (26.2%, ETA 0h 9m) [/code] |
[QUOTE=James Heinrich;609877]No. The only time any kind of ETA or progress indication is shown is during linear algebra at the end:
[c]linear algebra completed 203985 of 778035 dimensions (26.2%, ETA 0h 9m)[/c] Other than that, it's just a long list of alternating "commencing algebraic side lattice sieving over range" and "total yield". Near-full run copy-pasted here for reference:[/QUOTE] Ah... I think it must only appear with -v switched on (or v=1 in yafu.ini). Edit: confirmed by looking at the code - from factor/nfs/nfs.c: [code]est_time = (uint32_t)((job.min_rels - job.current_rels) * (t_time / (job.current_rels - pre_batch_rels))); // if the user doesn't want to sieve, then we can't make progress. if ((fobj->nfs_obj.nfs_phases == NFS_DEFAULT_PHASES) || (fobj->nfs_obj.nfs_phases & NFS_PHASE_SIEVE)) { [COLOR="Red"]if (fobj->VFLAG > 0)[/COLOR] printf("nfs: found %u relations, need at least %u " "(filtering ETA: %uh %um), continuing with sieving ...\n", // uh... um... hmm... idk *shrug* job.current_rels, job.min_rels, est_time / 3600, (est_time % 3600) / 60); nfs_state = NFS_STATE_SIEVE; } else { [COLOR="red"]if (fobj->VFLAG > 0)[/COLOR] printf("nfs: found %u relations, need at least %u " "(filtering ETA: %uh %um), sieving not selected, finishing ...\n", job.current_rels, job.min_rels, est_time / 3600, (est_time % 3600) / 60); nfs_state = NFS_STATE_DONE; }[/code] |
[QUOTE=charybdis;609878]Ah... I think it must only appear with -v switched on[/QUOTE]Ah, much better. I didn't realize I didn't have verbosity enabled on that YAFU installation.[quote]nfs: found 1187354 relations, need at least 10040346 (filtering ETA: 4h 39m), continuing with sieving ...
Elapsed time is now 6021.2321 seconds.[/quote]Thanks! :smile: |
I would still suggest, however, that this line of output with the ETA should be included even at verbosity level 0, there's already a fair amount of output from NFS sieving so the extra line with ETA every now and then wouldn't really make things much longer (but contain useful-to-user information). And at v=1 there's now a lot more information on the screen that you need to hunt through the output to find the ETA line before it scroll off screen.
Also, perhaps date-stamping the ETA line would be helpful: for example I know the ETA is 3h15m according to the output on my screen, but was that printed just now, or an hour ago? Copying this ETA line to factor.log (where everything is datestamped) would also be helpful, that currently logs [c]nfs: commencing lattice sieving with X threads[/c] but nothing else. |
[QUOTE=James Heinrich;609900]I would still suggest, however, that this line of output with the ETA should be included even at verbosity level 0, there's already a fair amount of output from NFS sieving so the extra line with ETA every now and then wouldn't really make things much longer (but contain useful-to-user information). And at v=1 there's now a lot more information on the screen that you need to hunt through the output to find the ETA line before it scroll off screen.
Also, perhaps date-stamping the ETA line would be helpful: for example I know the ETA is 3h15m according to the output on my screen, but was that printed just now, or an hour ago? Copying this ETA line to factor.log (where everything is datestamped) would also be helpful, that currently logs [c]nfs: commencing lattice sieving with X threads[/c] but nothing else.[/QUOTE] Good feedback, thank you. I can make that happen. |
Why does yafu 2.08 binary from github say that it was built with Microsoft Visual Studio 1922?
Is there code from before year2k problem? |
Can anyone create an app_info.xml file for boinc yafu project to run yafu 2.0 instead of 1.34?
|
[QUOTE=bsquared;609450]I've fixed this now. Still need to update the windows executable on github.[/QUOTE]Any chance you, or someone, could build a new Windows executable with all the latest changes and fixes?
[c]factor.json[/c] output would be particularly useful to me ([url=https://www.mersenneforum.org/showthread.php?p=605289#post605289]added in May 2022[/url]), along with whatever tweaks and fixes have been made since the last build (6 months ago). |
YAFU docfile.txt says: [QUOTE]<name> = light: pretest to t-level 2/7 the size of
the input before starting qs/nfs[/QUOTE]but it seems it's rather 2/9 the size. |
I'm on vacation for a couple weeks. When I get back I'll get a couple more fixes done and update the windows version.
|
3 Attachment(s)
I use this perl script to contribute to factordb, but sometimes yafu gets stuck factoring the same number indefinitely.
|
[QUOTE=kotenok2000;610529]I use this perl script to contribute to factordb, but sometimes yafu gets stuck factoring the same number indefinitely.[/QUOTE]
When I notice this happening I abort yafu (ctrl-c), then restart it on the same number with -R -noecm and this works for me in that every time I have done it I have got a factorization very quickly. It implies that there is something awry between finishing the ecm stage and starting the NFS stage for the numbers that this happens to (but I know not what, and I could be completely wrong). |
I restarted it manually with the same command line and it correctly factored it.
|
I tried to get batchfile processing working with YAFU 2.08 and it's not playing nice for me. Running YAFU interactively or passing it a single number (e.g. [c]yafu-x64 "factor(12345)"[/c]) works fine, but when I specify to use a text file for input it gives a very ambiguous error that it can't open "something":[quote][c]U:\factordb>yafu-x64.exe -batchfile random_composites.txt[/c]
no variable indicator (@): interpreting batchfile lines as input expressions YAFU Version 2.08 Built with Microsoft Visual Studio [b]1922[/b] Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0 Detected Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz Detected L1 = 32768 bytes, L2 = 6291456 bytes, CL = 64 bytes Using 1 random witness for Rabin-Miller PRP checks Cached 664579 primes; max prime is 9999991 Parsed yafu.ini from U:\factordb =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= [email]bbuhrow@gmail.com[/email] ======= ======= Type help at any time, or quit to quit ======= =============================================================== [color=red]>> fopen error: Invalid argument couldn't open for reading[/color][/quote]The error message is trying to say what file it is trying to open but the filename is apparently empty at that point (which of course explains why it can't open it). But it's not really clear what file it's trying to open. Tried with base filename, different filenames, relative paths, full paths, different drives, but I can't get it working in v2.08 Perhaps a little overall code tweaking could make the error messages more useful, instead of saying "fopen <filename> failed", it could say "(log|factor|batch|whatever) fopen <filename> failed". Extra points if you can show what the configured filename was before it resolved down to emptystring. edit: Maybe my problem is (like [i]kotenok2000[/i] pointed out) that the version I'm using was built using a 100-year-old version of MSVS. :wink: |
It says "couldn't open stx for reading" for me when i redirect output to text file and open it in notepad++
|
[QUOTE=kotenok2000;610641]It says "couldn't open stx for reading" for me when i redirect output to text file and open it in notepad++[/QUOTE]Not in my case, redirected output is indeed an empty-string filename between two spaces.
|
This is in 2.07 so may have already been fixed, but I noticed something odd this morning:[quote]Starting factorization of 120429365390603351499490655344463033901953027604028644082960952575362981787169556144813176219675060180597674664423811465923470403
input indicated to have been pretested to t43.01 current ECM pretesting depth: 43.01 scheduled 2178 curves at [color=red]B1=0[/color] toward target pretesting depth of 43.01[/quote] |
[QUOTE=James Heinrich;610686]This is in 2.07 so may have already been fixed, but I noticed something odd this morning:[/QUOTE]
That's a rounding problem: try telling it that the input has been pretested to t43.02 or t44 |
[QUOTE=BudgieJane;610716]That's a rounding problem: try telling it that the input has been pretested to t43.02 or t44[/QUOTE]It might be a rounding issue if it just wants to run some more curves. My issue is with the curves being run at [c]B1=0[/c].
|
[QUOTE=bsquared;605289]I'm liking this quite a bit, hopefully it can be useful![/QUOTE]Since the default YAFU [c]factor.log[/c] output is both quite verbose and hard-to-parse, and the upcoming [c]factor.json[/c] format is compact and easy-to-parse, I wrote a PHP script to convert [c]factor.log[/c] to [c]factor.json[/c]
Usage: [c]php yafu-log2json.php factor.log > factor.json[/c] Please let me know if you come across a log sample where this fails. [code]<?php // YAFU factor.log to JSON format converter // written by: James Heinrich <james@mersenne.ca> // v0.1.0-202208041146 - initial release // v0.1.1-202208061639 - zero-width-assertions not working correctly in some cases // usage: php yafu-log2json.php factor.log > factor.json if ((count($_SERVER['argv']) != 2) || !preg_match('#\\.log$#i', $_SERVER['argv'][1])) { trigger_error('Usage: php '.basename(__FILE__).' factor.log'."\n", E_USER_ERROR); } elseif (!file_exists($_SERVER['argv'][1])) { trigger_error($_SERVER['argv'][1].' does not exist'."\n", E_USER_ERROR); } $rawlog = file_get_contents($_SERVER['argv'][1]); function YAFUfactorLogParse(&$rawlog) { // first look for nested factorizations of composites, and replace those blocks with the prime factors only $composites = array(); if (preg_match_all('#^(.+), c([0-9]+) = ([0-9]+)[ \r\n]#im', $rawlog, $matchset, PREG_PATTERN_ORDER)) { foreach ($matchset[3] as $composite) { $composites[$composite] = $composite; } ksort($composites); foreach ($composites as $composite) { if (preg_match('#^([^\\n]+)Starting factorization of '.$composite.'(.+)Total factoring time = [0-9\\.]+ seconds#imsU', $rawlog, $matches)) { if (preg_match_all('# p(rp)?([0-9]+) = ([0-9]+)#i', $matches[2], $matches2)) { list($dummy, $dummy, $dummy, $prime_factors) = $matches2; if (FactorsAddUp($composite, $prime_factors)) { $composites[$composite] = implode('*', $prime_factors); $rawlog = str_replace($matches[0], '', $rawlog); if (preg_match('#^([^\\n]+), c'.strlen($composite).' = '.$composite.'#im', $rawlog, $matches3)) { $prime_replacements = array(); foreach ($prime_factors as $prime_factor) { $prime_replacements[] = $matches3[1].', prp'.strlen($prime_factor).' = '.$prime_factor; } $rawlog = str_replace($matches3[0], implode(PHP_EOL, $prime_replacements), $rawlog); } } else { trigger_error('!FactorsAddUp('.$composite.', '.implode('*', $prime_factors).')'."\n", E_USER_ERROR); } } } } } foreach ($composites as $composite => $composite_factored) { if ($composite == $composite_factored) { trigger_error('Unfactored Composite: '.$composite."\n", E_USER_ERROR); } } // split out each factorization attempt, skipping any aborted attempts if (preg_match_all('#^([^\\n]+)Starting factorization of ([0-9]+)((?!Starting factorization of).*)Total factoring time = ([0-9\\.]+) seconds#imsU', $rawlog, $matchset, PREG_PATTERN_ORDER)) { // negative-string-match https://stackoverflow.com/questions/406230/ unset($matchset[1], $matchset[2], $matchset[3]); // save memory $JSON = array(); foreach ($matchset[0] as $matchnum => $logtext) { if (preg_match('#^(.+), Starting factorization of ([0-9]+)#i', $logtext, $matches)) { list($dummy, $timestamp_computer, $composite) = $matches; $datetime_start = YAFUtimestampParse($timestamp_computer); // div: found prime factor = 3 // prp16 = 6490148442004687 (curve 6 stg2 B1=11000 sigma=3972849619 thread=0) // prp32 = 15434893707426995319538878760499 $prime_factors = array(); if (preg_match_all('# div: found prime factor = ([0-9]+)#i', $logtext, $matches2)) { foreach ($matches2[1] as $prime_factor) { $prime_factors[] = $prime_factor; } } if (preg_match_all('# p(rp)?([0-9]+) = ([0-9]+)#i', $logtext, $matches2)) { foreach ($matches2[3] as $prime_factor) { $prime_factors[] = $prime_factor; } } if (!FactorsAddUp($composite, $prime_factors)) { trigger_error('!FactorsAddUp('.$composite.', '.implode('*', $prime_factors).')'."\n", E_USER_ERROR); } /* // https://www.mersenneforum.org/showthread.php?p=605289#post605289 { "input-expression":"factor(2^523-1)", "input-decimal":"27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228607", "input-argument-string":"factor(2^523-1) -v -threads 32 -snfs_xover 70 -plan light ", "factors-prime":["160188778313202118610543685368878688932828701136501444932217468039063","171417691861249198128317096534322116476165056718630345094896620367860006486977101859504089"], "pm1-curves" : {"150000":1,"3750000":1}, "ecm-curves" : {"2000":256,"11000":256,"50000":256,"250000":256}, "ecm-levels" : {"t15":117.64,"t20":47.95,"t25":6.49,"t30":0.68,"t35":0.06}, "runtime" : {"total":1729.3813, "ecm":3.6256, "pm1":1.1629, "pp1":0.0000, "siqs":0.0000, "nfs-total":1720.8274, "nfs-poly":0.0000, "nfs-sieve":989.4496, "nfs-filter":405.3591, "nfs-la":175.4860, "nfs-sqrt":52.9520}, "time-start" : "2022-05-05 09:20:43", "time-end" : "2022-05-05 09:49:33", "info":{"compiler":"INTEL 2021","ECM-version":"7.0.4","GMP-version":"6.2.0","yafu-version":"2.08"} } */ $data = array( 'input-decimal' => $composite, 'factors-prime' => $prime_factors, 'runtime' => array('total'=> $matchset[4][$matchnum]), 'time-start' => $datetime_start, ); if (preg_match('#^.+, Total factoring time = ([0-9\\.]+) seconds#im', $logtext, $matches2)) { $data['time-end'] = YAFUtimestampParse($matches2[0]); } $elapsedTimes = array( 'siqs' => 'SIQS', // SIQS elapsed time = 5.3933 seconds. 'nfs-sqrt' => 'Sqrt', // Sqrt elapsed time = 0.0060 seconds. 'nfs' => 'NFS', // NFS elapsed time = 54998.4025 seconds. // Lanczos elapsed time = 0.6300 seconds. ); foreach ($elapsedTimes as $json_key => $text_string) { if (preg_match('#^.+, '.$text_string.' elapsed time = ([0-9\\.]+) seconds\\.#im', $logtext, $matches2)) { $data['runtime'][$json_key] = $matches2[1]; } } $JSON[] = json_encode($data); } else { trigger_error('Failed to match start of factorization in logtext #'.$matchnum."\n\n".$logtext."\n", E_USER_ERROR); } } return implode("\n", $JSON); } else { trigger_error('Failed to preg_match_all "Starting factorization .. Total factoring time" in $rawlog ('.number_format(strlen($rawlog)).' bytes)'."\n"); } return false; } function YAFUtimestampParse($line) { list($rawdate, $rawtime) = explode(' ', $line); return date('Y-m-d H:i:s', strtotime($rawdate.' '.$rawtime)); } function FactorsAddUp($bignumber, $factors) { $composite = 1; foreach ($factors as $factor) { $composite = gmp_mul($composite, $factor); } $composite = gmp_strval($composite); return ($composite == $bignumber); } echo YAFUfactorLogParse($rawlog)."\n";[/code] Caveat: I discovered a quirk in YAFU v1.34.5 that double-outputs prp factor lines when it discovers a "perfect power":[quote]Starting factorization of 3827960579805422062343214616570866403 **************************** prp13 = 1564308789787 prp13 = 1564308789787 prp13 = 1564308789787 input is a perfect power prp13 = 1564308789787 prp13 = 1564308789787 prp13 = 1564308789787[/quote]This case is not handled by my script since it appears YAFU v2.x no longer does this, you'll just get a factors-don't-match error if this is encountered. |
v. 2.09 available
Changes/fixes since 2.08 have been compiled into a new version 2.09 windows executable.
This includes the request to print NFS filtering ETA more verbosely, and also include the ETA in the logfile. The issue with B1=0 happens because that is apparently printed before yafu has figured out what curves to use when given an input -work level. Curves will not actually be run at B1=0. There are some other things I need to clean up when using -work, so I'm going to hold off on fixing that for now until I can address those things. In the meantime it is safe to ignore the B1=0 message. By the way, the Visual Studio version 1922 thing is real... that is the actual value of _MSC_VER. See [URL="https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-170"]Predefined Macros[/URL]. I've upgraded to VS2022 so that is now version 1931 :smile: |
[QUOTE=bsquared;611078]Changes/fixes since 2.08 have been compiled into a new version 2.09 windows executable.[/QUOTE]Thanks Ben! :cool:
Download link for those who don't want to dig: [url]https://github.com/bbuhrow/yafu/raw/master/bin/x64/Release/yafu-x64.exe[/url] Seems to be behaving as expected so far, running it through [c]tune[/c] on my i3 right now. (Unfortunately my main PC still runs Win7, and I haven't yet found the courage to try building it on my CentOS-8 server). |
[QUOTE=James Heinrich;610639]I tried to get batchfile processing working with YAFU 2.08 and it's not playing nice for me.[/QUOTE]This is still broken for me in 2.09:[code]C:\Users\User\Desktop\factordb>yafu-x64.exe -batchfile random_composites.txt
Applying tune_info entry for WIN64 - Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz no variable indicator (@): interpreting batchfile lines as input expressions YAFU Version 2.09 Built with Microsoft Visual Studio 1931 Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0 Detected Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz Detected L1 = 32768 bytes, L2 = 6291456 bytes, CL = 64 bytes Using 1 random witness for Rabin-Miller PRP checks Cached 664579 primes; max prime is 9999991 Parsed yafu.ini from C:\Users\User\Desktop\factordb =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= bbuhrow@gmail.com ======= ======= Type help at any time, or quit to quit ======= =============================================================== >> fopen error: No such file or directory couldn't open 5 for reading[/code]It's a [i]little[/i] more specific about what it can't open now, but I'm not sure why it's trying to open [c]5[/c] (the error message still doesn't include information about what [i]kind[/i] of file it's trying (and failing) to open -- is that the batchfile input, or something else like ini file, etc? |
Also, I see factor.json is output now, which is fantastic. But would it be possible, at least with an ini-option (although I think it should be default), to put the JSON all on one line rather than pretty-printed? It makes parsing a whole lot easier if you can assume that one line = one result. Yes they're both valid, but it's both easier to computer-parse and easier to human-parse too if you're scanning down a long list of many JSON results where things are at least somewhere column-aligned between results rather than with lots of formatted whitespace.
|
We have ran again into that issue where some parts/bytes/relations of a [U]compressed[/U] rels.dat file are screwed up and can not be extracted. Factoring the C156, from aliquot 181428, index 1032, there were like 44M relations needed, but we got suspicious as we expected this factorization end before last weekend, we looked inside the log files and found out that every time the number of needed relations was reached, yafu (2.0) tried filtering and came out empty handed, with "zero relations and zero ideals". It seemed it could only extract some relations from the beginning of the file, but not all of them, and it was thinking there are not enough relations, therefore "extending" the usual 5% again and again for the last 3 days. (!!)
It took us half of the night of gzip and hex editor to "fix" it. Actually, only 3 or 4 hours of handwork, because the other 1 or 2 hours before, were spent searching the web for a hex editor which was not expensive and it was able to open and edit that almost 9 GB (!!!) of a monster file, and last but not least, have reasonable search/replace functions. We installed Hex Editor Neo, which was free and worked like a charm. The process went like that: 1. decompress the file with gzip (caution! gzip deletes the input file if you don't use -k option or so, we didn't know that, and our face fell down when we saw the 9GB of relations Puff! disappearing from the folder! but luckily, we had a copy. Never work on the original file! So, we learned the gzip switches, with this occasion :razz: In fact, we are boasting a bit, we were even not so clever, but gzip only wanted to decompress a "gz" file so that caused us to make a copy first, and call it "rels.gz" hehe). 2. gzip will create a clear text file with relations decompressing the gz file for as long as it can decompress it, and then give a "we found some rubbish after the end of the file, which was ignored" error message. That is not rubbish! Man, that's just the [U]rest (most of)[/U] the relations! The first ~5M relations were recovered this way. 3. copy the resulted file in another folder and zip it - this will create some zip file which you don't need, but you need its [U]size[/U] 4. look into the rels.dat (well, now renamed rels.gz) with the hex editor around that offset, to find the rubbish that stopped the gzip (and yafu) when it tried to unpack the relations. You are looking for something like "1B 00 00 1F" or something like that (I can find the exact string if anybody is interested) around the position where the chunk terminates, which represents the starting of a new gzip chunk. These bytes can appear anywhere in the file, but they are not always starting of a new chunk. That is why you need the approximate size of the compressed relations that you just decompressed, i.e. that is why you need step 3. The way gzip (used in yafu) works, a new chunk is added to the rels.dat file after every range of q's are searched, so your rels.dat can contain many such chunks (like 50, or a hundred, or more), and if one is damaged, you need to delete it from the file, and the rest can still be unpacked, and the relations are still usable). 5. delete everything from the beginning of the file to that offset, and save the file like rels1.gz 6. repeat from step 1 (use a copy of rels1.gz, or use the gzip switch to keep the input file), as long as you still have relations to recover, i.e. as long as gzip tells you that some "rubbish" is present at the end of the file, it means it did not extract till the end. We successfully recovered [U]over 75M relations[/U] !! (only 44M were needed, but that "extending 5%" process went on for few days). Luckily, only took us 3 loops, so the file was damaged only in 2 places. We recovered about 40M relations the second loop and another about 30M in the third loop. We concatenated the files with copy /b and renamed the uncompressed resulted file "rels.dat". We launched yafu on this file and it immediately moved to filtering and after some more minutes, to LA which said it will take about 2-3 hours. We let it run and went to bed, it was already past 3:00 AM. In the morning, the beast was factored, and another few terms of the sequence were solved by ECM. Now that computer is working at index 1038, and it lost the 3 and two powers of 2 (i.e. index 1038 is 2^2*blah_blah*C145, currently in ECM), and the sequence decreased (yeah!). We still have the nfs.log if anybody is interested. So, again, [B]what was that trick to run yafu in such a way that it doesn't compress the rels.dat file?[/B] People nowadays have a lot of space, and fast SSDs. Also sometimes we would also like to add relations by hand (in case files for specific core i.e. rels0, rels1, etc, remain hanging), which we can not do to a compressed file... |
[QUOTE=LaurV;611117]
So, again, [B]what was that trick to run yafu in such a way that it doesn't compress the rels.dat file?[/B] [/QUOTE] Sorry for your troubles... I think you have to build msieve with the NO_ZLIB=1 option during make. That's how I build mine and I've never had relations compressed. I'm assuming you are building your own copy and not using my provided windows version. That said, I'm not sure how you are getting both compressed and uncompressed relations in a single file. |
Checked in new update and new windows exe:
[QUOTE]+ fixed input of batchfiles, the file name wasn't getting copied to where it needed to be + by default json output is now all on one line, -jsonpretty option to pretty print like before (each category on separate line) [/QUOTE] |
curl -L "https://github.com/bbuhrow/yafu/raw/master/bin/x64/Release/yafu-x64.exe" -o "yafu.exe"
|
All times are UTC. The time now is 13:15. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.