Device partitioning GPU with OpenCL 1.2

Message boards : BOINC client : Device partitioning GPU with OpenCL 1.2
Message board moderation

To post messages, you must log in.

AuthorMessage
cristipurdel

Send message
Joined: 26 Oct 09
Posts: 67
Romania
Message 41860 - Posted: 31 Dec 2011, 13:41:49 UTC

From what I understand about 1.2 is that a GPU can be partitioned, so that it runs multiple WUs. Can this be implemented in a new version of BOINC, so that users with GPUs can partition their cards in ....CU???.
What I would want is, for the hard core scenario :)
If I had a gpu card with 4 Compute Units, I would want to assign it like this.
1st CU for OS, and it should not be touched by BOINC (to avoid screen lagging while doing other stuff on the computer)
2nd CU for POEM
3rd CU for SETI
4th CU for WCG :P
I remember that I asked this question somewhere, and I got a response that there wasn't support in drivers. But now that there is support, this should be important for some users, like me, which don't have powerful gpu cards.
ID: 41860 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15484
Netherlands
Message 41861 - Posted: 31 Dec 2011, 14:58:37 UTC - in response to Message 41860.  

Forwarded to development.
ID: 41861 · Report as offensive
cristipurdel

Send message
Joined: 26 Oct 09
Posts: 67
Romania
Message 41862 - Posted: 31 Dec 2011, 16:16:33 UTC

I know that my first post is something like 3 years in the future, nevertheless ... Thank you Ageless.

Maybe a first approach would be to have an option in an 'experimental' tab, like:
Don't use the fist CU on the GPU.

In a second approach, another option similar to the multiprocessor systems could be introduced:
On powerful GPUs, use only x percent.
e.g. on the 4 CU card.
if I put 25%, boinc should understand to use the 'last' CU.
at most 50% ... boinc should use CU 3&4
at most 75% ... boinc should use CU 2&3&4
This option could also replace the number of applications run on the gpu, from the app_info
e.g.
- <coproc>
<count>0.5</count>

ID: 41862 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15484
Netherlands
Message 41863 - Posted: 31 Dec 2011, 17:02:20 UTC - in response to Message 41862.  

Now, what I read about this option is that the main device can be divided into sub-devices which can all be addressed separately, plus the main device. So in your example of using sub-devices for POEM, Seti and WCG, you wouldn't need a sub-device for the OS, as you can use the main device for that.

Still not sure if it's BOINC that needs to be able to do this, more like the project's applications. But I'll leave that up to development to answer, be it here or to me in email. Most of them aren't available at this time, so I am not expecting an answer soon. Hope you aren't either. ;-)
ID: 41863 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15484
Netherlands
Message 41870 - Posted: 1 Jan 2012, 18:19:33 UTC

David Anderson wrote:
BOINC already has the capability for jobs to use a fractional GPU. To use this, the schedulers of those projects (the plan class function for OpenCL apps) need to be changed to detect when this is possible,
and specify it.

AFAIK, Milkyway@home is the only project that currently uses fractional GPUs.

-- David

ID: 41870 · Report as offensive
cristipurdel

Send message
Joined: 26 Oct 09
Posts: 67
Romania
Message 41965 - Posted: 8 Jan 2012, 9:30:21 UTC - in response to Message 41870.  

Good, but I still would like some options in BOINC manager so that I can manage the 'rest' of the GPU, to limit and assign the resources for different projects, and not use the app_info file.
ID: 41965 · Report as offensive
Profile ppp

Send message
Joined: 12 Feb 12
Posts: 1
Poland
Message 42539 - Posted: 12 Feb 2012, 10:25:35 UTC

Hello,
I found this topic interesting.
Mainly because:
-most users have only one GPU in theirs computer.
- this causes the computer to lag even during the most basic tasks like reading Wikipedia(what is very annoying!!!)

So if there will be the option to reserve at least 1 Compute Unit(CU) to tse Operating System it would be nice.
Or any other way to do this (ie. scroll bar with percentage in advanced options)

There is already CPU control build in the BOINC.

This new feature could be marked as experimental , beta etc.


Later on You can add the possibility to partition the device freely(aka. virtualization) for different projects.

Thanks in advance.

ID: 42539 · Report as offensive
Profile Joseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 641
United States
Message 42613 - Posted: 18 Feb 2012, 14:11:48 UTC

How about sending double precision tasks to the gpu that actually has DP hardware and avoiding the single precision GPU? Can that be included in the device partitioning? I still have this problem with milkyway project getting assigned to a single precision gpu.
ID: 42613 · Report as offensive
Profile Joseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 641
United States
Message 42614 - Posted: 18 Feb 2012, 14:18:10 UTC

Software such as DVDFab uses CUDA for video encoding. Currently, I stop boinc when I bring up DVDFab. This is done automatically using that cc_config file. However, it would be nice if they could both run at the same time. Ideally, the the device partitioning could handle this one would think.
ID: 42614 · Report as offensive
MarkJ
Volunteer tester
Help desk expert

Send message
Joined: 5 Mar 08
Posts: 272
Australia
Message 42633 - Posted: 20 Feb 2012, 11:34:33 UTC - in response to Message 42613.  

How about sending double precision tasks to the gpu that actually has DP hardware and avoiding the single precision GPU? Can that be included in the device partitioning? I still have this problem with milkyway project getting assigned to a single precision gpu.


In the alpha test versions of BOINC there is the ability to exclude a gpu from a project or an app. It's worked from about 7.0.8 onwards. But before you rush out to try the alpha versions I suggest you read the change log message thread, in particular the incompatibility warnings.

Further out there is an idea to get BOINC to recognize different gpu capabilities and schedule accordingly. No idea when that is slated for, but at least its on the drawing board.
MarkJ
ID: 42633 · Report as offensive
Profile Joseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 641
United States
Message 42842 - Posted: 3 Mar 2012, 14:52:51 UTC - in response to Message 42633.  

How about sending double precision tasks to the gpu that actually has DP hardware and avoiding the single precision GPU? Can that be included in the device partitioning? I still have this problem with milkyway project getting assigned to a single precision gpu.


In the alpha test versions of BOINC there is the ability to exclude a gpu from a project or an app. It's worked from about 7.0.8 onwards. But before you rush out to try the alpha versions I suggest you read the change log message thread, in particular the incompatibility warnings.

Further out there is an idea to get BOINC to recognize different gpu capabilities and schedule accordingly. No idea when that is slated for, but at least its on the drawing board.


This seemed to work fine. I posted my cc_config and observed results here at the milkyway forum.
ID: 42842 · Report as offensive

Message boards : BOINC client : Device partitioning GPU with OpenCL 1.2

Copyright © 2024 University of California.
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.