mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > FermatSearch

Reply
 
Thread Tools
Old 2016-12-03, 18:08   #12
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

2·2,383 Posts
Default

The main differences between FermFact 0.9 and 2.0 are in the optimization code (deeper use of assembly and SSE2 registers, a different management for the primes sieve) and the way the program reads from/writes to files (many options are accepted: newpgen, abc, abc2 files are all accepted).

I think we can safely use the 2.0 from now on.

I will consider both the type (sieving/primality proving) and the destination (Fermat/gfn/xgf) of each executable.

Once I used a version of GFN-Fermat ready to look for gfn factors, I'm not sure it is still in my backups, so if someone has a copy...

Serge Batalov wrote an extension of mmff for gfn factors, I wil add it to the download page as well.

So ATM, we have 3 possible candidates for gfn search: for small, medium and big Ns.

I hope I will be able to develop a new download page with all the necessary infos by tomorrow. Meanwhile, I will upload the new productivity page if it passed the preliminar scrutiny.

Luigi
---

Last fiddled with by ET_ on 2016-12-03 at 18:09
ET_ is offline   Reply With Quote
Old 2016-12-04, 16:31   #13
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2×2,953 Posts
Default

I downloaded fermfact and based upon the comments at runtime it appears that it is a fixed n sieve that is done for multiple n. I think that the speed of fermfact vs ppsieve is highly dependent upon the inputs. I think that ppsieve has limits for the range of k, but can support a large range for n, but fermfact has limits for the range of n, but can support a large range of k.

I think I have a fixed n sieve for OpenCL sitting around somewhere. I could modify that to act as a GPU version of fermfact. Nevertheless it shouldn't be too hard to write a new CPU version of fermfact that is open source. I don't know if I could write it to be as fast though.

On the Researchers page you have an e-mail for Ray Ballinger. He passed away a while ago, so you can remove his e-mail address.

Would it be possible to have a page where someone could input a range of n (min and max) that would output the a few things:
  • A list of what has been searched for each n
  • A list of what is reserved for each n
  • A table listing the min k for each n that is both unreserved and untested.

Any of the three lists could have a combined row for multiple n.

Does that make sense? If you have a database behind your pages, it shouldn't be too difficult to do.
rogue is offline   Reply With Quote
Old 2016-12-04, 16:59   #14
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

10010100111102 Posts
Default

Quote:
Originally Posted by rogue View Post
I downloaded fermfact and based upon the comments at runtime it appears that it is a fixed n sieve that is done for multiple n. I think that the speed of fermfact vs ppsieve is highly dependent upon the inputs. I think that ppsieve has limits for the range of k, but can support a large range for n, but fermfact has limits for the range of n, but can support a large range of k.

I think I have a fixed n sieve for OpenCL sitting around somewhere. I could modify that to act as a GPU version of fermfact. Nevertheless it shouldn't be too hard to write a new CPU version of fermfact that is open source. I don't know if I could write it to be as fast though.

On the Researchers page you have an e-mail for Ray Ballinger. He passed away a while ago, so you can remove his e-mail address.

Would it be possible to have a page where someone could input a range of n (min and max) that would output the a few things:
  • A list of what has been searched for each n
  • A list of what is reserved for each n
  • A table listing the min k for each n that is both unreserved and untested.

Any of the three lists could have a combined row for multiple n.

Does that make sense? If you have a database behind your pages, it shouldn't be too difficult to do.
Hi Mark, thank you for the hints.

An OpenCL siever could only enhance the interest of the research, so you are welcome to contribute with whatever idea you have: I'm sure this theoretical/technical project would interest a lot of developers here on MersenneForum.

As for your request, I once wrote this page, but I admit it's not well suited for searches...
To be honest, my problem here was that I didn't want to put too much stress on the DB: the reservations are inputted as ranges, not N by N, so there would be calculations to do to select all the reservations that fall on a defined range.

Anyway, you are not the first one to ask for an enhancement of the page, so I will gladly try to redesign it to satisfy your request. Just send me three queries and the visualization of your desired results, nd I'll try to accomplish the desiderata.

Luigi

Last fiddled with by ET_ on 2016-12-04 at 17:00
ET_ is offline   Reply With Quote
Old 2016-12-04, 18:57   #15
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2×2,953 Posts
Default

Thanks.

