mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Msieve

Reply
 
Thread Tools
Old 2010-02-19, 13:03   #1
Andi47
 
Andi47's Avatar
 
Oct 2004
Austria

1001101100102 Posts
Default Feature request: multithreaded polsel

OK, we all know, that we also can do a polsel on t threads manually (or maybe with a script?):

1.) start msieve -np -v to find out the time limit and the search range
2.) kill the job immediately and delete the outputfiles (to avoid that msieve stops the run after 1 second in step 4 and outputs the first (possibly very sub-optimal) poly from step 1.)
3.) divide the search range in t subranges
4.) run the jobs in t different directories on t threads
5.) kill the jobs after (time-limit/t) hours
6.) gather the outputfiles and find out which is the best poly
7.) (re-format the best poly in ggnfs-format)

But it would be nice if we can do this automatically by just typing "msieve -np -t <number of threads>".

Edit: This would also accelerate poly search when it is launched by scripts like aliqueit (these can be adapted to start msieve -np -t <number of threads>). AFIK, FactMsieve.pl also does msieve -v -p -nc3 -t <number of threads> for square root phase - it would also be nice if each thread gets its dependencies to solve instead of running sqrt on just one thread.

Last fiddled with by Andi47 on 2010-02-19 at 13:21 Reason: -nc3
Andi47 is offline   Reply With Quote
Old 2010-02-20, 01:16   #2
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

33×131 Posts
Default

I don't want to run multiple threads for the square root because of the potential memory use; running different dependencies in parallel makes the memory for one dependency scale linearly. This is no problem for small inputs, but small inputs complete the square root in a few minutes anyway. The right level of parallelism is to run a single dependency using multiple threads; I'll think about trying to do that, it may not be that hard with GMP.

Running the poly selection in multiple threads, especially with the GPU code, will be tricky. Also, I'm in the middle of merging the CPU and GPU code versions, so my local sources are a mess right now.

At least the .p file has polynomials in GGNFS format already :) You also can do several msieve runs in the same directory with '-l [unique_name] -s [unique_name] -nf [unique_name]' and all the generated files will have different names.

Also, '-d <num>' will have the binary stop itself after <num> minutes.

Last fiddled with by jasonp on 2010-02-20 at 04:21
jasonp is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Feature request tcharron Software 3 2018-10-03 20:08
feature request P-1 tha Software 4 2014-02-23 21:29
Feature request TheMawn PrimeNet 3 2013-06-17 02:32
Feature Request moo Software 24 2005-11-26 22:08
Feature request JuanTutors Software 2 2005-07-04 22:02

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

Sun Apr 18 01:50:39 UTC 2021 up 9 days, 20:31, 0 users, load averages: 1.37, 1.45, 1.43

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, 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.