Letting cuda WUs use a full thread/core

Dirk
Dirk
Joined: 4 Jun 08
Posts: 35
Credit: 88,264,743
RAC: 17
Topic 195833

Hey I was wondering if it was at all possible to let the cuda WUs use a full CPU thread. Right now they only use 5% of the CPU if I have hyperthreading enabled and about 7-8% if I have hyperthreading disabled. The increase in CPU use increases the GPU usage a little bit and helps with completion times.

Ideally I'd like to run 4 CPU tasks on 4 threads and 4 cuda WUs on my remaining 4 threads with each task using a full thread.

FrankHagen
FrankHagen
Joined: 13 Feb 08
Posts: 102
Credit: 217,700
RAC: 62

Letting cuda WUs use a full thread/core

Quote:

Hey I was wondering if it was at all possible to let the cuda WUs use a full CPU thread. Right now they only use 5% of the CPU if I have hyperthreading enabled and about 7-8% if I have hyperthreading disabled. The increase in CPU use increases the GPU usage a little bit and helps with completion times.

Ideally I'd like to run 4 CPU tasks on 4 threads and 4 cuda WUs on my remaining 4 threads with each task using a full thread.

you could try to set boinc to use only 50% of your CPU's. that should lead to run 4 CPU-tasks + 4 GPU tasks. of course only if you are running an app_info.xml which allows 4 GPU-tasks at a time..

Dirk
Dirk
Joined: 4 Jun 08
Posts: 35
Credit: 88,264,743
RAC: 17

Sorry if I wasn't clear. I

Sorry if I wasn't clear. I already do that but each task only takes about 5% of the CPU instead of the 12.5% of a full thread.

FrankHagen
FrankHagen
Joined: 13 Feb 08
Posts: 102
Credit: 217,700
RAC: 62

RE: Sorry if I wasn't

Quote:
Sorry if I wasn't clear. I already do that but each task only takes about 5% of the CPU instead of the 12.5% of a full thread.

probably it was me, who wasn't clear enough..

enable HT and set boinc to use only 50% of your CPU's!

Gundolf Jahn
Gundolf Jahn
Joined: 1 Mar 05
Posts: 1,079
Credit: 341,280
RAC: 0

I don't think you'll need

I don't think you'll need four CPU cores for GPU support. Probably one full core for the four GPU tasks will suffice.

To achieve that, you can either set "On multiprocessors, use at most 90% of the processors" (or more exctly 87.5%, but the effect is the same :-) in your computing preferences or change the and entries in your app_info.xml file to 0.25. The latter will (also) reserve one full CPU core if four GPU tasks are running.

Gruß,
Gundolf

Computer sind nicht alles im Leben. (Kleiner Scherz)

Dirk
Dirk
Joined: 4 Jun 08
Posts: 35
Credit: 88,264,743
RAC: 17

I already run 4 GPU tasks at

I already run 4 GPU tasks at once, along with 4 CPU tasks usually. Currently I'm running only 2 climateprediction tasks and here's the CPU usage.

What I'd like is if the cuda WUs could make use of a full CPU thread just like the climate apps. I think it'd help, not only with GPU usage which just can't go above about 82% even with 4 tasks on 1 GPU, but also with stability while running other CPU tasks. GPUGRID allows this by adding a system variable called swan_sync. It allows the cuda task to use a full cpu thread and helps keep GPU usage stable.

Btw, if I run more than 4 CPU tasks the GPU usuage goes up and down way too much, 4 CPU tasks and it runs with a stable GPU usuage.

Dirk
Dirk
Joined: 4 Jun 08
Posts: 35
Credit: 88,264,743
RAC: 17

I was looking at my validated

I was looking at my validated tasks and saw this task:

http://einsteinathome.org/task/234196919

The name of the app used for it was:
Binary Radio Pulsar Search v1.08 (BRP3cuda32fullCPU)

So it used a full CPU thread to run the cuda WU. Now I guess it's only available for linux systems because I've only seen those apps on linux systems but it is possible and it's exactly what I'd like too.

Gundolf Jahn
Gundolf Jahn
Joined: 1 Mar 05
Posts: 1,079
Credit: 341,280
RAC: 0

If you insist on using one

If you insist on using one CPU core per GPU task, just set "On multiprocessors, use at most 50% of the processors" as FrankHagen suggested or set the and entries in your app_info.xml file to 1.0.

