Repository navigation
Releases: Han-DongHeun/nvmon
Releases · Han-DongHeun/nvmon
Release list
nvmon 0.3.5
- The mouse works on Windows as well: point at a graph, click, scroll with the wheel.
- On Windows, processes show their account, yours underlined, and run time, and
kends your own, at
once, after ay. There is not: Windows has nothing like SIGTERM. - Moving the mouse over a slow ssh link no longer hides GPUs, closes the list or quits: a pointer's move
that came in two pieces was read as Esc and digit keys. - A command line with control characters in it, anyone's, shows them as
?rather than sending them to
your terminal, where they could clear the screen or set the window title. - A notebook's kernel is a job of its own.
ton one stopped Jupyter itself, and with it every notebook. kreaches the workers of a job whose launcher has already ended, and all of them when one ends first;
a launcher that uses a GPU itself can be stopped too.- Processes show with drivers before R510 (from R450 on).
python -X faulthandler train.pyand the like show as train.py.- A resized window is redrawn at once, not at the next refresh.
- Fixed: a crash on ² or ³, and when your jobs ended while nvmon asked about stopping them; in a very
short window, a crash and clicks that hit the wrong place; a mouse's side buttons clicking; one GPU
drawn half as wide as a short window; a settings file nvmon cannot read being written over; the
terminal left as nvmon had set it after Ctrl+C at the very start.
nvmon 0.3.4
- Pointing at a graph shows the memory in use then as well: "73% · 41.2G · 16s ago". Where the graph is
narrow, the memory gives way first, then the time. - Your own processes carry your account too, underlined, where they had none: yours stand apart from the
others' by name, not by a missing one. - A GPU running more than 64 processes showed none of them; now it shows them all.
-iwith something other than seconds, such as-i abc, is an error, as a wrong-gis, rather than
0.5 without a word.
nvmon 0.3.3
- Point at a graph: its column lights up, and a chip beside the pointer says the utilization then and how
long ago. - Only what changed on the screen is sent to the terminal, a few hundred bytes for most redraws.
- Click a GPU's box to pick all its jobs;
tandkthen stop or kill all of them that are yours, after
oney. Picking a job, or a GPU's, opens the process list, and letting go closes it again (not when
it was open before). - The question before a stop or kill names the GPUs it reaches: "stop train.py on GPUs 4-5: …?"
+under a box only counts the processes that did not fit; the process list opens from a click on the
box instead.
nvmon 0.3.2
- Four more themes from MetBrewer: Greek, Tam, Homer and Demuth.
- Black and white is back as it was in 0.3.0, grays as light as the colors; black on white is a theme of
its own, after it. - A shorter README, its GIF the four busiest GPUs one under the other.
nvmon 0.3.1
- Numbers only, and GPU and MEM only, keep their boxes one under the other, never side by side; what
does not fit scrolls. In a narrow window, the line on the GPUs left out is shorter, not cut off. - The black and white theme draws the GPU boxes black on white, every color the gray as dark as it was
light, the busiest bars the darkest; the rest of the screen stays on the terminal's own background. - The README shows each view and the process list, and lists every key.
nvmon 0.3.0
- Processes: click one, or press Tab, to pick its job (a torchrun job's workers count as one). The GPUs
it uses stand out, andfshows only those.tasks it to stop (SIGTERM),kends it at once
(SIGKILL), each after ay; only your own jobs, and only once nvmon has checked they are still the
same.plists every job with its utilization and command line, sorted by whichever heading you
click; a click on an empty spot closes it. A picked job's utilization shows at once. v(Vback) goes from the graphs to each GPU's processes in their place (account, run time,
memory, the command line; the wheel scrolls them, up and down or sideways, as do ← →), to the numbers
alone, to GPU and MEM alone. Boxes go one under the other, side by side only when they would not fit.- Hide GPUs you don't need: click their numbers at the bottom left, or press the number's key; again to
show them. When the GPUs do not fit the window, their boxes scroll (wheel, PgUp/PgDn). - Themes:
cgoes through them,Cback. nvmon's own colors stay the default; the others take the
palettes of works by Hiroshige, Hokusai, O'Keeffe, Van Gogh, Bénédictus and Cassatt, and of the Rosé
Pine theme. Black and white keeps each color's lightness. - The graph shades more smoothly: each cell shows two colors, twice the steps from green to red, and a
height has one color from bar to bar. In 256 colors the bands stay even, with no dull olive among the
greens. - The view, the theme, the process list's order and the GPUs hidden stay for the next run, for each
computer you connect from (~/.config/nvmon/settings.json). - Works in Xshell, PuTTY and the like without setting them up: nvmon asks the terminal how it draws.
Where lines come out two cells wide (Korean, Chinese, Japanese settings), boxes and graphs are drawn
in ASCII; where 24-bit color is not known to work, 256 colors are used. Windows Terminal (over
Windows's own ssh too), Tabby, VS Code's terminal, kitty, iTerm2, WezTerm, Konsole and GNOME Terminal
get their 24-bit color. - The keys work with a Korean keyboard in Hangul mode: ㅂ is q, ㅊ is c, and so on. A capital A, B, C,
D, F, H or Z is that letter, no longer an arrow key, Home or End. - The boxes are a line shorter: the "PCIe transfer" title is gone, as CPU -> GPU and GPU -> CPU say it.
- No more stutter when another program uses the GPU driver at the same time, such as someone running
watch nvidia-smi. The screen refreshes on time and keeps the last numbers until the driver answers;
if it has not answered for a second, the top line says so. - Uses about a third of the CPU: 1.4 % of one core instead of 4.1 %, with eight H100s.
- A newer release is announced at the bottom left, with the command that updates your install and a
link to what's new. nvmon asks PyPI once at start;NVMON_NO_UPDATE_CHECK=1turns that off. nvmon -Vandnvmon -hshow the project's address.-ibelow 0.1 s counts as 0.1 s, since the GPU's own readings don't change faster than that; anything
that is not a number of seconds means the default, 0.5 s.