Multiple GPU WU's and performance

ggesmundo
ggesmundo
Joined: 3 Jun 12
Posts: 31
Credit: 18,699,116
RAC: 0
Topic 196513

Is there a way to tell BOINC not to mix tasks from different applications on a gpu running multiple wu's? I run Einstein, Seti and MilkWay and mixing MilkyWay with any other application kills the performance of the other app. BPR4's that take 35 minutes go to 4 hours when run with a MW task. For now I run a single instance of MW on the gpu even though two will run together with better performance. I suspect it has something to do with the douple precision math used by MW.

Fred J. Verster
Fred J. Verster
Joined: 27 Apr 08
Posts: 118
Credit: 22,451,438
RAC: 0

Multiple GPU WU's and performance

Quote:
Is there a way to tell BOINC not to mix tasks from different applications on a gpu running multiple wu's? I run Einstein, Seti and MilkWay and mixing MilkyWay with any other application kills the performance of the other app. BPR4's that take 35 minutes go to 4 hours when run with a MW task. For now I run a single instance of MW on the gpu even though two will run together with better performance. I suspect it has something to do with the douple precision math used by MW.

You can not set this in BOINC. Only through app_info file.
SETI uses Single Pecision, not sure about Einsteins GPU apps..But think the are
S.P. too, Collatz also.
Milky uses Double Precision.
In my experience you can run Einstein Binary Pulsar Search for AMD/ATI & NVidia GPUs and SETI@home MB also AstroPulse both on 1 GPU, each using 1/2 GPU.
That happens on my ATI host. (i7-2600 =2x HD5870 GPU; INTEL DP67BG mobo).

Milkyway GPU work is short (66 sec on my 5870s)but very high usage %, load reaches ~100% especially when you have freed 1 or 2 cores to control the GPUs. Kind of necessary when running SETI MB, but also Einsteins B.P.Search.

I'd run Milkyway GPU work at 1 instance_per_device. With the setting 0.5 in
app_info.xml you instruct to use half of the # of Compute Units of the
GPU, IMHO.

Just use 1 GPU for MW work, so 1 at a time, through app_info.xml.
ATI
host.

ggesmundo
ggesmundo
Joined: 3 Jun 12
Posts: 31
Credit: 18,699,116
RAC: 0

Thanks Fred, that is the same

Thanks Fred, that is the same conclusion I came to.

archae86
archae86
Joined: 6 Dec 05
Posts: 2,780
Credit: 3,013,451,844
RAC: 2,662,749

RE: Is there a way to tell

Quote:
Is there a way to tell BOINC not to mix tasks from different applications on a gpu running multiple wu's?

I thought I noticed once that if the multiple was different it would not share the GPU simultaneously. If true, you might consider running Einstein at 2x, and SETI at 3x, and see if that avoids mixing.

I'm not highly confident but believe I observed such a behavior--if you try it please report whether it is currently true.

My most recent related observation is that Albert GPU work running at 1x did not mix with Einstein GPU work running at 3x on one host--so maybe it is currently true, or maybe they block each other another way.

ggesmundo
ggesmundo
Joined: 3 Jun 12
Posts: 31
Credit: 18,699,116
RAC: 0

Thanks for your response. My

Thanks for your response. My experience in attempting a solution indicates that a gpu application which allows more than 1 wu at a time will be mixed with other applications at the schedulers discretion. My GPU is memory limited to running 2 wu's at a time, so I have set Einstein and Seti at .5 and Milkway at 1. As you suggested, if two are running it will wait for them both to finish prior to starting a single MW task. I was hoping to run two at a time but, as Fred suggested they run quickly and it is not that much of a bother. I suspect, from other MW user comments, that an ATI/AMD GPU would probably be better for the mix of apps I'm running but, I'll make do with what I have.

Richard Haselgrove
Richard Haselgrove
Joined: 10 Dec 05
Posts: 1,935
Credit: 202,338,650
RAC: 98,740

RE: RE: Is there a way to

Quote:
Quote:
Is there a way to tell BOINC not to mix tasks from different applications on a gpu running multiple wu's?

I thought I noticed once that if the multiple was different it would not share the GPU simultaneously. If true, you might consider running Einstein at 2x, and SETI at 3x, and see if that avoids mixing.

