Beware: BOINC 7.0.45 and later

Message boards : Graphics cards (GPUs) : Beware: BOINC 7.0.45 and later
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · Next

AuthorMessage
Profile Mumak
Avatar

Send message
Joined: 7 Dec 12
Posts: 92
Credit: 225,897,225
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwat
Message 28533 - Posted: 15 Feb 2013, 15:50:03 UTC

I was wondering why my GPU WUs take longer time than before, then I found it.
I installed latest beta client v7.0.52 and BOINC 7.0.45 and later according to change log applies the CPU throttling % to GPUs now too! Since I had this set to 80% the GPU was not fully utilized.
It would be nice if the CPU and GPU utilization was separated in the client though.
ID: 28533 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile microchip
Avatar

Send message
Joined: 4 Sep 11
Posts: 110
Credit: 326,102,587
RAC: 0
Level
Asp
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28534 - Posted: 15 Feb 2013, 16:49:15 UTC - in response to Message 28533.  
Last modified: 15 Feb 2013, 16:49:27 UTC


It would be nice if the CPU and GPU utilization was separated in the client though.


Maybe open a ticket on the BOINC bugpage?

Team Belgium
ID: 28534 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
MarkJ
Volunteer moderator
Volunteer tester

Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,909,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28539 - Posted: 16 Feb 2013, 5:57:31 UTC

Oh believe me we requested it. Unfortunately Dr A didn't want to do it properly and have a separate preference for GPU. The more people that ask for it the more likely it will get added.

By the way I don't throttle my machines, I figure if they are too hot then I need better cooling or wait until weather conditions improve for crunching (its the middle of summer in Sydney, so it gets hot).
BOINC blog
ID: 28539 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Dagorath

Send message
Joined: 16 Mar 11
Posts: 509
Credit: 179,005,236
RAC: 0
Level
Ile
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28540 - Posted: 16 Feb 2013, 9:14:17 UTC - in response to Message 28539.  
Last modified: 16 Feb 2013, 9:18:06 UTC

I think I read those requests for a GPU throttle and I believe the response was it's not possible through BOINC which to me translates to "it's possible but it's so messy we don't want to do it". We need to keep in mind BOINC needs to run on 3 different OSs so what seems trivial at first isn't always so.

BOINC's CPU throttle is a very poor throttle to begin with. How bad is it? Well, even the BOINC devs recommend that you don't use it. If one needs a CPU throttle then one should use TThrottle, the link is available at the BOINC dev forums. It's Windows only. For Linux CPU throttle I don't know, there's probably a way to do it with some simple bash script and psensors but why not just improve the cooling instead.

For GPU throttle I ran across a simple bash script that reads the GPU temp from the supplied GPU manager app and adjusts the clock down if the GPU is too hot or adjusts it up if too cool. It's actually for AMD but it would be easy enough to adapt to nVIDIA and to Windows as well, I'm sure. Actually with nVIDIA the route to go would be adjust the fan up, an option that doesn't seem to exist with AMD.
BOINC <<--- credit whores, pedants, alien hunters
ID: 28540 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile skgiven
Volunteer moderator
Volunteer tester
Avatar

Send message
Joined: 23 Apr 09
Posts: 3968
Credit: 1,995,359,260
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28542 - Posted: 16 Feb 2013, 12:50:42 UTC - in response to Message 28540.  

The simple and blatantly obvious answer to 'cant separate CPU and GPU crunching in Boinc' is two different programs; One for CPU and one for GPU.

In Linux you can run two instances of Boinc and set up a very reliable system that way.

Another solution for GPU crunchers that do a bit of CPU crunching is to only run the GPU in Windows and use a Linux VM to run some CPU tasks. What's good about this is that the CPU apps that crash out in Windows tend to run better in Linux, and even if they mess up your VM the Windows system running GPU tasks won't be impacted.

FAQ's

HOW TO:
- Opt out of Beta Tests
- Ask for Help
ID: 28542 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Dagorath

Send message
Joined: 16 Mar 11
Posts: 509
Credit: 179,005,236
RAC: 0
Level
Ile
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28549 - Posted: 17 Feb 2013, 0:30:43 UTC - in response to Message 28542.  

Two or even more instances of BOINC are possible on Linux and in the T4T forums Crystal Pellet claims he is able to do so on Windows as well though I've never been able to replicate his results, probably because I didn't try very hard.

I'm not sure I would agree multiple instances of BOINC is the simplest solution or even the most effective. In fact I doubt whether CPU and GPU throttling can be separated entirely since the GPU depends entirely upon the CPU to feed it data and to dispose of the results of operations upon that data. Therefore for tasks which require a lot of interaction between CPU and GPU, if you throttle the CPU you indirectly throttle the GPU as well.

