BRP6 work not working properly

Chooka
Chooka
Joined: 11 Feb 13
Posts: 117
Credit: 3230874094
RAC: 5681
Topic 198142

Gary Roberts suggested I start this thread because based on some of my information that he has seen, there appears to be an issue with the BRP6 information not working on my machine.

I ended up aborting the WU because I thought there was an error with BRP6 1.52 but apparently not.
I noticed that after 1hr 57mins of work, there was still about 92hrs work remaining on the one WU and the GPU was under no load what so ever??
Some of my details are -
CPU - i5 2500K (1 core 4 threads)
GPU - R9 280X
I am currently running 2 projects POGS and Einstein. The POGS projects are not using my ATI card so it should be able to process the Einstein WU's.

I have noticed that if I suspend ALL other WU's, leaving just the 1 BRP6 WU, it does start to show some progress. It's as if even though the unit is running, perhaps a CPU core is not being allocated to the WU?

I have also noticed that if I start 4 other Einstein WU's (S6 Bucket Follow up), all 5 Einstein WU's are running but the GPU load has dropped to 0. When I suspend the 4 Einstein WU's, leaving only the BRP6 my GPU load climbs back to 84%.

Here is a link to my WU's - http://einsteinathome.org/account/tasks

Please let me know what other info is needed and I'll happily supply it. As it stands, there is no point in my doing the BRP6 WU's.

Thx in advance.


Chooka
Chooka
Joined: 11 Feb 13
Posts: 117
Credit: 3230874094
RAC: 5681

BRP6 work not working properly

Sorry, I see my link didn't work.

http://einsteinathome.org/host/6603193/tasks


Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5850
Credit: 110039293979
RAC: 22386188

RE: I am currently running

Quote:
I am currently running 2 projects POGS and Einstein.
....
I have noticed that if I suspend ALL other WU's, leaving just the 1 BRP6 WU, it does start to show some progress.


You've just about solved your problem yourself. The solution is to always make sure you don't have all 4 CPU cores loaded with a CPU task (from any project).

If you want to run POGS on your CPUs and BRP6 on your GPU, you need to use BOINC preferences to use 75% of your CPUs. That way, the GPU task will be going very fast all the time. Your GPU is capable of crunching several tasks simultaneously. If you are seeing 84% load with just one task running, you would be able to push that into the 90s if you ran 2 concurrent tasks and into the even higher 90s if you ran 3 or more concurrent tasks. You can achieve this by changing your EAH preferences - the GPU utilization factor - which defaults to 1. If you set it to 0.5 you get 2 simultaneous tasks. At 0.33 you get 3x and so forth. The 'freeing' of a CPU core can happen automatically when you use the GPU utilization factor. You wont have to set 75% of CPUs if you set the factor to 0.5. Each concurrent task 'reserves' 0.5 of a CPU so you need 2x to reserve a full core or 4x to 'reserve' 2 full cores automatically. You need to experiment with settings to find the optimum mix of CPU tasks, free cores and GPU tasks.

I run BRP6 tasks on HD7850 2GB GPUs. I get best results by running 4x. The GPU utilization factor is 0.25 and two CPU cores are kept free automatically. With that setting, I get 4 completed GPU tasks in just over 5 hours - about 1hr 17mins per task - that's with old Q8400 quad core CPUs. With your 2500K CPU and 280X GPU, you should be able to do quite a bit better. If it were my machine I would be very happy to try it at 4x concurrency. The warning on the website about the GPU utilization factor is to cover the project in the event that people overload their GPUs without proper cooling. If your GPU fans are working correctly and the GPU has good access to cool air, you shouldn't have a problem. Just watch your GPU temperatures until you are comfortable with everything.

Cheers,
Gary.

Chooka
Chooka
Joined: 11 Feb 13
Posts: 117
Credit: 3230874094
RAC: 5681

Hmm ok Gary, thank you. All

Hmm ok Gary, thank you.
All pretty technical really. I've never had to adjust any project settings before.

I'll set my "GPU utilization factor of BRP apps" to 0.5 and just run everything as I have always done. If it works - great. If E@H WU's don't get done then I won't bother.
Never had to adjust things before. I don't really understand why I need to change things now after all these years.

Thank you for taking the time to try and explain it to me.


floyd
floyd
Joined: 12 Sep 11
Posts: 133
Credit: 186610495
RAC: 0

RE: The 'freeing' of a CPU

Quote:
The 'freeing' of a CPU core can happen automatically when you use the GPU utilization factor. You wont have to set 75% of CPUs if you set the factor to 0.5. Each concurrent task 'reserves' 0.5 of a CPU so you need 2x to reserve a full core or 4x to 'reserve' 2 full cores automatically.


That's all correct but it only works reasonably well for the 2x or 4x mentioned. This way you'll get nothing for 1x and only 0.33 of a CPU for 3x. And even 0.5 may not be enough for good efficiency. I get a big improvement with a full core per task when running three on a R9 280.

