This is a python command line utility script that should
work on macOS, Linux, and Windows.
Requirements
- python 3.8+
Install
- pip3 install lufah
There are so many ways to install python, that I will not attempt to tell how.
Please use Google or your favorite search engine.
Usage
Code: Select all
usage: lufah [-h] [-v] [-d] [--version] <peer> <command> ...
Little Utility for FAH v8
positional arguments:
<peer> [host][:port][/group] Use "." for localhost. Peer can be
a comma-separated list of hosts for commands units, info,
fold, finish, pause: host[:port],host[:port],...
<command>
status show json snapshot of client state
units show table of all units by group
fold
finish
pause
unpause alias for fold
config get or set config values
groups show json array of resource group names
create-group create group if it does not exist
info show peer host and client info
log show log; use control-c to exit
watch show incoming messages; use control-c to exit
get show json value at dot-separated key path in client state
unlink-account
link-account <account-token> [<machine-name>]
restart-account restart account/node connection
wait-until-paused
run until all target groups seem paused
enable-all-gpus enable all unclaimed gpus in specified group
start start local client service; peer must be "."
stop stop local client service; peer must be "."
options:
-h, --help show this help message and exit
-v, --verbose
-d, --debug
--version show program's version number and exit
Examples
lufah . units
lufah /rg2 finish
lufah other.local/rg1 status
lufah /mygpu1 config cpus 0
lufah . config -h
lufah host1,host2,host3 units
lufah host1,host2,host3 info
Notes
If not given, the default command is 'units'.
In 8.3, /group config cpus <n> is not limited to unused cpus across groups.
Group names for fah 8.1 must:
begin "/", have only letters, numbers, period, underscore, hyphen
Group names on 8.3 can have spaces and special chars.
Web Control 8.3 trims leading and trailing white space when creating groups.
Group "/" is taken to mean the default group, which is "".
For a group name actually starting with "/", use prefix "//".
An error may not be shown if the initial connection times out.
If group does not exist on 8.1, this script may hang until silent timeout.
Config priority does not seem to work. Cores are probably setting priority.
Commands start and stop are macOS-only.