I'm not highly confident but believe I observed such a behavior--if you try it please report whether it is currently true.

My most recent related observation is that Albert GPU work running at 1x did not mix with Einstein GPU work running at 3x on one host--so maybe it is currently true, or maybe they block each other another way.


I was under that impression as well, and I thought I'd seen a problem with task switching when the count values are different.

But it seems to be OK. I have a GTX 470 set to run GPUGrid singly (count=1), and SETI in pairs (count=0.5). It's running BOINC v6.12.34 as a service under WinXP, and switches just fine - when GPUGrid is finished, two SETI start up together. When it's time to switch back, a SETI task finishes but isn't replaced - the remaining one runs solo until complete, then GPUGrid starts and runs by itself.

My new GTX 670 (Windows 7, BOINC v7.0.33) is set to switch between counts: 1.00 GPUGrid, 0.50 Einstein, 0.25 SETI. I haven't got the resource shares and priorities fully balanced yet - it's harder, and takes longer, to get BOINC 7 settled down - but I've seen the same "prepare to switch" behaviour, and I have had it running one Einstein plus two SETI at the same time.

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3,515
Credit: 453,186,960
RAC: 21,500

RE: Is there a way to tell

Quote:
Is there a way to tell BOINC not to mix tasks from different applications on a gpu running multiple wu's? I run Einstein, Seti and MilkWay and mixing MilkyWay with any other application kills the performance of the other app. BPR4's that take 35 minutes go to 4 hours when run with a MW task. For now I run a single instance of MW on the gpu even though two will run together with better performance. I suspect it has something to do with the douple precision math used by MW.

Silly question: you have two PCs with GPUs. If MW and Einstein@Home tasks don't mix very well, but both have performance improvements when running 2 tasks at the same time, why not make one of the PCs an Einstein@Home cruncher, and the other one a Milkyway-dedicated machine? That way, you do "justice" to both projects and should get good performance for both.

Cheers
HB

ggesmundo
ggesmundo
Joined: 3 Jun 12
Posts: 31
Credit: 18,699,116
RAC: 0

Thanks for the suggestion. I

Thanks for the suggestion. I was thinking the same thing last night and I will probably take that approach. My thought was since Einstein and Seti gpu tasks play well together I would run them on one machine, MilkWay on the other and cpu tasks on both.

Fred J. Verster
Fred J. Verster
Joined: 27 Apr 08
Posts: 118
Credit: 22,451,438
RAC: 0

RE: RE: Is there a way to

Quote:
Quote:
Is there a way to tell BOINC not to mix tasks from different applications on a gpu running multiple wu's? I run Einstein, Seti and MilkWay and mixing MilkyWay with any other application kills the performance of the other app. BPR4's that take 35 minutes go to 4 hours when run with a MW task. For now I run a single instance of MW on the gpu even though two will run together with better performance. I suspect it has something to do with the douple precision math used by MW.

Silly question: you have two PCs with GPUs. If MW and Einstein@Home tasks don't mix very well, but both have performance improvements when running 2 tasks at the same time, why not make one of the PCs an Einstein@Home cruncher, and the other one a Milkyway-dedicated machine? That way, you do "justice" to both projects and should get good performance for both.

Cheers
HB

Not a 'silly question' at all, that's how I run several GPU projects.
Also the CPU, driving the GPU(s) makes a big difference.
F.i. the QX9650 runs @ 3.6GHz.(3560MFLOPS;Whetstone) having some 'overhead'
driving the GTX480 whithout a free core to feed it.

Milkyway and GPUgrid(only?) run better on FERMI/KEPPLER GPUs or 5000 series ATI
or better.

So spreading different projects does make sense, as there mileage varies also.

Cherokee150
Cherokee150
Joined: 13 May 11
Posts: 12
Credit: 87,346,589
RAC: 490,959

Where can I find a sample

Where can I find a sample app_info.xml file for Einstein?

Claggy
Claggy
Joined: 29 Dec 06
Posts: 560
Credit: 2,544,466
RAC: 108

RE: Where can I find a

Quote:
Where can I find a sample app_info.xml file for Einstein?


You don't need a sample app_info, if you want to run multiple GPU tasks at once use the 'GPU utilization factor of BRP apps' preference in the Einstein project preferences.

Claggy

Comment viewing options

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