-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueue.example.yml
More file actions
59 lines (56 loc) · 2.72 KB
/
Copy pathqueue.example.yml
File metadata and controls
59 lines (56 loc) · 2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# nvidb queue configuration example
#
# Copy this to ~/.nvidb/queue.yml. It is entirely optional: without it the queue
# reads `servers` and `queue` from config.yml exactly as before.
#
# It exists for one reason. Every server the queue can see becomes a node it
# probes and may dispatch work onto, which is rarely what you want from the list
# of machines you happen to monitor. Giving the queue its own file lets one
# ~/.nvidb serve both, and it is where a machine says whether it *hosts* the
# queue or merely talks to one.
# --- A. On the machine that hosts the queue -------------------------------
# The nodes it schedules onto. `nodes:` is accepted as a synonym. Leave the
# whole section out to inherit config.yml's servers.
servers:
- hostname: "gpu-node.example.com"
port: 2222
username: "user"
nickname: "gpu-node"
auth: "auto" # auto | key | password
# Optional queue-only allowlist. All cards remain visible in monitoring;
# running jobs outside this list continue until they finish. Use [] to
# disable new GPU placements on this node while retaining CPU-only jobs.
gpus: [0, 1]
queue:
include_local: true # also schedule onto this machine
local_node_name: "queue-host" # what to call it; "local" reads oddly once there are two
# Everything under `queue:` in config.example.yml is accepted here and wins
# over the value there.
headroom_mb: 512
max_jobs_per_gpu: 4
backup:
enabled: true
interval_hours: 24
keep: 7
directory: null # $NVIDB_HOME/backups
notify:
desktop: false # a headless queue host has nobody to show a pop-up to
log: true # $NVIDB_HOME/alerts.log
command: null # a shell command fed the alert as JSON on stdin
# --- B. On a machine that only talks to that queue ------------------------
# With `remote:` set, nvidb opens no database of its own: it hands the command
# to the same nvidb over there and passes back its output and exit code. Submit
# from a laptop, close it, and the queue keeps scheduling.
#
# remote:
# host: "queue-host.example.com" # or an ~/.ssh/config alias
# port: 22 # optional when the alias covers it
# username: "user" # optional, likewise
# # Absolute path: `ssh host 'nvidb ...'` gets a non-interactive shell whose
# # PATH usually lacks the ~/.local/bin a `pip install --user` writes to.
# nvidb: "/home/user/.local/bin/nvidb"
# nvidb_home: null # set only if the far side uses a custom NVIDB_HOME
# keeper: ensure # ensure | off - start it or report why that failed
# ssh_options: [] # extra -o options, e.g. ["ConnectTimeout=8"]
#
# `nvidb <anything> --local` uses this machine's own queue for one command.