Based upon how I and most others look at the data, I suggest collecting data such that for any n < 100, allow reservations by individual n. For any 100 <= n < 1000, allow reservations by groups of 10 n, i.e. 100-109,, 550-559, etc. In other words, don't allow an individual to reserve a single n for any n >= 100. They must do in groups of 10 along nice boundaries. For 1000 <= n < 9999 do in groups of 100, for 10000 <= n < 99999 do in groups of 1000. For n >= 100000 do in groups of 10000.

I understand that the data you have collected won't align with that, but future reservations will be fairly clear. It should also be easy to show this on a singe page with 88 + 100 + 100 + x rows. Obviously there will be gaps where (for example) n=111 is searched to one limit and n=112 is searched to another, but it should be easy to identify those gaps so that you can get all 110 <= n < 119 searched to the same k. Those gaps (which should all be small) should be your "most wanted" ranges. I'd bet that it would take little time for all of those gaps to be closed and even I might help (when my current resources free up).

If this page is complete, it should be easy to mock something up. I'll see what I can do. It can be merged with this page to show current reservations. I can't imagine too many people having an issue with it and it should make your life much easier WRT managing the search.

Thoughts?
rogue is offline   Reply With Quote
Old 2016-12-04, 19:38   #16
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

2·2,383 Posts
Default

Quote:
Originally Posted by rogue View Post
Thanks.

Based upon how I and most others look at the data, I suggest collecting data such that for any n < 100, allow reservations by individual n. For any 100 <= n < 1000, allow reservations by groups of 10 n, i.e. 100-109,, 550-559, etc. In other words, don't allow an individual to reserve a single n for any n >= 100. They must do in groups of 10 along nice boundaries. For 1000 <= n < 9999 do in groups of 100, for 10000 <= n < 99999 do in groups of 1000. For n >= 100000 do in groups of 10000.

I understand that the data you have collected won't align with that, but future reservations will be fairly clear. It should also be easy to show this on a singe page with 88 + 100 + 100 + x rows. Obviously there will be gaps where (for example) n=111 is searched to one limit and n=112 is searched to another, but it should be easy to identify those gaps so that you can get all 110 <= n < 119 searched to the same k. Those gaps (which should all be small) should be your "most wanted" ranges. I'd bet that it would take little time for all of those gaps to be closed and even I might help (when my current resources free up).

If this page is complete, it should be easy to mock something up. I'll see what I can do. It can be merged with this page to show current reservations. I can't imagine too many people having an issue with it and it should make your life much easier WRT managing the search.

Thoughts?
Well spotted Mark, great minds think alike!

This is how reservation should actually work, and indeed, the "merge tables" link shows ou the 2 tables of work that has been eitherreserved or done merged together.

Sadly not all participantss like to conform to my requests. Some reserve k=200-249 or N=860-889. I had reservations for N=800-899. Some require huge ranges of k and only newcomers follow the most wanted proposal.

Add to this that many old-timers participants work on their own ranges, and start them before releasing the old (completed) ranges, risking to step over others' toes.

I tried (and believe me, I DID!) in any way I could to grant people a more standard reservation pool, but I just couldn't throw away ranges that were sent to me completed just because they were not reserved in advance.

Anyway, thank to the help of everyone involved in the forum and in the search, we have actually no holes, and once the 6150 range will be assigned, the "n factoring limits" page will be the minimum accessible level for k on each N range.

Luigi
ET_ is offline   Reply With Quote
Old 2016-12-04, 19:44   #17
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

2·2,383 Posts
Default

On another task, I tried to rework the download page.

Tell me if it reflects your wishes/needs, and if you need to add any more info.

As an example, should we add infos about the used algorithm for each program, or just redirect the user to the productivity page?

A final word for the lacking download links on the table: I can do my search on the web, but would nevertheless enjoy your hints/links if you already use some of those programs, as I would like to deliver the newest versions.

Thank you.

Luigi
ET_ is offline   Reply With Quote
Old 2016-12-04, 22:02   #18
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2·2,953 Posts
Default

Quote:
Originally Posted by ET_ View Post
Well spotted Mark, great minds think alike!

This is how reservation should actually work, and indeed, the "merge tables" link shows ou the 2 tables of work that has been eitherreserved or done merged together.

