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.
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.
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...
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
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.
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.
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:
LINUX app_info for GPU and CPU?
)
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
Team Linux Users Everywhere
![](http://allprojectstats.com/su2082519h1--1-1.png)
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
RE: I want to use an
)
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.
I have. I benchmarked the
)
I have. I benchmarked the performance. Here are the results
HOW TO - Full installation Ubuntu 11.10
RE: RE: I want to use an
)
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...
RE: Setting the usage to
)
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
HOW TO - Full installation Ubuntu 11.10
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.
RE: RE: Setting the usage
)
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.
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?
RE: libcufft32_32_16.so-120
)
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
HOW TO - Full installation Ubuntu 11.10