LINUX app_info for GPU and CPU?

Alaun  Pederson
Alaun Pederson
Joined: 5 Sep 10
Posts: 8
Credit: 59120449
RAC: 0
Topic 196230

Anyone have a working LINUX app_info for both CPU and GPU apps?

Michael Karlinsky
Michael Karlinsky
Joined: 22 Jan 05
Posts: 888
Credit: 23502182
RAC: 0

LINUX app_info for GPU and CPU?

Quote:
Anyone have a working LINUX app_info for both CPU and GPU apps?

Hi Alaun,

what for?
If you want to use it to run multiple WUs on GPU, app_info is no longer necessary:
http://einsteinathome.org/node/196213&nowrap=true#116288

HTH
Michael

Alaun  Pederson
Alaun Pederson
Joined: 5 Sep 10
Posts: 8
Credit: 59120449
RAC: 0

If the GPU tasks dont use up

If the GPU tasks dont use up an entire CPU core, BOINC will start a new CPU task on whats left of that core. For some reason that really bogs down my system.

On other projects, I find the fastest performance if I reserve an entire CPU core to feed the GPU tasks.

I want to use an app_info so I can change the avg_cpu from the stock 0.20 to 0.25. That way four GPU tasks will reserve 1 full core.

Intel Quad Q6600
[2] GTX 460

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5887
Credit: 119452275421
RAC: 25938474

RE: I want to use an

Quote:
I want to use an app_info so I can change the avg_cpu from the stock 0.20 to 0.25. That way four GPU tasks will reserve 1 full core.


Can't you just set your prefs to use 75% of your CPUs? That way you would always have just 3 CPU tasks running and hence a free core to support all your GPU tasks without needing to jump through the AP hoop.

Cheers,
Gary.

Damaraland
Damaraland
Joined: 9 Feb 05
Posts: 24
Credit: 5691134
RAC: 0

I have. I benchmarked the

I have. I benchmarked the performance. Here are the results

Horacio
Horacio
Joined: 3 Oct 11
Posts: 205
Credit: 80557243
RAC: 0

RE: RE: I want to use an

Quote:
Quote:
I want to use an app_info so I can change the avg_cpu from the stock 0.20 to 0.25. That way four GPU tasks will reserve 1 full core.

Can't you just set your prefs to use 75% of your CPUs? That way you would always have just 3 CPU tasks running and hence a free core to support all your GPU tasks without needing to jump through the AP hoop.

Setting the usage to 75% (or whatever) will prevent BOINC to use some cores at all even if you are not currently crunching a BRP...

I crunch for SETI and Einstein and the Lunatic's apps dont need the CPU as much as the hybrid BRP aps, so if I set the usage at less than 100% then Ill be "wasting" some CPU power when the GPUs are bussy on SETI tasks...

OTOH, if I dont reserve at least a core for the BRPs they take a lot more time to be crunched.

In other words, since Ive taken out the ap-info my overall RAC went down, so Im thinking to go back to the AP... Of course If I were able to choose Ill preffer to have that parameter as another option in the preferences instead of the ap_info...

Damaraland
Damaraland
Joined: 9 Feb 05
Posts: 24
Credit: 5691134
RAC: 0

RE: Setting the usage to

Quote:
Setting the usage to 75% (or whatever) will prevent BOINC to use some cores at all even if you are not currently crunching a BRP...


This is not exactly true. On multithreading Intel when one core is "not used" the other cores run faster. You can test it easily.

Lest's say you have 2 GPUs with 4 cores:
If you don't free your cores you will see 6 tasks = 4 task + 2 task for your GPUs.
If you free one core you will see 5 task = 3 task + 2 task for your GPU.
If you free two cores you will see 4 task = 2 task + 2 task for your GPU.
If you free 3 cores you will see 2 task = 1 task + 2 task for your GPU.

If you have 2 task running they will go much faster. Anyway the performance increases because there's a lot of idle time when the system get oversaturated and don't have time to attend GPUs

.clair.
.clair.
Joined: 20 Nov 06
Posts: 62
Credit: 1051176770
RAC: 0

If you use the setting at 99%

If you use the setting at 99% it will still only use three cpu`s
anything less than 100% = 4, will restrict boinc manager to using three,
It is what i do to feed a GPU and keep desktop work responsive.

Horacio
Horacio
Joined: 3 Oct 11
Posts: 205
Credit: 80557243
RAC: 0

RE: RE: Setting the usage

Quote:
Quote:
Setting the usage to 75% (or whatever) will prevent BOINC to use some cores at all even if you are not currently crunching a BRP...

This is not exactly true. On multithreading Intel when one core is "not used" the other cores run faster. You can test it easily.

Lest's say you have 2 GPUs with 4 cores:
If you don't free your cores you will see 6 tasks = 4 task + 2 task for your GPUs.
If you free one core you will see 5 task = 3 task + 2 task for your GPU.
If you free two cores you will see 4 task = 2 task + 2 task for your GPU.
If you free 3 cores you will see 2 task = 1 task + 2 task for your GPU.

If you have 2 task running they will go much faster. Anyway the performance increases because there's a lot of idle time when the system get oversaturated and don't have time to attend GPUs

You are right, I worded it in the wrong way as I was thinking in the number of concurrent WUs being crunched on CPUs...
If you set the CPU usage to 3 cores (for example) you will never have 4 WUs crunched on the CPU, even if there is no work running on the GPUs. If, instead, you use the ncpu parameter the cores reserved for the GPU assistance can be "reserved" dinamically.

In your example, if the system has 4 cores, Boinc is setted to use all of them and the ncpu parameter of the GPU tasks is set to 0.5 then if there is BRP work running on the GPUs you will have 3 WUs running on CPU and 2 others running on the GPUs (Boinc will think that these 2 Wus need a whole CPU). If there is no work for the GPUs (or the GPUs are running other apps that dont need so much the CPU as the hybrid Einstein's BRPs) then you will have 4 WUs running on the CPUs.

Alaun  Pederson
Alaun Pederson
Joined: 5 Sep 10
Posts: 8
Credit: 59120449
RAC: 0

Setting the CPU usage to

Setting the CPU usage to anything other than 100% still doesnt solve the problem of a GPU task and CPU task trying to share a core. It just does the same thing as if it were a 3 core system.

I tried to run an app_info for GPU only tasks, and got all kinds of errors. The app and lib files I put in the folder would be deleted next time I looked, and it would say it could not find files that were clearly there.

I decided to scrap the app_info, and just use GPU only tasks by un-checking the 'Use CPU' box in the preferences page. It ran fine for awhile but those tasks errored out as well. Here's the output I get:

Outcome Client error
Client state Compute error
Exit status -185 (0xffffffffffffff47)

Stderr output
app_version download error: couldn't get input files:

libcufft32_32_16.so
-120
signature verification failed

This file IS in the Einstein folder... I don't want to keep giving errors to the project.. Any ideas?

Damaraland
Damaraland
Joined: 9 Feb 05
Posts: 24
Credit: 5691134
RAC: 0

RE: libcufft32_32_16.so-120

Quote:


libcufft32_32_16.so
-120
signature verification failed

This file IS in the Einstein folder... I don't want to keep giving errors to the project.. Any ideas?


I think this has nothing to do with CPUs or GPUs it's related to you download veryfication.

http://www.boinc-wiki.info/Signature_verification_failed_for_%27%28file%29%27

Comment viewing options

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