Reading settings/flags via command line?

If you're new to FAH and need help getting started or you have very basic questions, start here.

Moderators: Site Moderators, FAHC Science Team

Post Reply
FoldingFodder
Posts: 44
Joined: Sat Apr 04, 2020 6:07 pm

Reading settings/flags via command line?

Post by FoldingFodder »

Is it possible to read/view settings/flags via command line?

Looking at the command line help, there are a few settings/flags that i would like to look at it's current setting before making an alteration. Eg. cpu-usuage and gpu-usuage.

The command line help gives the impression that you can only control the client/core/some other correct terminology but not view.
bollix47
Posts: 2974
Joined: Sun Dec 02, 2007 5:04 am
Location: Canada

Re: Reading settings/flags via command line?

Post by bollix47 »

There is a verbosity flag. It's default is 3 which should show only the options that have been changed from their default and this is always the value to use when posting your log if you need help from the forum. However, if you want to see all the default values try verbosity=5 and look in your log.txt file either using the command line or FAHControl aka Advanced Control. You might need to restart the client in order to actually have them print in the log.txt file.
FoldingFodder
Posts: 44
Joined: Sat Apr 04, 2020 6:07 pm

Re: Reading settings/flags via command line?

Post by FoldingFodder »

Thanks. Where is log.txt located? I've looked for it but couldn't see it. So I've either looked past it or it's not where I would search.
bollix47
Posts: 2974
Joined: Sun Dec 02, 2007 5:04 am
Location: Canada

Re: Reading settings/flags via command line?

Post by bollix47 »

Sorry, I should have posted the following link in my previous reply:
viewtopic.php?f=24&t=26036
Neil-B
Posts: 1996
Joined: Sun Mar 22, 2020 5:52 pm
Hardware configuration: 1: 2x Xeon E5-2697v3@2.60GHz, 512GB DDR4 LRDIMM, SSD Raid, Win10 Ent 20H2, Quadro K420 1GB, FAH 7.6.21
2: Xeon E3-1505Mv5@2.80GHz, 32GB DDR4, NVME, Win10 Pro 20H2, Quadro M1000M 2GB, FAH 7.6.21 (actually have two of these)
3: i7-960@3.20GHz, 12GB DDR3, SSD, Win10 Pro 20H2, GTX 750Ti 2GB, GTX 1080Ti 11GB, FAH 7.6.21
Location: UK

Re: Reading settings/flags via command line?

Post by Neil-B »

… but after you have found what you are looking for it might be a good idea to change the verbosity back to 3 - verbosity 5 logs are really unpleasant to try troubleshooting if you need help in the future :)
2x Xeon E5-2697v3, 512GB DDR4 LRDIMM, SSD Raid, W10-Ent, Quadro K420
Xeon E3-1505Mv5, 32GB DDR4, NVME, W10-Pro, Quadro M1000M
i7-960, 12GB DDR3, SSD, W10-Pro, GTX1080Ti
i9-10850K, 64GB DDR4, NVME, W11-Pro, RTX3070

(Green/Bold = Active)
FoldingFodder
Posts: 44
Joined: Sat Apr 04, 2020 6:07 pm

Re: Reading settings/flags via command line?

Post by FoldingFodder »

Is it possible to alter flags of the F@H instance that is already running with the GUI interface? Command line or alternatives?

Without realise it, I started a new command line instance of F@H in a random location on my computer. Ops! I thought I was just altering the verbosity of the log.

I'm running windows 10 if that helps.

My goal is that I want more control of the program than what the dev has built in to the GUI.
PantherX
Site Moderator
Posts: 6986
Joined: Wed Dec 23, 2009 9:33 am
Hardware configuration: V7.6.21 -> Multi-purpose 24/7
Windows 10 64-bit
CPU:2/3/4/6 -> Intel i7-6700K
GPU:1 -> Nvidia GTX 1080 Ti
§
Retired:
2x Nvidia GTX 1070
Nvidia GTX 675M
Nvidia GTX 660 Ti
Nvidia GTX 650 SC
Nvidia GTX 260 896 MB SOC
Nvidia 9600GT 1 GB OC
Nvidia 9500M GS
Nvidia 8800GTS 320 MB

