Message boards :
Graphics cards (GPUs) :
Beware: BOINC 7.0.45 and later
Message board moderation
| Author | Message |
|---|---|
MumakSend message Joined: 7 Dec 12 Posts: 92 Credit: 225,897,225 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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. |
microchipSend message Joined: 4 Sep 11 Posts: 110 Credit: 326,102,587 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Maybe open a ticket on the BOINC bugpage? Team Belgium |
|
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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 |
|
Send message Joined: 16 Mar 11 Posts: 509 Credit: 179,005,236 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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 |
skgivenSend message Joined: 23 Apr 09 Posts: 3968 Credit: 1,995,359,260 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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 |
|
Send message Joined: 16 Mar 11 Posts: 509 Credit: 179,005,236 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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 |
skgivenSend message Joined: 23 Apr 09 Posts: 3968 Credit: 1,995,359,260 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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 |
|
Send message Joined: 17 Aug 08 Posts: 2705 Credit: 1,311,122,549 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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 |
MumakSend message Joined: 7 Dec 12 Posts: 92 Credit: 225,897,225 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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). |
|
Send message Joined: 28 Jul 12 Posts: 819 Credit: 1,591,285,971 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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.) |
|
Send message Joined: 16 Jul 12 Posts: 98 Credit: 386,043,752 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]()
|
Are you allowing BOINC to use all CPU time? |
skgivenSend message Joined: 23 Apr 09 Posts: 3968 Credit: 1,995,359,260 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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 |
MumakSend message Joined: 7 Dec 12 Posts: 92 Credit: 225,897,225 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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? |
|
Send message Joined: 16 Mar 11 Posts: 509 Credit: 179,005,236 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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 |
|
Send message Joined: 28 Jul 12 Posts: 819 Credit: 1,591,285,971 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Are you allowing BOINC to use all CPU time? Yes, 100% on both cores. |
|
Send message Joined: 28 Jul 12 Posts: 819 Credit: 1,591,285,971 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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. 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. |
|
Send message Joined: 28 Jul 12 Posts: 819 Credit: 1,591,285,971 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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. 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. |
|
Send message Joined: 17 Aug 08 Posts: 2705 Credit: 1,311,122,549 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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 |
|
Send message Joined: 28 Jul 12 Posts: 819 Credit: 1,591,285,971 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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. 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. |
MumakSend message Joined: 7 Dec 12 Posts: 92 Credit: 225,897,225 RAC: 0 Level ![]() Scientific publications ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
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).
Then why does it for me reserve "0.594 CPUs + 1 NVIDIA GPU" on 650 Ti ? |
©2025 Universitat Pompeu Fabra