Sadly not all participantss like to conform to my requests. Some reserve k=200-249 or N=860-889. I had reservations for N=800-899. Some require huge ranges of k and only newcomers follow the most wanted proposal.

Add to this that many old-timers participants work on their own ranges, and start them before releasing the old (completed) ranges, risking to step over others' toes.

I tried (and believe me, I DID!) in any way I could to grant people a more standard reservation pool, but I just couldn't throw away ranges that were sent to me completed just because they were not reserved in advance.

Anyway, thank to the help of everyone involved in the forum and in the search, we have actually no holes, and once the 6150 range will be assigned, the "n factoring limits" page will be the minimum accessible level for k on each N range.

Luigi
Reserving ranges of k only makes sense for large n, but most of those k have been searched or are being searched by other projects such as PrimeGrid.

As for reserving ranges of n as in your example, treat it as three reservations, 860-869, 870-879 and 880-889. If a user doesn't want to play nice, you just add whatever gap they leave as a gap for someone else to do. I would expect that most users will "come around" if they truly want to participate. Since Gary has put in a lot of time, maybe he has an opinion.

I am confused by some of the data on this page. How can "to n" be less than "from n"?

I like many of the changes you made.
rogue is offline   Reply With Quote
Old 2016-12-04, 22:29   #19
Gary
 
Gary's Avatar
 
"Gary"
Aug 2015
Texas

3116 Posts
Default

I like the new table format on the downloads page. One tiny suggestion: move the Type column to just after the Version column, since it is likely the first thing a reader would want to know about the program. I recommend leaving the one paragraph descriptions of each program on the downloads page below the table. The paragraphs have useful additional information that does not fit well in the table.

In the row for pmfs, the download link should be in the Linux column instead of the Windows column. Also pmfs does not perform a primality test. The best type description would be "Sieve + trial division".

On range reservation, I agree with the proposed granularity of ranges: 10 n's starting at a multiple of 10 for 100 <= n < 1000, etc. But I do think researchers should be allowed to reserve multiple ranges at a time. N = 200-249 is just 5 groups of 10, so should be "legal" to reserve, and the user interface should allow it to be done easily (assuming the user interface is something besides "email Luigi" )

Last fiddled with by Gary on 2016-12-04 at 22:30
Gary is offline   Reply With Quote
Old 2016-12-04, 22:31   #20
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2·2,953 Posts
Default

Quote:
Originally Posted by Gary View Post
On range reservation, I agree with the proposed granularity of ranges: 10 n's starting at a multiple of 10 for 100 <= n < 1000, etc. But I do think researchers should be allowed to reserve multiple ranges at a time. N = 200-249 is just 5 groups of 10, so should be "legal" to reserve, and the user interface should allow it to be done easily (assuming the user interface is something besides "email Luigi" )
I agree, reserving multiple ranges shouldn't be an issue, but it should respect the boundaries, i.e. support 250-299 but not 250-275.
rogue is offline   Reply With Quote
Old 2016-12-05, 09:28   #21
houding
 
houding's Avatar
 
"Adolf"
Nov 2013
South Africa

61 Posts
Default

If I can add my 10 cents worth of input as well.

On the downloads page it mentions MFAC, but there is no download, and as it is much slower, it is not used anymore.

Is it mentioned for historical purposes, or can the mention of it be removed.

Adolf
houding is offline   Reply With Quote
Old 2016-12-05, 11:07   #22
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

10010100111102 Posts
Default

Quote:
Originally Posted by rogue View Post
I am confused by some of the data on this page. How can "to n" be less than "from n"?

I like many of the changes you made.
Well, for lower Ns some fields are redefined: in fact such odd ranges were done using ECM, where "From N" --> "N" and "to N" --> "curves" I told you I am somewhat lazy... but for such low Ns ECM is usually preferred over factoring, so that's not a big problem...
ET_ is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Fermat code ET_ FermatSearch 44 2019-04-28 16:50
Rho code Happy5214 YAFU 3 2015-11-01 21:54
Please help me with my code daxmick Programming 15 2014-02-14 11:57
Code Help Andrew Programming 12 2013-02-16 20:53
New Code JohnFullspeed Programming 20 2011-09-04 04:28

All times are UTC. The time now is 09:36.

Thu Sep 24 09:36:21 UTC 2020 up 14 days, 6:47, 0 users, load averages: 1.84, 1.54, 1.44

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

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.