It would be useful to assign the percentage of cpu cores used by time, so that all cores could be utilized during off hours, and reduced during work hours.
In the Beta version of Boinc, 7.6.2, there are settings to stop crunching during certain hours, not just turn the network usage off but actually tell the pc to stop crunching during business hours for example. Maybe in the future this could be expanded to a reduction percentage option instead of just a full stoppage.
It would also be useful to have an option that allows giving an entire CPU core to any GPU workunit that requests more than a certain fraction of a core, or at least allows giving every OpenCL workunit an entire core. The time needed to switch from running one program for running another is often high enough to cause a severe slowdown of any program using input mainly from the user.
It would also be useful to have an option that allows giving an entire CPU core to any GPU workunit that requests more than a certain fraction of a core, or at least allows giving every OpenCL workunit an entire core. The time needed to switch from running one program for running another is often high enough to cause a severe slowdown of any program using input mainly from the user.
This can and does get done. If you run Poem, it steals a CPU and it will not allow work on that CPU at the same time. So the setting can be done. Just most GPU work does not need a whole CPU to compute.
It would also be useful to have an option that allows giving an entire CPU core to any GPU workunit that requests more than a certain fraction of a core, or at least allows giving every OpenCL workunit an entire core. The time needed to switch from running one program for running another is often high enough to cause a severe slowdown of any program using input mainly from the user.
This can and does get done. If you run Poem, it steals a CPU and it will not allow work on that CPU at the same time. So the setting can be done. Just most GPU work does not need a whole CPU to compute.
It can and does get done IF THE SETTING IS APPLIED AT THE SERVER. I'm suggesting allowing a similar setting applied at the client instead.
It can and does get done IF THE SETTING IS APPLIED AT THE SERVER. I'm suggesting allowing a similar setting applied at the client instead.
This has been available since BOINC 7.0.42. You just need to place an app_config.xml file in the EAH project directory. This file is documented towards the bottom of the linked page, under the heading "Application Configuration".
Using BRP6 here as an example, the server settings default to 0.5 CPUs for an AMD GPU task and 0.2 CPUs for an NVIDIA GPU task. Let's say you had an AMD GPU that was running too slow under those default values, i.e. 0.5 CPUs means that there is still part of a core available for CPU tasks so BOINC will be running CPU tasks on all cores and this may slow down your GPU.
To reserve a full core for GPU support you should use the following app_config.xml file (cut and paste this into a simple text editor and make sure it is called exactly app_config.xml and move it into the einstein.phys.uwm.edu folder):-
[pre]
einsteinbinary_BRP6
1.0
1.0
[/pre]
If you wanted to run 2 concurrent BRP6 tasks and reserve a full core for each GPU task, all you would need to change in the above is the setting for gpu_usage. Just change the number from 1.0 to 0.5 and you will get 2x GPU tasks and 2 free cores. You can do this while BOINC is running. Then you just click on "Read config files" in the BOINC Manager -> Advanced menu.
As an exercise for anybody reading this, what value(s) would you need to set if you wanted to run 3 concurrent GPU tasks and have exactly 2 free cores?
The app_config.xml mechanism is pretty user friendly as it is. Until something completely point & click comes along, anyone wanting to run GPU tasks efficiently needs to at least know that this is available. The above example is a minimalist one. There are other options that can do even more - read the documentation.
RE: It would be useful to
)
In the Beta version of Boinc, 7.6.2, there are settings to stop crunching during certain hours, not just turn the network usage off but actually tell the pc to stop crunching during business hours for example. Maybe in the future this could be expanded to a reduction percentage option instead of just a full stoppage.
It would also be useful to
)
It would also be useful to have an option that allows giving an entire CPU core to any GPU workunit that requests more than a certain fraction of a core, or at least allows giving every OpenCL workunit an entire core. The time needed to switch from running one program for running another is often high enough to cause a severe slowdown of any program using input mainly from the user.
RE: It would also be useful
)
This can and does get done. If you run Poem, it steals a CPU and it will not allow work on that CPU at the same time. So the setting can be done. Just most GPU work does not need a whole CPU to compute.
RE: RE: It would also be
)
It can and does get done IF THE SETTING IS APPLIED AT THE SERVER. I'm suggesting allowing a similar setting applied at the client instead.
RE: It can and does get
)
This has been available since BOINC 7.0.42. You just need to place an app_config.xml file in the EAH project directory. This file is documented towards the bottom of the linked page, under the heading "Application Configuration".
Using BRP6 here as an example, the server settings default to 0.5 CPUs for an AMD GPU task and 0.2 CPUs for an NVIDIA GPU task. Let's say you had an AMD GPU that was running too slow under those default values, i.e. 0.5 CPUs means that there is still part of a core available for CPU tasks so BOINC will be running CPU tasks on all cores and this may slow down your GPU.
To reserve a full core for GPU support you should use the following app_config.xml file (cut and paste this into a simple text editor and make sure it is called exactly app_config.xml and move it into the einstein.phys.uwm.edu folder):-
[pre]
einsteinbinary_BRP6
1.0
1.0
[/pre]
If you wanted to run 2 concurrent BRP6 tasks and reserve a full core for each GPU task, all you would need to change in the above is the setting for gpu_usage. Just change the number from 1.0 to 0.5 and you will get 2x GPU tasks and 2 free cores. You can do this while BOINC is running. Then you just click on "Read config files" in the BOINC Manager -> Advanced menu.
As an exercise for anybody reading this, what value(s) would you need to set if you wanted to run 3 concurrent GPU tasks and have exactly 2 free cores?
The app_config.xml mechanism is pretty user friendly as it is. Until something completely point & click comes along, anyone wanting to run GPU tasks efficiently needs to at least know that this is available. The above example is a minimalist one. There are other options that can do even more - read the documentation.
Cheers,
Gary.