[boinc_dev] CPU throttling and GPU apps

2013-07-04 Thread Heinz-Bernd Eggenstein
Hi all!

While hunting for a bug recently, we at Einstein@Home came across a 
question that I would like to present for discussion here:

If an app has a non zero GPU share (GPU app for short), should CPU 
throttling (as configured thru the preferences setting Use at most x % of 
CPU time) be applied to it?

I guess there are several pros and cons, e.g.:

cons: 
  - one one hand, GPU apps (depending on the CPU share?) get a higher OS 
prio (in terms of niceness) to prevent the GPU being starved. Throttling 
the CPU might very well cause this starvation
  - if a GPU app has a rather low CPU runtime share in the first place, 
further CPU throttling does not seem too useful.
  - in order to avoid GPU load to interfere with the user doing non-BOINC 
related stuff, there is already the setting Suspend GPU work while 
computer is in use.  

pros:
  I can't think about many, maybe consistency and user expectation?

Volunteer reports at E@H seem to suggest that in the current BOINC client 
version, GPU apps are indeed CPU throttled, right?
Browsing thru the source code, my initial impression is that only NCI 
(non-CPU-intensive) apps are excluded from throttling.

Cheers
HB 

-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] CPU throttling and GPU apps

2013-07-04 Thread Richard Haselgrove
We had some discussion about this issue back in January.

For most of the lifetime of BOINC on GPUs, CPU throttling has *not* been 
applied to GPU apps:

it was dis-applied on 27 Oct 2008 - 
http://boinc.berkeley.edu/trac/changeset/3719268f1c3807dcac821c455090e2243133bb8d/boinc-old
and re-applied on 12 Jan 2013 - 
http://boinc.berkeley.edu/trac/changeset/04de2936d47256edc77ba032541b096aff69b2d5/boinc-old

The re-application seemed to be at the request of a single user: David wrote

I checked in a change so that CPU throttling applies to GPU apps also.
Can anyone think of a reason not to do this?
-- David

On 11-Jan-2013 11:42 PM, Admin Team St.Petersburg wrote:
 And here's another. In the client, the CPU has the ability to change power
 steering, and the GPU can not. To do.


That message, and the subsequent discussion, can be followed at 
http://lists.ssl.berkeley.edu/pipermail/boinc_dev/2013-January/019305.html

From memory (and a very quick refresh view of that thread) the main response 
was a request for a separate control to throttle GPU apps if desired - we 
concluded with

The request for a separate GPU throttling preference is noted; however we're 
not going to get to it immediately.
-- David




 From: Heinz-Bernd Eggenstein heinz-bernd.eggenst...@aei.mpg.de
To: boinc_dev@ssl.berkeley.edu 
Sent: Thursday, 4 July 2013, 12:15
Subject: [boinc_dev] CPU throttling and GPU apps
 

Hi all!

While hunting for a bug recently, we at Einstein@Home came across a 
question that I would like to present for discussion here:

If an app has a non zero GPU share (GPU app for short), should CPU 
throttling (as configured thru the preferences setting Use at most x % of 
CPU time) be applied to it?

I guess there are several pros and cons, e.g.:

cons: 
  - one one hand, GPU apps (depending on the CPU share?) get a higher OS 
prio (in terms of niceness) to prevent the GPU being starved. Throttling 
the CPU might very well cause this starvation
  - if a GPU app has a rather low CPU runtime share in the first place, 
further CPU throttling does not seem too useful.
  - in order to avoid GPU load to interfere with the user doing non-BOINC 
related stuff, there is already the setting Suspend GPU work while 
computer is in use.  

pros:
  I can't think about many, maybe consistency and user expectation?

Volunteer reports at E@H seem to suggest that in the current BOINC client 
version, GPU apps are indeed CPU throttled, right?
Browsing thru the source code, my initial impression is that only NCI 
(non-CPU-intensive) apps are excluded from throttling.

Cheers
HB 

-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.



___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] CPU throttling and GPU apps

2013-07-04 Thread Bernd Machenschalk

On 04.07.13 13:15, Heinz-Bernd Eggenstein wrote:


I guess there are several pros and cons, e.g.:

cons:
   - one one hand, GPU apps (depending on the CPU share?) get a higher OS
prio (in terms of niceness) to prevent the GPU being starved. Throttling
the CPU might very well cause this starvation
   - if a GPU app has a rather low CPU runtime share in the first place,
further CPU throttling does not seem too useful.
   - in order to avoid GPU load to interfere with the user doing non-BOINC
related stuff, there is already the setting Suspend GPU work while
computer is in use.


Here's one more:

When not synchronized with GPU-CPU communication (kernel launches, data transfer) throtteling an App can break any running GPU task. I'm not sure 
whether the throtteling implementations of all BOINC Clients that are being used properly honor critical sections, nor am I that all GPU apps of all 
projects make proper use of these.



pros:
   I can't think about many


Actually I can't think about any.

Best,
Bernd

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] CPU throttling and GPU apps

2013-07-04 Thread Eric J Korpela
The only pro I can think of would be to reduce GPU use to keep
temperature or power use down, but that would be better implemented as
GPU throttling.

On Thu, Jul 4, 2013 at 5:52 AM, Bernd Machenschalk
bernd.machensch...@aei.mpg.de wrote:
 On 04.07.13 13:15, Heinz-Bernd Eggenstein wrote:

 I guess there are several pros and cons, e.g.:

 cons:
- one one hand, GPU apps (depending on the CPU share?) get a higher OS
 prio (in terms of niceness) to prevent the GPU being starved. Throttling
 the CPU might very well cause this starvation
- if a GPU app has a rather low CPU runtime share in the first place,
 further CPU throttling does not seem too useful.
- in order to avoid GPU load to interfere with the user doing non-BOINC
 related stuff, there is already the setting Suspend GPU work while
 computer is in use.


 Here's one more:

 When not synchronized with GPU-CPU communication (kernel launches, data
 transfer) throtteling an App can break any running GPU task. I'm not sure
 whether the throtteling implementations of all BOINC Clients that are being
 used properly honor critical sections, nor am I that all GPU apps of all
 projects make proper use of these.


 pros:
I can't think about many


 Actually I can't think about any.

 Best,
 Bernd


 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.