Change Request:Let Client Assign Work to GPU or CPU as needed

Message boards : Number crunching : Change Request:Let Client Assign Work to GPU or CPU as needed
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile RottenMutt
Avatar

Send message
Joined: 15 Mar 01
Posts: 1011
Credit: 230,314,058
RAC: 0
United States
Message 1474758 - Posted: 9 Feb 2014, 17:58:26 UTC

Since there are gpu apps for everything, why does bonic request work for cpu and gpu individually amymor? let the client distribute the work as needed.

I have a old rig with four logical cpu's and two gpu's, when crunching astropulse no cpu work is done because each AP work unit needs a whole CPU thread. I end up having to abort cpu work to keep the gpu's working, the cpu work eventually starts to go critical and the gpu's will sit idle.
ID: 1474758 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1474789 - Posted: 9 Feb 2014, 18:43:21 UTC - in response to Message 1474758.  
Last modified: 9 Feb 2014, 18:57:32 UTC

Since there are gpu apps for everything, why does bonic request work for cpu and gpu individually amymor? let the client distribute the work as needed.

I have a old rig with four logical cpu's and two gpu's, when crunching astropulse no cpu work is done because each AP work unit needs a whole CPU thread. I end up having to abort cpu work to keep the gpu's working, the cpu work eventually starts to go critical and the gpu's will sit idle.


[Edit:] did you try increasing the ncpus fields for the GPU AP app already? will that accomplish what you need ?

While there are a lot of Boinc design issues preventing moving tasks around, i.e. moving tasks where they'll best run out of the way of one another automatically, mostly client and server estimate related, I am planning to embed this capability within x42 as a testbed for some further technologies.

Failing the ncpus edits:
Technically (the adapting to task and hardware needs part) is called 'dynamic heterogeneous capability', and will eventually involve a lot of optional configuration to suit your needs, along with special tools to work out what runs best where, as well as special pipelining and multithreading modes later on.

In the medium term, that's going to require a fair amount of telling the server and client what they expect to hear, since I see no plans to support multi-threading properly, nor any kindof dynamic resource management, planned in Boinc documentation.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1474789 · Report as offensive
Batter Up
Avatar

Send message
Joined: 5 May 99
Posts: 1946
Credit: 24,860,347
RAC: 0
United States
Message 1474995 - Posted: 10 Feb 2014, 1:55:57 UTC
Last modified: 10 Feb 2014, 1:56:18 UTC

OP only crunch GPU work, CPU isn't worth it for most setups. As you know AP GPU WU need a lot of CPU.
ID: 1474995 · Report as offensive
Profile RottenMutt
Avatar

Send message
Joined: 15 Mar 01
Posts: 1011
Credit: 230,314,058
RAC: 0
United States
Message 1475534 - Posted: 11 Feb 2014, 5:20:42 UTC

what is the best way to block cpu work?

jason, i'm not say most efficiently, just download the work let the client assign to gpu or cpu. like you could do with boinc reschedule...
ID: 1475534 · Report as offensive
Profile Wiggo
Avatar

Send message
Joined: 24 Jan 00
Posts: 34744
Credit: 261,360,520
RAC: 489
Australia
Message 1475536 - Posted: 11 Feb 2014, 5:28:33 UTC

Why not just assign it a separate Preference Location (work, school, home) and disable CPU work through http://setiathome.berkeley.edu/prefs.php?subset=project?

Cheers.
ID: 1475536 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1475740 - Posted: 11 Feb 2014, 19:19:17 UTC - in response to Message 1475534.  
Last modified: 11 Feb 2014, 19:27:23 UTC

jason, i'm not say most efficiently, just download the work let the client assign to gpu or cpu. like you could do with boinc reschedule...


Yeah. When I polled the GPU Users group members some time back, looking for issues to address for x42's design, It was a slow start with few issues raised directly for x41zc Cuda as it stood. Once I clarified that I'm looking for *any* issues, like a wishlist, the floodgates opened, mostly with requests for more flexibility in how Tasks get managed and processed etc. That includes dynamic allocation, such as rescheduling 'on the fly' etc.

While efficiency was certainly always considered important on all sides (though perhaps in different ways), it became apparent that what was more sought after is (much) more flexibility, and adaptability to different situations, than Boinc allows in current form.

So that's where x42's headed in the medium term, initially adding some CPU/multithreading, optional configuration, monitoring and management, support for other than Cuda only, as well as later AP, and local dynamic clustering in preparation for the possibly huge GBT data & applications that may come.

There are a number of Boinc server and client design issues, that are blocking simple rescheduling type behaviour, that are also blocking a number of other development streams.

Fortunately unravelling intertwined CreditNew and BoincApi issues has provided some direction and useful insights, whether or not those eventually get addressed by Boinc. It'll be quite possible to pull some of the technologies forward, while leaving Boinc broken and working around it if necessary.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1475740 · Report as offensive
Profile mr.mac52
Avatar

Send message
Joined: 18 Mar 03
Posts: 67
Credit: 245,882,461
RAC: 0
United States
Message 1475907 - Posted: 12 Feb 2014, 2:39:29 UTC - in response to Message 1475740.  

Jason, Thanks for such a great overview of the direction the project is moving. If not for you and the others we see every day in this forum, we'd be totally in the dark. Great job!

John
ID: 1475907 · Report as offensive

Message boards : Number crunching : Change Request:Let Client Assign Work to GPU or CPU as needed


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.