mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   YAFU (https://www.mersenneforum.org/forumdisplay.php?f=96)
-   -   Yafu (https://www.mersenneforum.org/showthread.php?t=10871)

bsquared 2010-12-08 17:06

[QUOTE=Brian Gladman;240744]Ah, I now understand. But does this mean that the binaries packaged as a part of the YAFU 1.20.1 distribution don't correspond with the source code that is in this package?

Brian[/QUOTE]

Correct. The binaries in 1.20.1 and 1.20.2 replace those in the 1.20 package, and are based on source code which is not present in the 1.20 package. I realize this is confusing, at best. I think of them as "binary patches", not full source code releases (which would increment the second number: 1.21, 1.22, etc). They are meant to serve as interim solutions to folks who don't want to wait until I can summon enough time to do a full source code release (which involves me editing every header, cleaning up experimental code, etc).

I'm under the impression that most of the handful of people in this user community just use the pre-compiled binaries anyway, and don't build from source, but maybe I'm mistaken.

Brian Gladman 2010-12-08 17:27

Ben, it may only be me but I am very doubtful about the wisdom of packaging binaries with sources that don't correspond. Would it not make more sense in such situations to publish a binary only release?

Brian

bsquared 2010-12-08 17:35

[QUOTE=Brian Gladman;240756]Ben, it may only be me but I am very doubtful about the wisdom of packaging binaries with sources that don't correspond. Would it not make more sense in such situations to publish a binary only release?

Brian[/QUOTE]

:doh!: I finally understand what you're talking about: there is source code in the 1.20.1 zip file!! This may reveal the true thickness of my skull, but I didn't know/realize that until now. It wasn't supposed to - I must have uploaded the wrong zip file. 1.20.2, you may notice, *is* a binary only release.

I completely agree that source and binaries should be consistent in any given release. Fortunately this is still true - the code in 1.20.1 does indeed correspond to the 1.20.1 binaries. When I was talking about them not matching, I was thinking of the 1.20 code and the 1.20.1 release, thinking that 1.20 was the last published code.

:max::max::max:

It's been a stressful couple a' weeks.

jasonp 2010-12-08 22:16

Getting set up on sourceforge was pretty easy, especially if you don't want to use the bells and whistles they offer (e.g. wiki pages, blogs, mailing lists). In my case I had an existing source release that I committed verbatim, then added the patchsets to rev it up, then released the new code.

If you're comfortable with Subversion, I'd suggest using it for version control; svn versions >= 1.6 have branch and merge features that make them much easier to use than they used to be.

VolMike 2010-12-20 13:45

Well, YAFU still provides uncomplete factorization (at least,x64-64k version does):

[CODE]
starting SIQS on c64: 2438909970388695166007026023585402419667194581958447871961
825277

==== sieving in progress ( 8 threads): 5746 relations needed ====
==== Press ctrl-c to abort and save state ====
5924 rels found: 3143 full + 2781 from 25406 partial, (5846.28 rels/sec)

SIQS elapsed time = 5.1873 seconds.
Total factoring time = 5.8263 seconds


***factors found***

P1 = 2
P2 = 11
P2 = 29
[B]C16 = 2440241139787709[/B]
PRP8 = 84405781
PRP29 = 14798670420039790102514408639
PRP36 = 164806019808780734883333051301234243

ans = 1

[/CODE]

Log:

[CODE]
12/20/10 16:43:10 v1.20.2 @ LOCAL, Starting factorization of 320495093427857324790532704579083274957902384750983279405873902457908327453245234532453254
12/20/10 16:43:10 v1.20.2 @ LOCAL, ****************************
12/20/10 16:43:10 v1.20.2 @ LOCAL, rho: x^2 + 1, starting 1000 iterations on C87
12/20/10 16:43:10 v1.20.2 @ LOCAL, rho: x^2 + 3, starting 1000 iterations on C87
12/20/10 16:43:10 v1.20.2 @ LOCAL, rho: x^2 + 2, starting 1000 iterations on C87
12/20/10 16:43:10 v1.20.2 @ LOCAL, pp1: starting B1 = 20K, B2 = 1M on C87
12/20/10 16:43:10 v1.20.2 @ LOCAL, c16 = 2440241139787709
12/20/10 16:43:10 v1.20.2 @ LOCAL, pm1: starting B1 = 100K, B2 = 5M on C72
12/20/10 16:43:10 v1.20.2 @ LOCAL, prp8 = 84405781
12/20/10 16:43:11 v1.20.2 @ LOCAL, Finished 25 curves using Lenstra ECM method on C64 input, B1 = 2000, B2 = 200000
12/20/10 16:43:11 v1.20.2 @ LOCAL, starting SIQS on c64: 2438909970388695166007026023585402419667194581958447871961825277
12/20/10 16:43:11 v1.20.2 @ LOCAL, random seeds: 2086335093, 510800799
12/20/10 16:43:11 v1.20.2 @ LOCAL, ==== sieve params ====
12/20/10 16:43:11 v1.20.2 @ LOCAL, n = 65 digits, 213 bits
12/20/10 16:43:11 v1.20.2 @ LOCAL, factor base: 5682 primes (max prime = 119293)
12/20/10 16:43:11 v1.20.2 @ LOCAL, single large prime cutoff: 7157580 (60 * pmax)
12/20/10 16:43:11 v1.20.2 @ LOCAL, sieve interval: 2 blocks of size 65536
12/20/10 16:43:11 v1.20.2 @ LOCAL, polynomial A has ~ 8 factors
12/20/10 16:43:11 v1.20.2 @ LOCAL, using multiplier of 5
12/20/10 16:43:11 v1.20.2 @ LOCAL, using small prime variation correction of 21 bits
12/20/10 16:43:11 v1.20.2 @ LOCAL, using SSE2 for trial division and x64 sieve scanning
12/20/10 16:43:11 v1.20.2 @ LOCAL, trial factoring cutoff at 72 bits
12/20/10 16:43:11 v1.20.2 @ LOCAL, ==== sieving started ( 8 threads) ====
12/20/10 16:43:11 v1.20.2 @ LOCAL, trial division touched 0 sieve locations out of 0
12/20/10 16:43:11 v1.20.2 @ LOCAL, 5925 relations found: 3143 full + 2782 from 25407 partial, using 0 polys (-1 A polys)
12/20/10 16:43:11 v1.20.2 @ LOCAL, on average, sieving found 1.#J rels/poly and 104572.63 rels/sec
12/20/10 16:43:11 v1.20.2 @ LOCAL, trial division touched 0 sieve locations out of 0
12/20/10 16:43:11 v1.20.2 @ LOCAL, ==== post processing stage (msieve-1.38) ====
12/20/10 16:43:11 v1.20.2 @ LOCAL, begin with 28549 relations
12/20/10 16:43:11 v1.20.2 @ LOCAL, reduce to 8337 relations in 2 passes
12/20/10 16:43:11 v1.20.2 @ LOCAL, recovered 8337 relations
12/20/10 16:43:11 v1.20.2 @ LOCAL, recovered 6171 polynomials
12/20/10 16:43:11 v1.20.2 @ LOCAL, attempting to build 5924 cycles
12/20/10 16:43:11 v1.20.2 @ LOCAL, found 5924 cycles in 1 passes
12/20/10 16:43:11 v1.20.2 @ LOCAL, distribution of cycle lengths:
12/20/10 16:43:11 v1.20.2 @ LOCAL, length 1 : 3143
12/20/10 16:43:11 v1.20.2 @ LOCAL, length 2 : 2781
12/20/10 16:43:11 v1.20.2 @ LOCAL, largest cycle: 2 relations
12/20/10 16:43:11 v1.20.2 @ LOCAL, matrix is 5682 x 5924 (0.8 MB) with weight 150342 (25.38/col)
12/20/10 16:43:11 v1.20.2 @ LOCAL, sparse part has weight 150342 (25.38/col)
12/20/10 16:43:11 v1.20.2 @ LOCAL, filtering completed in 4 passes
12/20/10 16:43:11 v1.20.2 @ LOCAL, matrix is 5141 x 5205 (0.7 MB) with weight 128843 (24.75/col)
12/20/10 16:43:11 v1.20.2 @ LOCAL, sparse part has weight 128843 (24.75/col)
12/20/10 16:43:11 v1.20.2 @ LOCAL, commencing Lanczos iteration
12/20/10 16:43:11 v1.20.2 @ LOCAL, memory use: 0.9 MB
12/20/10 16:43:11 v1.20.2 @ LOCAL, lanczos halted after 83 iterations (dim = 5136)
12/20/10 16:43:11 v1.20.2 @ LOCAL, recovered 62 nontrivial dependencies
12/20/10 16:43:11 v1.20.2 @ LOCAL, prp36 = 164806019808780734883333051301234243
12/20/10 16:43:11 v1.20.2 @ LOCAL, prp29 = 14798670420039790102514408639
12/20/10 16:43:11 v1.20.2 @ LOCAL, Lanczos elapsed time = 0.1930 seconds.
12/20/10 16:43:11 v1.20.2 @ LOCAL, Sqrt elapsed time = 0.0160 seconds.
12/20/10 16:43:11 v1.20.2 @ LOCAL, SIQS elapsed time = 0.4820 seconds.
12/20/10 16:43:11 v1.20.2 @ LOCAL,
12/20/10 16:43:11 v1.20.2 @ LOCAL,
12/20/10 16:43:11 v1.20.2 @ LOCAL, Total factoring time = 1.0711 seconds
[/CODE]

Brian Gladman 2010-12-20 14:10

It works fine for me (assuming these results are ok):

starting SIQS on c64: 2438909970388695166007026023585402419667194581958447871961

==== sieving in progress (1 thread): 5746 relations needed ====
==== Press ctrl-c to abort and save state ====
5031 rels found: 2842 full + 2189 from 22770 partial, (2700.32 rels/sec)

SIQS elapsed time = 10.8732 seconds.
Total factoring time = 14.1336 seconds


***factors found***

PRP29 = 14798670420039790102514408639
PRP36 = 164806019808780734883333051301234243

------------------------------------
I think that there are some bad binaries around but, as far as I know, Ben has not yet published his latest code so I can't help here.

Brian

bsquared 2010-12-20 14:27

[QUOTE=Brian Gladman;242788]It works fine for me (assuming these results are ok):


Brian[/QUOTE]

I think he meant the C18 found by the P+1 method.

@VolMike: It's true that composites are occasionally reported by the various methods. Its on my short term road map to fix this, and cause these composites to be automatically re-factored.

I've started a sourceforge project for yafu. The latest code can be found there. I still need to modify my webpage to point there...

[url]http://sourceforge.net/projects/yafu/[/url]

Brian Gladman 2010-12-20 14:53

Thanks Ben,

I have now downloaded from your new SVN trunk and it all builds fine for x64. I guess whether it works or not will have to depend on trying a known past failure case.

I'll happily volunteer to keep the Visual Studio 2010 stuff up to date if you need any help here.

Brian

bsquared 2010-12-20 15:06

[QUOTE=Brian Gladman;242794]Thanks Ben,

I have now downloaded from your new SVN trunk and it all builds fine for x64. I guess whether it works or not will have to depend on trying a known past failure case.

I'll happily volunteer to keep the Visual Studio 2010 stuff up to date if you need any help here.

Brian[/QUOTE]

That would be great, very much appreciate the offer!

- ben.

VolMike 2010-12-20 16:52

[QUOTE=bsquared;242791]I think he meant the C18 found by the P+1 method.

@VolMike: It's true that composites are occasionally reported by the various methods. Its on my short term road map to fix this, and cause these composites to be automatically re-factored.

I've started a sourceforge project for yafu. The latest code can be found there. I still need to modify my webpage to point there...

[url]http://sourceforge.net/projects/yafu/[/url][/QUOTE]

Ok. Thanks.

bsquared 2010-12-22 21:35

version 1.21 code release.
 
Just updated the SVN code for version 1.21. Changes:

[CODE]+ more robust parsing of batchfiles
+ lines are removed from a batch file as they complete
+ complete overhaul of factor()
+ better attempt at making it time-optimal to factor any input
+ automatically refactor composites reported during a factorization
+ cleaner code
+ ecm, pm1, pp1 methods now respond to cntl-c signals. if cntl-c is detected in any of these functions (or siqs), the factors found so far are printed to the screen, along with any leftover co-factor
+ a couple other minor bugfixes[/CODE]

I'm away from my windows development machine, so I haven't posted any windows binaries yet. Linux binaries are available.

[url]http://yafu.sourceforge.net/[/url]


All times are UTC. The time now is 23:01.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.