110 Commits

Author SHA1 Message Date
Maxime Schmitt
f552572260 Merge effective load within GPU percentage meter 2026-01-18 14:07:54 +01:00
Maxime Schmitt
e2b137288d Merge branch 'master' into feature/effective-load-metric 2026-01-16 11:47:33 +01:00
rezky_nightky
cb7babefb3 Fix typos across documentation and source
- Correct dependency spelling in README for multiple distro instructions @README.markdown#193-276
- Clean up misspellings in CMake helpers and GPU info sources (temperature, PCIe, queries, etc.) @cmake/modules/FindCurses.cmake#50-58 @cmake/modules/sanitize-helpers.cmake#103-118 @src/extract_gpuinfo_amdgpu.c#444-637 @src/extract_gpuinfo_intel.c#225-234 @src/extract_gpuinfo_metax.c#100-512 @src/nvtop.c#70-77
- Fix header comments and struct field names for allocations, callbacks, and utilize fields @src/extract_processinfo_fdinfo.c#97-104 @include/nvtop/common.h#44-52 @include/nvtop/extract_processinfo_fdinfo.h#59-63 @include/ascend/dcmi_interface_api.h#75-455 @include/nvtop/interface_options.h#43-54 @src/interface.c#792-800

Author: rezky_nightky <with.rezky@gmail.com>
Timestamp: 2025-12-01T18:21:25Z
Repository: nvtop
Branch: master
Signing: GPG (989AF9F0)
Performance: 13 files, +31/-31 lines
2026-01-16 10:59:16 +01:00
Israel Roldan
eae59fe7b3 Feat: Add Effective Load metric and plot
Introduces a new 'Effective Load' metric, calculated as GPU Load weighted by power consumption (Current Power / Max Power). This provides a more accurate representation of hardware throughput, especially in low P-States.

- Updates 'gpuinfo_dynamic_info' to store effective_load_rate.

- Implements calculation logic in 'extract_gpuinfo.c'.

- Adds 'Eff. Load' display to the device header in the ncurses interface.

- Adds 'Effective load rate' as a selectable metric in the Chart setup menu and handles config persistence.
2025-11-25 12:00:28 -06:00
nvmd
62f753f51c Add device_field for memory clock
Currently, GPU clocks and GPU memory clocks have
the same same field width size in the interface,
which is presumed to be in the thousands of MHz.
However, memory clocks reported by the GPU can be
in the tens of thousands range, presumably to
account for memory features such as PAM4 (like on
the RTX 4090). This causes the GPU memory clock
field to be one byte short when 5 digit clocks
are reported, cutting the 'z' from MHz.
This commit fixes that by adding a new
device_field for the memory clock that's one char
longer than the device_field for the GPU clocks,
and makes the appropriate changes in usage and
calculations that rely on these values.
2025-09-13 01:48:27 -03:00
Adrián Larumbe
54e301ab5f Use fdinfo's engine count when refreshing utilisation rate
I originally moved gpuinfo_refresh_utilisation_rate() from Mali code
into src/extract_gpuinfo.c when I realised utilisation rate could be
calculated in a device-independent way simply by following the
percentage utilisation guidelines given in
Documentation/gpu/drm-usage-stats.rst

However, I forgot to replace the magic number '2' which stood for the
engine count in Mali GPUs with a value that make sense for different
devices.

Source the engine count from gpu_info's static information values.

Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
2025-05-23 02:40:06 +01:00
Joel Wilkins
02d81990af Remove fat fingered character 2025-02-12 13:32:45 -06:00
Joel Wilkins
9784d78c1d Add snapshot command to nvtop for scripting purposes 2025-02-11 08:42:44 -06:00
Stephen Horvath
cff83faee2 Make shared encoder/decoder utilisation longer
Previously "ENC/DEC" took up most of the space leaving only 2 characters for the percentage & bar.
2025-01-16 17:04:54 +10:00
Maxime Schmitt
56b78f1e8e Include xe_drm.h until it mades it into libdrm 2024-12-11 15:41:16 +01:00
Maxime Schmitt
42ad9c2831 Merge pull request #331 from Steve-Tech/intel-fans
Intel additional HWMON (Fan + Temp) & i915 process memory usage
2024-12-09 22:22:41 +01:00
Maxime Schmitt
5e77d13afb Use bool, not NCURSES bool 2024-12-09 12:57:02 +01:00
Maxime Schmitt
a2abac060f Display fan RPM when max is not available 2024-12-09 11:43:55 +01:00
Maxime Schmitt
e09b228e7a Support BSD major/minor location 2024-12-09 11:14:50 +01:00
Eugene Denisenko
ff5fce8160 Hide process list window 2024-05-13 12:03:57 +05:00
Maxime Schmitt
4989f31328 Video encode/decode shared by static instance
Fixes #232
2024-02-25 21:29:01 +01:00
Maxime Schmitt
50196930e3 Merge master into ascend branch 2024-02-23 14:49:10 +01:00
k
6bdc385a58 remove temp file 2023-11-27 15:12:00 +08:00
k
1dfeb6305e fix issues for PR 2023-11-27 15:00:33 +08:00
k
5fcef14b12 add ascend build script and README 2023-11-22 13:58:31 +08:00
k
a7c8a93b36 add ascend extract gpu info code 2023-11-20 09:59:05 +08:00
Adrián Larumbe
d5360b6673 Refactor Panthor and Panfrost into library of shared code
The level of code reduplication between Panthor and Panfrost backends was
outrageous. Factorise all their shared functions and definitions into a
separate library that is only built for these two backends.

Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
2023-10-21 18:14:19 +01:00
Adrián Larumbe
d02a6820ad Add support for post-fdinfo processing calculation of utilisation
According to Kernel documentation, in
Documentation/gpu/drm-usage-stats.rst, drm-maxfreq-keystr and
drm-cycles-keystr can be used to perform a manual calculation of the
engine's percentage utilization, in cases where the underlying GPU doesn't
support providing this information through a native hardware interface.

