mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software

Reply
 
Thread Tools
Old 2014-02-23, 14:35   #1
tha
 
tha's Avatar
 
Dec 2002

787 Posts
Default feature request P-1

I would like an option to let mprime/prime95 use two cores for P-1 work and have the work automatically ditributed so that only one core is doing stage 2 and the other core stage 1. If needed some P-1 work may therefore needed to be stored in a pipeline. Maybe impemented in such a way that when 4 cores are used to do P-1 that ony two cores work on stage 2.
tha is offline   Reply With Quote
Old 2014-02-23, 14:47   #2
petrw1
1976 Toyota Corona years forever!
 
petrw1's Avatar
 
"Wayne"
Nov 2006
Saskatchewan, Canada

73×13 Posts
Default

You do realize the stage 2 core will fall behind? For me it takes 30 to 100% longer depending on avail RAM. That said I like your idea.
petrw1 is offline   Reply With Quote
Old 2014-02-23, 15:09   #3
Uncwilly
6809 > 6502
 
Uncwilly's Avatar
 
"""""""""""""""""""
Aug 2003
101×103 Posts

23×1,109 Posts
Default

Use MaxHighMemWorkers=1 to select 1 core for stage 2.
Use MaxHighMemWorkers=2 for 2 cores.
Uncwilly is online now   Reply With Quote
Old 2014-02-23, 19:35   #4
TheMawn
 
TheMawn's Avatar
 
May 2013
East. Always East.

11·157 Posts
Default

If the stage 1 core wanted to do some DC while it waits for stage 2, that would be okay.

I myself had been kind of wishing for a feature like this. I remember writing a little blurb about it somewhere...

I was thinking a good way to do it would be to feed core #1 with stage 1 and have it send the results over to core #2 for stage 2. Stage 2 does in fact take longer so the work would pile up over time. It's just a matter of grabbing a DC (or leaving the core idle; some people might want that too...) to keep core #1 busy while core #2 catches up.

Wait for a buffer of 10 stage 2's, run a cat 4 DC until the buffer falls to 2, then back to stage 2.

EDIT: The min and max buffer sizes and work type while waiting can all be chosen by the user. I could keep a buffer of 1 and idle my first core (which essentially means wait for core #2 to be ready to handle stage 2.

Last fiddled with by TheMawn on 2014-02-23 at 19:36
TheMawn is offline   Reply With Quote
Old 2014-02-23, 21:29   #5
tha
 
tha's Avatar
 
Dec 2002

31316 Posts
Default

Quote:
Originally Posted by Uncwilly View Post
Use MaxHighMemWorkers=1 to select 1 core for stage 2.
Use MaxHighMemWorkers=2 for 2 cores.
I am experimenting with this feature now. I have set two workers out of four to start doing P-1.

Thanks for pointing out.

Last fiddled with by tha on 2014-02-23 at 22:16
tha 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 TheMawn PrimeNet 3 2013-06-17 02:32
Feature request JuanTutors Software 22 2013-03-11 19:23
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 02:53.

Wed Nov 25 02:53:14 UTC 2020 up 76 days, 4 mins, 4 users, load averages: 1.13, 1.22, 1.28

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.