That's because the mw gpu apps use too much CPU. They should tell boinc they need 1-2 CPUs so boinc doesn't over use the CPU
That's because the mw gpu apps use too much CPU. They should tell boinc they need 1-2 CPUs so boinc doesn't over use the CPU
I guess I'm left wondering what changed? Because their native ATI apps, like the one I'm using on the 4870 used to be very efficient and used hardly any CPU at all. I think like 0.05 CPU is what they used to use. I wonder why it's different now, or is it something on my end?
It's still marked 0.05 but it's more like 2.0. I bet it has to do with opencl and something they screwed up
On my machines I reserve 1 thread for GPUs and the loading for both the Cuda and ATI stays near 98%. That includes the GTX 570 / 6990 box which in effect is running 3 GPUs. I do NOT have a problem with the CPU tasks reducing the GPU loading.
However, I STRONGLY recommend installing ProLasso which allows you to set the priority and affinity for all tasks. As I said I reserve 1 thread in BOINC for GPU. Then using ProLasso I set the priority for the GPU tasks to HIGH and the priority for the CPU tasks to NORMAL. I set the AFFINITY of the GPU programs to 0-7 (no restriction) and set affinity for the CPU tasks to 0-6. That keeps 1 thread free of CPU tasks completely.
One problem that I have found running both Cuda and ATI in the same box and on the same project has to do with BOINC. The scheduler is so stupid it doesn't always ask for the correct type GPU work. The work scheduler works per computer and not per type of GPU. For example, if the project will allow 100 wu to be cached, BOINC may start asking for ATI wu when in reality it needs Cuda wu. Eventually it will fill the entire max wu allowed with one type or the other of GPU tasks. So one GPU will have all the work it can handle and the other will sit idle. I first found this on Collatz.
According to Slicker, it is a problem with the BOINC client. He said what MIGHT work is to make sure your cache size is low enough that you won't hit the maximum number of wu allowed by the project. Then it MIGHT leave enough room that it can get both types of wu. I haven't tried this but I'm not convinced it will work either. I've watched BOINC report a Cuda wu and then request ATI work. It does that over and over and over ...... Running Collatz as a backup project solves the problem - it will request the same type of work unit it is reporting. Of course having to wait to download a wu before you can crunch kills throughput.
Another option is to add swan_sync 0 to windows. That will auto reserve 1 core per gpu Wu. It's been debated on the performance gain. Some ppl claim a lot and some not so much
I think swan_sync is specific to GPUGrid but I could be mistaken.
@Bryan, thanks for the detailed reply. I will look into that. I was just curious about this because we never had to do this before with MW. It must be something new, and I wish they didn't change whatever they changed. It is lame to have to reserve a whole core just to feed a lowly 4870!
If I run 2 mw gpu WUs on my 2 560tis, it takes FOUR CPU cores total. I think I'll email the project lead at mw and politely as why 1 gpu wu needs to take up 25% (2 cores) on my machine.
Swan_sync had no effect on mw. Probably cuz it's doing something similar. It did reserve 1 CPU core per gpu wu for mst other projects though