Waiting to run (1 CPU + 1 AMD/ATI GPU) ... fail

cristipurdel
cristipurdel
Joined: 19 Jul 07
Posts: 26
Credit: 11,991,887
RAC: 0
Topic 215560

I have a system with NVIDIA + AMD APU 2400G

On the Nvidia I am running GPUGRID (0.908 CPU + 1 AMD/ATI GPU), while on AMD GPU (1 CPU + 1 AMD/ATI GPU) I am running Einstein

I also want to run 6 WCG tasks on the remaining CPUs but, from what I see, BOINC 10.2 considers the amd gpu low priority and gives higher priority to WCG CPU tasks

So in BOINC I had the option use at most 75% CPUs (6 out of 8 for WCG) so the remaining 2 CPUs can be used for GPU tasks

Anyone can help with this issue, since I guess the easiest solution is to change the Einstein assignment to 0.9 CPU + 1 AMD/ATI GPU

Other solutions?

 

 

archae86
archae86
Joined: 6 Dec 05
Posts: 3,157
Credit: 7,184,214,931
RAC: 796,328

You might find that setting a

You might find that setting a considerably smaller work fetch request might help distinguish other issues from simple issues of tasks getting scheduled onto resources in order to prioritize getting them finished before deadline.

I speculate that in your case your belief that BOINC 10.2 gives higher priority to WCG CPU tasks than to amd gpu tasks is likely a misunderstanding arising from this type of issue.

The ways BOINC handles this in cases of mixed workloads involving multiple computation resources (GPU and CPU) and multiple task types (including multiple projects) are not entirely satisfactory to anyone.  But really short fetch request specs can take that part out of the mysteries.  I suggest trying 0.1 day + 0.1 day (and no, I am not joking).

 

Zalster
Zalster
Joined: 26 Nov 13
Posts: 3,117
Credit: 4,050,672,230
RAC: 0

what are WCG? are they

what are WCG? are they Einstein work units? Is it a 3rd project you are trying to run?

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5,870
Credit: 116,119,968,459
RAC: 35,998,048

cristipurdel wrote:I also

cristipurdel wrote:
I also want to run 6 WCG tasks on the remaining CPUs but, from what I see, BOINC 10.2 considers the amd gpu low priority and gives higher priority to WCG CPU tasks

No, the real problem is that you are trying to get BOINC to 'use' 7 CPU cores (6+.908+1=7.908 which BOINC rounds down to 7) whilst you tell BOINC through the 75% setting that it is only allowed to use 6.  Something has to give.  Setting Einstein to 0.9 won't solve the problem because .908+.9 is still > 1.

The easiest way to get what you want is to leave the GPU tasks as they are and allow BOINC to use 87.5% of the CPUs.  You will then have 5 World Community Grid CPU tasks and the 2 GPU tasks.  I would have some reservations about GPU performance with such a heavy crunching load though.  You should at least experiment to see what happens to GPU performance if you reduce the number of CPU tasks.  You might get better GPU performance by doing so.

I would also agree with Archae86's comment about keeping a low cache size to avoid any prospect of BOINC getting into high priority mode, particularly during the 'experimentation' stage whilst you are working out your 'optimum' mix of tasks.  BOINC going into 'panic' can wreak havoc, particularly if you're not paying close attention.

 

Cheers,
Gary.

Zalster
Zalster
Joined: 26 Nov 13
Posts: 3,117
Credit: 4,050,672,230
RAC: 0

Quote:No, the real problem is

Quote:
No, the real problem is that you are trying to get BOINC to 'use' 7 CPU cores (6+.908+1=7.908 which BOINC rounds down to 7) whilst you tell BOINC through the 75% setting that it is only allowed to use 6.  Something has to give.

 

Quote:
I would have some reservations about GPU performance with such a heavy crunching load though.

 

I would agree with these 2 statement. But I think there is another way to address this.

Make sure Einstein and GPUGrid are only set to allow GPU work only.  WCG should be set to CPU only (don't know if they use GPU or not)

Then I would set Use at most to 100% CPU. 

Then use app_config.xmls for all 3 projects.  Set GPUGrid and Einstein to use 1 CPU per GPU work unit. Limit WCG to 5 work units on the CPU that way there is 1 free thread to feed the OS and help support the GPUs if they need it.

use this for GPUGrid

 

<app_config><app><name>acemdlong</name><gpu_versions><gpu_usage>1</gpu_usage><cpu_usage>1</cpu_usage></gpu_versions></app><app><name>acemdshort</name><gpu_versions><gpu_usage>1</gpu_usage><cpu_usage>1</cpu_usage></gpu_versions></app><project_max_concurrent>1</project_max_concurrent></app_config>

 

Use this for Einstein

 

<app_config> <app> <name>hsgamma_FGRPB1G</name> <gpu_versions> <gpu_usage>1</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app> <project_max_concurrent>1</project_max_concurrent> </app_config>

 

For the WCG

<app_config><app><project_max_concurrent>5</project_max_concurrent></app></app_config>

 

I know the first 2 will work for Einstein and GPUGrid. Not sure about WCG since I've never run that one. If it does, then you should only be using 7 of 8 threads. If the systems gets slow or lags, then decrease WCG to 4

cristipurdel
cristipurdel
Joined: 19 Jul 07
Posts: 26
Credit: 11,991,887
RAC: 0

Thank you all for your

Thank you all for your replies.

archae86 wrote:

The ways BOINC handles this in cases of mixed workloads involving multiple computation resources (GPU and CPU) and multiple task types (including multiple projects) are not entirely satisfactory to anyone.  But really short fetch request specs can take that part out of the mysteries.  I suggest trying 0.1 day + 0.1 day (and no, I am not joking).

 

Tried it, worked the first time, but not the second time, plus I want to have 1 day + 1 day

 

 

Gary Roberts wrote:

No, the real problem is that you are trying to get BOINC to 'use' 7 CPU cores (6+.908+1=7.908 which BOINC rounds down to 7) whilst you tell BOINC through the 75% setting that it is only allowed to use 6.  Something has to give.  Setting Einstein to 0.9 won't solve the problem because .908+.9 is still > 1.

Did not know that, but it makes sense now.

 

Zalster wrote:

For the WCG

<app_config><project_max_concurrent>4</project_max_concurrent></app_config>

This is the correct setting which I've used only for WCG :)

 

Since I am running on under-clocked CPU freq, I am using only 4 CPUs for WCG while the AMD GPU is loaded at 95-100% while the NVIDIA GPU is loaded at 85%

Basically I checked with HWiNFO how many WCG I can assing without getting the Einstein GPU to fall under 95%

 

 

Comment viewing options

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