Intel Core i7-860
Intel Core i7-3840QM
Intel i3-3240
Intel Core 2 Duo E8200
Intel Core 2 Duo E6550
Intel Core 2 Duo T8300
Intel Pentium E5500
Intel Pentium E5400
Location: Land Of The Long White Cloud
Contact:

Re: Reading settings/flags via command line?

Post by PantherX »

FoldingFodder wrote:...I thought I was just altering the verbosity of the log...
Please note that V7 was specifically developed with the default verbosity set to 3 which provides all the necessary information to troubleshoot issues. Setting it any higher will simply print out messages that will interfere with troubleshooting issues.
FoldingFodder wrote:...My goal is that I want more control of the program than what the dev has built in to the GUI.
What's your use case or objective here (more control of what to do what)? Once we know that, we might be able to help you out :)
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time

Welcome To The F@H Support Forum Ӂ Troubleshooting Bad WUs Ӂ Troubleshooting Server Connectivity Issues
FoldingFodder
Posts: 44
Joined: Sat Apr 04, 2020 6:07 pm

Re: Reading settings/flags via command line?

Post by FoldingFodder »

I want automated control.

Instruct it to run/pause - certain times of the day and if certain applications are running.

If it's running just a CPU fold, give it x threads. If it's running CPU and GPU folds, give the CPU slot y threads.

Etc, etc.

One of the computers I'm running it on, I actually use for certain tasks. So I don't want it to interfere with what I'm doing, but at all other times I want it to ramp up productivity.

I want the GUI interface because it's easier for me if I want to make an immediate change, but then I want to write a program to automate the rest.
PantherX
Site Moderator
Posts: 6986
Joined: Wed Dec 23, 2009 9:33 am
Hardware configuration: V7.6.21 -> Multi-purpose 24/7
Windows 10 64-bit
CPU:2/3/4/6 -> Intel i7-6700K
GPU:1 -> Nvidia GTX 1080 Ti
§
Retired:
2x Nvidia GTX 1070
Nvidia GTX 675M
Nvidia GTX 660 Ti
Nvidia GTX 650 SC
Nvidia GTX 260 896 MB SOC
Nvidia 9600GT 1 GB OC
Nvidia 9500M GS
Nvidia 8800GTS 320 MB

Intel Core i7-860
Intel Core i7-3840QM
Intel i3-3240
Intel Core 2 Duo E8200
Intel Core 2 Duo E6550
Intel Core 2 Duo T8300
Intel Pentium E5500
Intel Pentium E5400
Location: Land Of The Long White Cloud
Contact:

Re: Reading settings/flags via command line?

Post by PantherX »

FoldingFodder wrote:...Instruct it to run/pause - certain times of the day and if certain applications are running...
Currently, there's no intelligence in the client to detect what application is running and modify it's behavior. Best case is you have a batch file which sends the pause command and another one with the unpause command: viewtopic.php?f=89&t=33296
FoldingFodder wrote:...If it's running just a CPU fold, give it x threads. If it's running CPU and GPU folds, give the CPU slot y threads...
That's tricky to do as changing the number of CPUs mid WU might cause issues. My suggestion is to either have CPU and GPU or one. Whatever works best for you.

FoldingFodder wrote:...One of the computers I'm running it on, I actually use for certain tasks. So I don't want it to interfere with what I'm doing, but at all other times I want it to ramp up productivity...
Generally speaking, the folding on the CPU is a low priority task and 98% of any other tasks that you can run, will at a higher priority thus have almost no impact/interference on most applications.

Depending on the GPU model and what applications you run, it's a hit and miss. However, you can set the GPU slot to fold on idle if that works for you.
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time

Welcome To The F@H Support Forum Ӂ Troubleshooting Bad WUs Ӂ Troubleshooting Server Connectivity Issues
FoldingFodder
Posts: 44
Joined: Sat Apr 04, 2020 6:07 pm

Re: Reading settings/flags via command line?

Post by FoldingFodder »

I made the follow up question because when I did:

C:\<directory>>FAHClient --verbosity:5

(I'm on mobile and doing it from memory. So the command most likely isn't 100% correct.)