However, for its calculations, all fdinfo drm-cycles values for every
single process that has opened the device file must have been retrieved, so
a new gpu vendor struct callback was added to do this right before
gpuinfo_fix_dynamic_info_from_process_info is invoked.

Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
2023-10-21 18:13:16 +01:00
Adrián Larumbe
f17a488d5d Add display of additional GPU features
Adds a new UI bar with some optional parameters like the number of shader
cores, number of execution engines and size of L2 cache.
Display of this bar is triggered with a program argument.

Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
2023-10-21 18:13:16 +01:00
Maxime Schmitt
77543bd18e Disable fdinfo callbacks for hidden gpus 2023-10-19 15:22:50 +02:00
Maxime Schmitt
3784c5ba0b Expose processes that are both graphical and compute 2022-11-03 19:59:26 +01:00
Maxime Schmitt
da3aec36d9 Option to hide nvtop from the process list 2022-10-21 21:02:48 +02:00
Maxime Schmitt
232b086929 Clang-format all 2022-10-21 12:27:25 +02:00
Maxime Schmitt
daecf69f90 Option to toggle startup messages 2022-10-20 21:06:43 +02:00
Maxime Schmitt
239325d66d Save message option and fix multidevice save 2022-10-20 20:37:04 +02:00
Maxime Schmitt
c57c3aa04f Support info window 2022-10-19 22:33:12 +02:00
Maxime Schmitt
cafc79b976 Support info messages 2022-10-19 22:32:26 +02:00
Maxime Schmitt
55ba8ca80c Setup window to select gpus 2022-10-17 21:34:10 +02:00
Maxime Schmitt
e20ae019fd Dynamic gpu monitored list 2022-10-16 20:55:19 +02:00
Maxime Schmitt
71fdefd225 Rework interface for gpu select option 2022-10-16 16:46:29 +02:00
Maxime Schmitt
1205659afb Remove GPU mask option 2022-10-16 16:21:19 +02:00
Maxime Schmitt
e9537683c2 Extract pdev for all devices 2022-10-16 12:29:57 +02:00
Maxime Schmitt
7de3099b49 Show intel ENC/DEC together 2022-10-15 15:19:57 +02:00
Maxime Schmitt
6bf06da8e7 Fix macro extra arguments 2022-10-15 14:29:28 +02:00
Maxime Schmitt
80332091e8 Fix intel and integrated GPU support 2022-10-15 13:37:22 +02:00
Maxime Schmitt
0cca460697 Use device discovery for AMDGPU 2022-10-09 22:58:31 +02:00
Maxime Schmitt
8cd2ee0892 Udev/sd-device wrapper 2022-10-09 18:40:25 +02:00
Maxime Schmitt
1ad82b6ab1 Preliminary Intel support 2022-10-08 13:57:32 +02:00
Maxime Schmitt
533289230f Uint64 literals 2022-09-10 21:24:52 +02:00
Maxime Schmitt
7bedabca80 Better validity macros 2022-09-04 13:59:16 +02:00
Maxime Schmitt
f103b71aa2 Mark valid AMDGPU cache entries 2022-09-04 10:33:12 +02:00
Maxime Schmitt
9c1772fdc0 AMDGPU compute process support 2022-09-03 23:23:38 +02:00
Maxime Schmitt
f9f68eaeee Code reorganization to sweep /proc once per update
GPUs that rely on the fdinfo to expose process information
(AMDGPU/Intel) can register a callback function to parse a fdinfo file
open to the DRM driver.
The callback function returns a populated process info struct uppon
successfull parsing.

During each main loop iteration, the processes in /proc are scanned only
once instead of once per AMDGPU previously.
2022-09-03 23:06:55 +02:00
Maxime Schmitt
c0031eeb53 Support new amdgpu fdinfo interface kernel >=5.19 2022-08-21 19:14:24 +02:00
Maxime Schmitt
e82df1194d Fix plot for a maximum of 64 GPUs 2022-06-04 12:20:06 +02:00