Quote:
You need to experiment with settings to find the optimum mix of CPU tasks, free cores and GPU tasks.


Agreed.

floyd
floyd
Joined: 12 Sep 11
Posts: 133
Credit: 186610495
RAC: 0

RE: I'll set my "GPU

Quote:
I'll set my "GPU utilization factor of BRP apps" to 0.5 and just run everything as I have always done. If it works - great. If E@H WU's don't get done then I won't bother.
Never had to adjust things before. I don't really understand why I need to change things now after all these years.


You don't have to adjust things, default settings should work, sort of. It's just that it might work much better with some adjustments.
Just do as you said, set GPU utilization to 0.5 and let BOINC assign all CPUs. That's a good compromise between ease of use and efficiency.

Chooka
Chooka
Joined: 11 Feb 13
Posts: 117
Credit: 3230874094
RAC: 5681

So I've set my BRP to 0.5 and

So I've set my BRP to 0.5 and cut my CPU usage to 75%.
As a result I see 2 x ATI E@H work units underway as well as my POGS WU's. This is producing 95% load on my GPU.

No idea what I'm doing really...but I guess it's working.


floyd
floyd
Joined: 12 Sep 11
Posts: 133
Credit: 186610495
RAC: 0

RE: So I've set my BRP to

Quote:
So I've set my BRP to 0.5 and cut my CPU usage to 75%.
As a result I see 2 x ATI E@H work units underway as well as my POGS WU's. This is producing 95% load on my GPU.


That looks good.

Quote:
No idea what I'm doing really...but I guess it's working.


A ... You told the Einstein server to assume BRP tasks need half a GPU to run on your system. The server passes this information to your BOINC client and that decides to run two GPU tasks. It will also keep a total of one CPU core free for those two tasks. The value of 0.5 CPUs per task is set by the server and cannot be changed through the UI.
B ... You told the BOINC client to use only three of your four CPU cores. With one already reserved for the GPU tasks this allows BOINC to run two CPU tasks. (Assuming that's 75% of processors, not 75% CPU time.) The fourth core is available for whatever and could even be used by the GPU tasks.

Now if you allowed BOINC to use 100% of processors it could run one more POGS task but that would probably slow down the GPU. Try it and see what works best for you.

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5850
Credit: 110039293979
RAC: 22386188

RE: That's all correct but

Quote:
That's all correct but it only works reasonably well for the 2x or 4x mentioned.


The GPU utilization factor was a feature added by Bernd before BOINC had a suitable mechanism of its own. Now that BOINC has such a mechanism (app_config.xml), if you need more fine-grained control, e.g. for running 3x and reserving more than 1 core, you would use app_config.xml. Because the OP had declared an aversion to things being "too technical", I deliberately glossed over the 3x case and tried to suggest 2x or 4x as being much easier compromises.

The best way to handle 3x is to use app_config.xml, explained near the bottom of this page. If you were to set 0.33 and 0.67 for example, you would have 3 GPU tasks being supported by two free CPU cores. To support a single GPU task with a free core, you could make those two usage numbers 1.0 and 1.0 respectively. Once you set up an app_config.xml you have quite a bit more control of things. This is actually better than using the 75% of cores setting for reserving a free core because it doesn't remove a core from being used by BOINC when no GPU tasks are running.

Cheers,
Gary.

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5850
Credit: 110039293979
RAC: 22386188

RE: The value of 0.5 CPUs

Quote:
The value of 0.5 CPUs per task is set by the server and cannot be changed through the UI.


Yes it can - see my previous message. App_config.xml over-rides the server side settings, including GPU utilization factor and the 0.5 CPUs per GPU task, which is really only a 'recommended default' provided for all AMD GPUs. Whilst this default works pretty well in most cases it may be a little over-generous for low to mid-range GPUs and not enough for higher end GPUs. For example, in particular hosts, I can run 4x on a HD7850 with only one free core and not suffer any significant reduction in GPU performance.

Cheers,
Gary.

floyd
floyd
Joined: 12 Sep 11
Posts: 133
Credit: 186610495
RAC: 0

RE: The GPU utilization

Quote:
The GPU utilization factor was a feature added by Bernd before BOINC had a suitable mechanism of its own.


I think you mean the user-defined utilization factor was added by Bernd, right? Surely the utilization factor must have existed before that. And I didn't want to criticize that feature, I just wanted to add some details to avoid possible surprises. Of course some people already knew that and for others it might be too much information.

Quote:
Now that BOINC has such a mechanism (app_config.xml), if you need more fine-grained control, e.g. for running 3x and reserving more than 1 core, you would use app_config.xml.


While I agree that app_config is the most potent tool for fine tuning, I don't like the way it is implemented. I avoid it if possible.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.