View Single Post
Old 2013-04-25, 13:33   #5
WraithX's Avatar
Mar 2006

23×59 Posts

Originally Posted by jasonp View Post
The built-in parameters for 210-digit polynomial selection are not going to work without manual intervention. For example, it's not clear whether you should look for degree-5 or degree-6. Check Readme.nfs for all the knobs that are necessary to specify how the search should proceed, you will need to override several of them in ways that are not clear to me.

You also should not start with a leading coefficient of 1; Paul Zimmermann has shown that you improve the chances of finding a good polynomial if you look for leading coefficients that balance the optimal skew against the size of the middle polynomial coefficient. That's definitely the case for degree-6, and probably true for degree 5.

If this is not an RSA challenge number, I hope it has had enough ECM thrown at it...
Yeah, the first range I searched was 1e8-2e8, then I did go back and search 1-1e8. Altogether I've done (or am currently working on) 1-1e8, 1e8-2e8, 2e8-3e8, 3e8-4e8, 10e8-11e8, and 100e8-101e8. All of those were with -np1. I used a much smaller stage1_norm on all of those (5e29) to minimize how much output they produced. Each range gives between 400k and 500k hits. -nps on all of those hits runs pretty quickly (depending on computer, usually ~20 minutes). I had run into a self-made problem when trying to run -npr. ie, I was using "sort -g -k 11 | head -10000" to find the best -nps results. However, since these were all degree 5 polynomials, I was basically just getting the head of the -nps results, which definitely wasn't what I wanted. I have finally figured out that I should use "sort -g -k 10 | head -10000" for these degree 5 polynomials. So, I am rerunning -npr and am getting much better results so far.

I am seeing a couple of different reactions from msieve when I run various steps on different computers. (all of these are CUDA enabled and run on computers with Nvidia cards) On my Linux x64 machine, where I built msieve from svn (...maybe 839?), when I run -nps it is extremely fast. It can process 500k -np1 hits in about 20 minutes, and that's on one core. On my Windows x64 machine, when I run the 32-bit CUDA-enabled windows msieve (1.51 from sourceforge) it takes about 2.5 hours to process 500k -np1 hits on one core. Is this speed difference because of the 32/64 bit difference? Or maybe there is a Linux/Windows speed difference? Or maybe a combination of those two factors?

Also, when I run -npr on the top ~10000 -nps hits, I am seeing similar speed differences. On my Linux x64 machine it takes about 2 hours to process the top 12000 -nps hits on 12 cores (1000/core). On my Windows x64 machine with 32-bit msieve 1.51, it takes about 25 hours to process the top 16000 -nps hits on 16 cores (1000/core). Could this step also be showing a speed difference because of the 32/64 bit difference?

As for having enough ECM thrown at it, I don't have the numbers in front of me, but I think I've put in about 1.3*t65 into this. Still a bit off from the recommended t70, but I thought switching now would be a better use of my resources. I only have about 36 cores I can put into sieving, so I may eventually try to open this up as a project here on the forums. But, I'd like to find a good polynomial and good parameters before I get to that point. I'll start looking into tweaking the other poly search parameters like you've mentioned. Thanks for the hints and tips so far. If you or anyone else can think of other things I should consider or try out, I'd be very interested to hear it.
WraithX is offline   Reply With Quote