By the looks of it F@H created a new instance of F@H. CPU utilisation suddenly shot up, it looked like it had collected a new work unit, and the directory was littered with new F@H files.

So this gave me the impression that the F@H software was written so you could instantiate multiple instances of F@H without the need to virtualize the environments? And if I'm right? I'm now wondering how you talk to the same instance of F@H that sits on the taskbar with the GUI interface.

I could be completely wrong and got the wrong end of the stick?
PantherX
Site Moderator
Posts: 6986
Joined: Wed Dec 23, 2009 9:33 am
Hardware configuration: V7.6.21 -> Multi-purpose 24/7
Windows 10 64-bit
CPU:2/3/4/6 -> Intel i7-6700K
GPU:1 -> Nvidia GTX 1080 Ti
§
Retired:
2x Nvidia GTX 1070
Nvidia GTX 675M
Nvidia GTX 660 Ti
Nvidia GTX 650 SC
Nvidia GTX 260 896 MB SOC
Nvidia 9600GT 1 GB OC
Nvidia 9500M GS
Nvidia 8800GTS 320 MB

Intel Core i7-860
Intel Core i7-3840QM
Intel i3-3240
Intel Core 2 Duo E8200
Intel Core 2 Duo E6550
Intel Core 2 Duo T8300
Intel Pentium E5500
Intel Pentium E5400
Location: Land Of The Long White Cloud
Contact:

Re: Reading settings/flags via command line?

Post by PantherX »

If you have indeed been able to run multiple versions of FAHClient, I would be keen to see the set of logs.

IIRC, there was detection to ensure that only 1 instance of FAHClient was running.
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time

Welcome To The F@H Support Forum Ӂ Troubleshooting Bad WUs Ӂ Troubleshooting Server Connectivity Issues
FoldingFodder
Posts: 44
Joined: Sat Apr 04, 2020 6:07 pm

Re: Reading settings/flags via command line?

Post by FoldingFodder »

Hi PantherX,

PantherX wrote:Currently, there's no intelligence in the client to detect what application is running and modify it's behavior. Best case is you have a batch file which sends the pause command and another one with the unpause command: viewtopic.php?f=89&t=33296
It seemed this way and i was thinking of doing something similar; hence my initial enquiry in to communicating with FAH's API.

PantherX wrote:That's tricky to do as changing the number of CPUs mid WU might cause issues
Doing so shouldn't cause any issues if FAH is programmed correctly. In my own work, if there is anything that will cause fatal errors, i inhibit the user from making the change or i don't allow the change to go live until it's safe to do so. I'm assuming that the FAH software is developed at Standford (?) and if so, i'm going to assume they've already thought of someone making a change part way through processing a work unit.


Here is the log. The log started once i did the command FAHclient --verbosity 5. I terminated the process at the end with ctrl + c.

Here is a list of the files created after i did the command.

Here is a screenshot of the GUI interface. The screenshot was taken a couples of minute after the log was ended.

And here is a screenshot of the task manager. The screenshot was taken before i terminated the FAH running in the command prompt.

I like to cover my online tracks; therefore i've removed a few things that might help someone identify me. I don't believe someone could identify me solely on these details but they help to paint the picture.


As you can see, the GUI shows just a CPU slot utilizing just 2 threads. The work unit had been running for just over 4 hours at that point.

The log shows a CPU slot utilizing 6 threads and a GPU slot. As you can see it's downloaded a new work unit and started working on it.

And in the Task Manager, you can see a new instance of the FAH software was running from the command prompt.



Are you the dev by chance?
PantherX
Site Moderator
Posts: 6986
Joined: Wed Dec 23, 2009 9:33 am
Hardware configuration: V7.6.21 -> Multi-purpose 24/7
Windows 10 64-bit
CPU:2/3/4/6 -> Intel i7-6700K
GPU:1 -> Nvidia GTX 1080 Ti
§
Retired:
2x Nvidia GTX 1070
Nvidia GTX 675M
Nvidia GTX 660 Ti
Nvidia GTX 650 SC
Nvidia GTX 260 896 MB SOC
Nvidia 9600GT 1 GB OC
Nvidia 9500M GS
Nvidia 8800GTS 320 MB