Gruß,
Gundolf

Computer sind nicht alles im Leben. (Kleiner Scherz)

Dirk
Dirk
Joined: 4 Jun 08
Posts: 35
Credit: 88,264,743
RAC: 17

RE: If you insist on using

Quote:

If you insist on using one CPU core per GPU task, just set "On multiprocessors, use at most 50% of the processors" as FrankHagen suggested or set the and entries in your app_info.xml file to 1.0.

Gruß,
Gundolf

Like I said before, I already do that. But, all that does is inform the boinc client that they will use 1 CPU so it can properly schedule which tasks to run. It doesn't actually change the app's CPU usage though, which is what I want. I know it can do exactly that because that task I linked to ran on a linux app which used a full cpu thread.

I guess that it isn't avaiable for win7 though so tough luck for me. But I figured I might as well ask if there is actually a way.

mikey
mikey
Joined: 22 Jan 05
Posts: 6,377
Credit: 556,836,244
RAC: 225,054

RE: RE: If you insist on

Quote:
Quote:

If you insist on using one CPU core per GPU task, just set "On multiprocessors, use at most 50% of the processors" as FrankHagen suggested or set the and entries in your app_info.xml file to 1.0.

Gruß,
Gundolf

Like I said before, I already do that. But, all that does is inform the boinc client that they will use 1 CPU so it can properly schedule which tasks to run. It doesn't actually change the app's CPU usage though, which is what I want. I know it can do exactly that because that task I linked to ran on a linux app which used a full cpu thread.

I guess that it isn't avaiable for win7 though so tough luck for me. But I figured I might as well ask if there is actually a way.

Why would it need a full cpu core to run a unit being crunched by the gpu? The whole idea is to move the unit off the cpu to a faster cruncher in the gpu. Now the cpu needs to keep the gpu working, feeding it etc, but that should not take a full cpu core to do that.

I have multiple machines with multiple cpu's and even one machine with 2 gpu's in it, all the gpu's and ALL the cpu's crunch 100% of the time on their own workunits. I even oc'd the two Nvidia cards I have that crunch PG units and everything is fine. Now I do NOT crunch cpu and gpu workunits for the same project on the same pc!

Dirk
Dirk
Joined: 4 Jun 08
Posts: 35
Credit: 88,264,743
RAC: 17

RE: RE: RE: If you

Quote:
Quote:
Quote:

If you insist on using one CPU core per GPU task, just set "On multiprocessors, use at most 50% of the processors" as FrankHagen suggested or set the and entries in your app_info.xml file to 1.0.

Gruß,
Gundolf

Like I said before, I already do that. But, all that does is inform the boinc client that they will use 1 CPU so it can properly schedule which tasks to run. It doesn't actually change the app's CPU usage though, which is what I want. I know it can do exactly that because that task I linked to ran on a linux app which used a full cpu thread.

I guess that it isn't avaiable for win7 though so tough luck for me. But I figured I might as well ask if there is actually a way.

Why would it need a full cpu core to run a unit being crunched by the gpu? The whole idea is to move the unit off the cpu to a faster cruncher in the gpu. Now the cpu needs to keep the gpu working, feeding it etc, but that should not take a full cpu core to do that.

I have multiple machines with multiple cpu's and even one machine with 2 gpu's in it, all the gpu's and ALL the cpu's crunch 100% of the time on their own workunits. I even oc'd the two Nvidia cards I have that crunch PG units and everything is fine. Now I do NOT crunch cpu and gpu workunits for the same project on the same pc!

I'll just quote myself here...

Quote:
What I'd like is if the cuda WUs could make use of a full CPU thread just like the climate apps. I think it'd help, not only with GPU usage which just can't go above about 82% even with 4 tasks on 1 GPU, but also with stability while running other CPU tasks. GPUGRID allows this by adding a system variable called swan_sync. It allows the cuda task to use a full cpu thread and helps keep GPU usage stable.

To that reason you can add that I like to tinker around and see how things affect my system. I basically want to see how I can make my GPU complete the WU's faster. If you want I can show you a graph of what happens to GPU usage when crunching 8 CPU tasks (or 5, 6, or 7 for that matter) as well as 4 GPU tasks.

When I'm done with this part of my tinkering I'll probably see how far I can overclock the GPU without it affecting computation or validate error rates. it only runs with a slight overclock atm.

Comment viewing options

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