Setup Boinc only to run when no FAH work??

Moderators: Site Moderators, FAHC Science Team

extide
Posts: 11
Joined: Fri Apr 27, 2012 9:41 pm

Re: Setup Boinc only to run when no FAH work??

Post by extide »

Yes, you can. Check out the information here: https://boinc.berkeley.edu/wiki/Client_configuration

Add this line for pausing when F@H is doing CPU work
<exclusive_app>FahCore_a7.exe</exclusive_app>

and
Add these lines for pausing when F@H is doing GPU work
<exclusive_gpu_app>FahCore_21.exe</exclusive_gpu_app>
<exclusive_gpu_app>FahCore_22.exe</exclusive_gpu_app>
Image
uyaem
Posts: 222
Joined: Sat Mar 21, 2020 7:35 pm
Location: Esslingen, Germany

Re: Setup Boinc only to run when no FAH work??

Post by uyaem »

BOINC also has an option to suspend work if the CPU is busier than X%, but that doesn't seem to work reliably with processes that are also running at minimum priority, like FAH.
Image
CPU: Ryzen 9 3900X (1x21 CPUs) ~ GPU: nVidia GeForce GTX 1660 Super (Asus)
RTS708
Posts: 2
Joined: Sat Apr 04, 2020 4:41 am

Re: Setup Boinc only to run when no FAH work??

Post by RTS708 »

extide wrote:Yes, you can. Check out the information here: https://boinc.berkeley.edu/wiki/Client_configuration

Add this line for pausing when F@H is doing CPU work
<exclusive_app>FahCore_a7.exe</exclusive_app>

and
Add these lines for pausing when F@H is doing GPU work
<exclusive_gpu_app>FahCore_21.exe</exclusive_gpu_app>
<exclusive_gpu_app>FahCore_22.exe</exclusive_gpu_app>
Thanks, This looks to be working perfectly. FAH had no CPU work and Bionic was running CPU work. FAH got now CPU work and Bionic suspended all the CPU work with a "Suspended - an exclusive app is running" status.

Thank For the help. Now I can give FAH priority, and allow Bionic to pick up the down time.
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Setup Boinc only to run when no FAH work??

Post by bruce »

If FAH gets a GPU assignment and FAHCore_a7 or FAHCore_a8 starts processing, how quickly does BOINC suspend processing?
MeeLee
Posts: 1375
Joined: Tue Feb 19, 2019 10:16 pm

Re: Setup Boinc only to run when no FAH work??

Post by MeeLee »

While the method of sharing FAH and Boinc through Boinc's ability to sense CPU load, is possible;
The method isn't very practical.

First of all, because FAH CPU jobs will more than likely be more readily available than GPU jobs.
Chances you'll run out of CPU jobs on fah are quite low.
So if it's just for CPU, I would say to not bother with trying to share between 2 programs.


So far I don't know of any program that would poll the GPU to see if it's active or not. At least not on Nvidia GPUs.
Perhaps AMD drivers allow polling info to terminal, but for Nvidia, this option is only available in a GUI.
GPU switching makes more sense, as FAH more frequently runs out of GPU WUs.

Those that have made it possible to set fan speed and adjust GPU frequency in Arch Linux, those commands don't work in Debian or other Debian-like variants.
I'm also not sure if Boinc or FAH can see GPU load, if it knows to back off when there's a GPU load above a set treshold, like is with the CPU..

It would be much easier to write a program in Python, as there's no documentation on controlling programs through the terminal, or even through Windows.
Perhaps in Windows you can retrieve GPU activity, via programs like taskmanager, or MSI Afterburner?


Polling FAH's website (like through a ping-command)is also useless, as FAH GPU WUs sometimes get stuck through 1 server, while the others are ok.
And quite often the server is perfectly capable to respond to a ping command, but not send an entire WU.

The last option I can think of, is to write a Python script, that uses your GPU's temperature in combination with a raspberry Pi (zero W, or Arduino might work as well), connected to one or more temperature sensors.
The sensors can be connected on the GPU's heat sink and to the Pi/Arduino's GPIO pins.
You then can, via a python program, steer software, that can control commands on your computer (like start Boinc, when the GPU lowers below a certain temperature).
It would be quite an ingenious program, yet not very difficult to achieve.
The problem with that, is that the Python script, wouldn't know when FAH jobs will be available again, and it would still require a physical presence of a real live human to correct the issues.

It would be easy to do for a python programmer. Perhaps less for a leek, to a regular PC enthousiast.
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Setup Boinc only to run when no FAH work??

Post by bruce »

It's not necessary to poll the GPU to see if it's working. It's a simple matter to poll the OS and ask it if FAHCore_2x is running. If the OpenMM FAHCore is running, then the GPU is processing a FAH WU. When your client finishes a WU, the FAHCore process is ended and it's not restarted until a new WU is delivered.
MeeLee
Posts: 1375
Joined: Tue Feb 19, 2019 10:16 pm

Re: Setup Boinc only to run when no FAH work??

Post by MeeLee »

bruce wrote:It's not necessary to poll the GPU to see if it's working. It's a simple matter to poll the OS and ask it if FAHCore_2x is running. If the OpenMM FAHCore is running, then the GPU is processing a FAH WU. When your client finishes a WU, the FAHCore process is ended and it's not restarted until a new WU is delivered.
What if FahCore is stuck/frozen?
Then the method wouldn't work.

The only way to know for sure the GPU is doing something, is either by relying on the GPU frequency (in stock form, not when the GPU frequency has been modified to run at max speed always), or the fan speed (or temperature sensor).
Temperature sensor is the best, and there should be a way to get that info in Linux terminal or DOS command, as not only the (Nvidia) drivers can get it, but overclocking utilities also seem to have access to it.
Post Reply