Intel Core i7-860
Intel Core i7-3840QM
Intel i3-3240
Intel Core 2 Duo E8200
Intel Core 2 Duo E6550
Intel Core 2 Duo T8300
Intel Pentium E5500
Intel Pentium E5400
Location: Land Of The Long White Cloud
Contact:

Re: Reading settings/flags via command line?

Post by PantherX »

FoldingFodder wrote:...Doing so shouldn't cause any issues if FAH is programmed correctly. In my own work, if there is anything that will cause fatal errors, i inhibit the user from making the change or i don't allow the change to go live until it's safe to do so. I'm assuming that the FAH software is developed at Standford (?) and if so, i'm going to assume they've already thought of someone making a change part way through processing a work unit...
The reason it might cause issues is because of the underlying tools that F@H uses which is GROMACS (for CPU). GROMACS are used by scientists for molecular simulations and once it is started with X CPUs, everything is set-up for X. Changing it to Y mid run does not guarantee that it will continue thus can fail. The integrity of science can't be compromised.

The F@H Software isn't developed at Stanford, it is developed by Joseph Coffland (a third party) and he's a single person who looks after most of the F@H code base (clients for Windows, Linux, macOS, F@H Server configurations, etc.).
FoldingFodder wrote:...Here is the log. The log started once i did the command FAHclient --verbosity 5. I terminated the process at the end with ctrl + c...
Can you please use the default value of 3 since 5 prints out everything and I don't know what settings have been changed and isn't helpful for troubleshooting.
FoldingFodder wrote:...Here is a list of the files created after i did the command...
Most of the files look normal except these two which I don't recognize:
<removed>\Documents\Programming\Clone command.txt
<removed>\Documents\Programming\clone.txt
FoldingFodder wrote:...Here is a screenshot of the GUI interface. The screenshot was taken a couples of minute after the log was ended...
It's weird that the GUI shows 2 CPUs but the instructions for the FahCore_a7 shows 6:
<removed>03:27:WU00:FS00:Running FahCore: "C:\Program Files (x86)\FAHClient/FAHCoreWrapper.exe" <removed>\Documents\Programming\cores/cores.foldingathome.org/v7/win/64bit/avx/Core_a7.fah/FahCore_a7.exe -dir 00 -suffix 01 -version 705 -lifeline 20052 -checkpoint 15 -np 6
FoldingFodder wrote:...And here is a screenshot of the task manager. The screenshot was taken before i terminated the FAH running in the command prompt...
Something is not right since you have a single CPU Slot which means a single instance of FahCore_a7. You have two instances of FahCore_a7 running on your system.
FoldingFodder wrote:...The work unit had been running for just over 4 hours at that point...
The problem is that you have 2 instances of FahCore_a7 and I am not sure why that is. It seems to be competing with the CPU resources.
FoldingFodder wrote:...The log shows a CPU slot utilizing 6 threads and a GPU slot. As you can see it's downloaded a new work unit and started working on it...
Please note that the GPU you have isn't supported by F@H. You need to have OpenCL 1.2 and Double Precision and your GeForce GT 630M only supports OpenCL 1.1: https://www.techpowerup.com/gpu-specs/g ... -630m.c353
FoldingFodder wrote:...Are you the dev by chance?
Nope, I am not affiliated with the official F@H Team in any manner, just a volunteer that works with them :) There is only a single Developer for F@H (memberlist.php?mode=viewprofile&u=5075).

My suggestions are:
1) Reset the verbosity level to 3
2) Remove your GPU Slot
3) Set the CPU Slot to finish
4) Once your CPU Slot is free, check you have 6 CPUs assigned to it via FAHControl -> Configure -> Sots Tab -> CPU Slot -> Edit -> CPU value is 6 and it confirm that the config.xml file has this:
15:12:48: <slot id='0' type='CPU'>
15:12:48: <cpus v='6'/>
15:12:48: </slot>
5) Start CPU Slot and verify that a single instance of FahCore_a7 is running via Task Manager
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time

Welcome To The F@H Support Forum Ӂ Troubleshooting Bad WUs Ӂ Troubleshooting Server Connectivity Issues
Post Reply