BOINC <<--- credit whores, pedants, alien hunters
ID: 28549 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile skgiven
Volunteer moderator
Volunteer tester
Avatar

Send message
Joined: 23 Apr 09
Posts: 3968
Credit: 1,995,359,260
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28555 - Posted: 17 Feb 2013, 11:37:19 UTC - in response to Message 28549.  
Last modified: 17 Feb 2013, 11:39:27 UTC

Many GPU projects are now telling Boinc that they need a full CPU. This avoids a lot of unwanted issues that had previously arisen, but it requires cross-project participation and adherence to 'the rules' (there aren't any). The situation is improving but some projects still operate in a way that stresses other projects.

CPU project adherence to good principles of crunching is an issue but the demands from different GPU projects is a different type of problem. There are very different GPU project system requirements (high vs low CPU requirements, high or low PCIE requirements, system memory bandwidth, GPU GDDR usage...). The impacts of these on each other and CPU projects isn't something that Boinc can readily ascertain never mind accommodate. You would need Boinc to be kitted out with a tool that can read these things (something I asked for years ago).
So if you run several CPU and GPU projects from one instance of Boinc, you're going to land in all sorts of trouble. For example, a GPU project such as POEM starts running, is setup to run several tasks, suddenly starts to use all the CPU cores, does some disk reading and writing (just when the CPU projects want to do this) and pop, the system or Boinc crashes. Run one GPU project and you can watch video, play games... Run another GPU project and you struggle to even web browse.

An easy way to have two instances configured in Linux, is to tell one to only run GPU tasks and set it to use a specific number of CPU cores. Then tell the other client to use the remaining CPU cores. This way the scheduler doesn't do stupid things like stop running GPU tasks so that badly packaged CPU tasks can run. If your GPU is only attached to one project then you're not going to experience 'not highest priority' issues. If you attach to more projects (say with an ATI card) then increase the cache a bit, to allow Boinc to sort its feet out. With a very low cache Boinc has 'bar-stool moments' (when someone who appears ok, tries to walk after sitting on a bar-stool too long). Too high a cache and it's all over the place, disk I/O soars, RAM usage rises and some projects don't get a look in.

I guess you could even set a GPU app to be an exclusive application on one instance, to stop the GPU being used in another; use different Boinc instances for different GPU project and thus exclude GPU crunching when one GPU app is running and you start a video, but allow the other GPU app to run.

Anyway, you have to know your projects and the demands they make on your system. I struggle to work these out, most people don't know much, and Boinc hasn't a notion.

We could probably do with a chart that discloses system requirements by different GPU projects. For example,

Project ---- Requirements
Name ---- CPU ----- Sys RAM Freq - PCIE --- Power/Heat
GPUGrid -- High ----- High -------------- Med ----- High (one task)
POEM ----- V.High -- V.High ------------ V.High -- Med (multiple tasks)
MW -------- Low ----- Low --------------- Low ---- High (one task)
Albert ------ Low ----- Low --------------- Low ---- Med (multiple tasks)
Einstein --- Low ----- Low --------------- Low ---- Med (multiple tasks)
...

Of course this varies considerably depending on the number of tasks you have running and GPU type. So it would need to be more detailed and contain GDDR usage (for multiple task/project crunching).
FAQ's

HOW TO:
- Opt out of Beta Tests
- Ask for Help
ID: 28555 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ExtraTerrestrial Apes
Volunteer moderator
Volunteer tester
Avatar

Send message
Joined: 17 Aug 08
Posts: 2705
Credit: 1,311,122,549
RAC: 0
Level
Met
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28556 - Posted: 17 Feb 2013, 11:39:11 UTC

This time-based throttling is very ineffective anyway. It's like driving your car at 6000 rpm, then seeing that the load on the engine is too high.. and instead of running it at 5500 or 5000 rpm you still run at 6000 rpm most of the time and no throttle every few seconds.

To go back to the PC world: if your GPU is too hot / loud, on modern nVidia GPUs (600 series) you canset it to consume less power. This will not only throttle clocks but also voltage automatically, which is far more efficient than both, pure clock throttling and on/off throttling.

Intel could implement something similar with their user-configurable TDP (cTDP) and Turbo.. they'd just have to expose the fuinctionality to the actual user, not only the OEM.

MrS
Scanning for our furry friends since Jan 2002
ID: 28556 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Mumak
Avatar

Send message
Joined: 7 Dec 12
Posts: 92
Credit: 225,897,225
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwat
Message 28568 - Posted: 17 Feb 2013, 18:22:38 UTC - in response to Message 28556.  

While the time-based throttling might not be the best method in terms of scheduling and task processing, it's universal for any kind of CPU. Moreover, even if the CPU is idle 1/10 of time, it's able to cool down during this short period. cTDP is only available on few certain CPU models and there are other factors limiting CPU power limiting (PL1, PL2).
ID: 28568 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Jim1348

Send message
Joined: 28 Jul 12
Posts: 819
Credit: 1,591,285,971
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28571 - Posted: 17 Feb 2013, 19:54:42 UTC - in response to Message 28555.  
Last modified: 17 Feb 2013, 19:56:19 UTC

Many GPU projects are now telling Boinc that they need a full CPU. This avoids a lot of unwanted issues that had previously arisen, but it requires cross-project participation and adherence to 'the rules' (there aren't any). The situation is improving but some projects still operate in a way that stresses other projects.


I have a somewhat related question. I am running both a GTX 560 and a GTX 650 Ti on the same motherboard, with only long que jobs selected. The GTX 560 gets along with only 5% CPU utilization (E8400 dual core at 3.0 GHz), and allows WCG jobs to run on that core at the same time. But the GTX 650 Ti reserves a whole core (50% CPU), and does not allow other projects to run on that core.

Does anyone know the reason why?

(I am running BOINC 7.0.52 x64 on Win7 64-bit, Nvidia 310.90 drivers.)
ID: 28571 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Dylan

Send message
Joined: 16 Jul 12
Posts: 98
Credit: 386,043,752
RAC: 0
Level
Asp
Scientific publications
watwatwatwatwatwatwat
Message 28573 - Posted: 17 Feb 2013, 19:58:33 UTC - in response to Message 28571.  

Are you allowing BOINC to use all CPU time?
ID: 28573 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile skgiven
Volunteer moderator
Volunteer tester
Avatar

Send message
Joined: 23 Apr 09
Posts: 3968
Credit: 1,995,359,260
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28574 - Posted: 17 Feb 2013, 20:03:48 UTC - in response to Message 28571.  
Last modified: 17 Feb 2013, 20:07:44 UTC

Different GPU architecture. On the GTX600 cards more CPU usage is required than with the previous generation of GPU. You would need to ask the researchers exactly what they are running on the CPU.
It's also worth noting that leaving a CPU thread free for the GPU tends to result in faster GPU runs, faster CPU runs on the other CPU threads and less errors all round. For the stability reason GPU projects are encouraged to set 1 CPU core aside for the GPU project.
FAQ's

HOW TO:
- Opt out of Beta Tests
- Ask for Help
ID: 28574 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Mumak
Avatar

Send message
Joined: 7 Dec 12
Posts: 92
Credit: 225,897,225
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwat
Message 28575 - Posted: 17 Feb 2013, 20:04:22 UTC - in response to Message 28571.  


I have a somewhat related question. I am running both a GTX 560 and a GTX 650 Ti on the same motherboard, with only long que jobs selected. The GTX 560 gets along with only 5% CPU utilization (E8400 dual core at 3.0 GHz), and allows WCG jobs to run on that core at the same time. But the GTX 650 Ti reserves a whole core (50% CPU), and does not allow other projects to run on that core.

Does anyone know the reason why?

(I am running BOINC 7.0.52 x64 on Win7 64-bit, Nvidia 310.90 drivers.)


I have a GTX 650 Ti too and the same BOINC version. Long tasks (NOELIA) reserve only 0.594 CPU. So I'm currently running WCG CPU tasks on all CPU cores + NOELIA on GPU.
Maybe you have an app_config.xml file not properly set?
ID: 28575 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Dagorath

Send message
Joined: 16 Mar 11
Posts: 509
Credit: 179,005,236
RAC: 0
Level
Ile
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28576 - Posted: 17 Feb 2013, 20:04:33 UTC - in response to Message 28568.  

While the time-based throttling might not be the best method in terms of scheduling and task processing, it's universal for any kind of CPU.


True but it still sucks so bad even the BOINC devs recommend using TThrottle instead. It works at the OS level rather than the app level. It's the kind of throttling the BOINC devs would like to do but it requires different code for each OS so they decided to not do it and give us the crappy app level throttling instead. If the president of Ford Motor Company said "our cars suck, don't buy them, buy a Chevy instead" would you then buy a Ford?

Moreover, even if the CPU is idle 1/10 of time, it's able to cool down during this short period.


Yeah but then it heats up again when it's not idle and you get a continuous cycling between hot and cold which induces cyclic expansion and contraction which is a known cause of hardware failure.

TThrottle gives much finer grained on/off or idle/run cycles which yields a far more even temperature and virtually eliminates expansion/contraction. And it will allow you to run any version of BOINC and still have CPU throttling independent of GPU throttling. Unfortunately it only runs on Windows but that seems to be your OS anyway.

BOINC <<--- credit whores, pedants, alien hunters
ID: 28576 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Jim1348

Send message
Joined: 28 Jul 12
Posts: 819
Credit: 1,591,285,971
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28577 - Posted: 17 Feb 2013, 20:11:48 UTC - in response to Message 28573.  

Are you allowing BOINC to use all CPU time?

Yes, 100% on both cores.
ID: 28577 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Jim1348

Send message
Joined: 28 Jul 12
Posts: 819
Credit: 1,591,285,971
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28578 - Posted: 17 Feb 2013, 20:15:27 UTC - in response to Message 28575.  

I have a GTX 650 Ti too and the same BOINC version. Long tasks (NOELIA) reserve only 0.594 CPU. So I'm currently running WCG CPU tasks on all CPU cores + NOELIA on GPU.
Maybe you have an app_config.xml file not properly set?

I have no app_config.xml, but am using a cc_config.xml to get both cards to run:

<cc_config>
<options>
<use_all_gpus>1</use_all_gpus>
</options>
</cc_config>

That might have something to do with it. Whether it is a bug or feature I have no idea.



ID: 28578 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Jim1348

Send message
Joined: 28 Jul 12
Posts: 819
Credit: 1,591,285,971
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28579 - Posted: 17 Feb 2013, 20:17:31 UTC - in response to Message 28574.  

Different GPU architecture. On the GTX600 cards more CPU usage is required than with the previous generation of GPU. You would need to ask the researchers exactly what they are running on the CPU.
It's also worth noting that leaving a CPU thread free for the GPU tends to result in faster GPU runs, faster CPU runs on the other CPU threads and less errors all round. For the stability reason GPU projects are encouraged to set 1 CPU core aside for the GPU project.


Yes, I have found that on my CPU, leaving it free is a good idea for various reasons. Even my Video LAN player does not like it when I use both cores. The deck may be stacked differently when Haswell comes along.
ID: 28579 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ExtraTerrestrial Apes
Volunteer moderator
Volunteer tester
Avatar

Send message
Joined: 17 Aug 08
Posts: 2705
Credit: 1,311,122,549
RAC: 0
Level
Met
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28580 - Posted: 17 Feb 2013, 21:32:52 UTC - in response to Message 28568.  
Last modified: 17 Feb 2013, 21:37:21 UTC

Sure, cTDP is not yet the solution. However, it would only be a matter of marketing (i.e. the will to implement this), the technology is already there and is in the chips anyway.

What do you mean by PL1 and PL2? The predefined power states?

Edit@Jim: if I remember correctly GPU-Grid decided that the 600 series GPUs were becoming so fast, that not reserving an entire core would slow the GPU down too much.

MrS
Scanning for our furry friends since Jan 2002
ID: 28580 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Jim1348

Send message
Joined: 28 Jul 12
Posts: 819
Credit: 1,591,285,971
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 28581 - Posted: 17 Feb 2013, 22:02:26 UTC - in response to Message 28580.  

Edit@Jim: if I remember correctly GPU-Grid decided that the 600 series GPUs were becoming so fast, that not reserving an entire core would slow the GPU down too much.

MrS


Thanks. I vaguely remember seeing something along those lines too, but couldn't find it in a search. It will all be irrelevant when Haswell comes along and provides all the cores I need anyway.
ID: 28581 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Mumak
Avatar

Send message
Joined: 7 Dec 12
Posts: 92
Credit: 225,897,225
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwat
Message 28582 - Posted: 17 Feb 2013, 22:23:37 UTC - in response to Message 28580.  
Last modified: 17 Feb 2013, 22:40:34 UTC


What do you mean by PL1 and PL2? The predefined power states?


PL1/PL2 are long and short duration Power Limits for limiting turbo boost in Intel CPUs. These work dynamically by limiting clocks using EWMA of measured actual CPU power (IMON). Additionally there's an "On-demand clock modulation" feature in most CPUs, which provides kind of static throttling (unlike dynamic power throttling using PLs).


Edit@Jim: if I remember correctly GPU-Grid decided that the 600 series GPUs were becoming so fast, that not reserving an entire core would slow the GPU down too much.


Then why does it for me reserve "0.594 CPUs + 1 NVIDIA GPU" on 650 Ti ?
ID: 28582 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
1 · 2 · 3 · Next

Message boards : Graphics cards (GPUs) : Beware: BOINC 7.0.45 and later

©2025 Universitat Pompeu Fabra