Skip to content

Commit d530ea8

Browse files
authored
Merge branch 'Syllo:master' into master
2 parents 74a66bd + 7689023 commit d530ea8

26 files changed

Lines changed: 1419 additions & 209 deletions

CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.18)
44
# PROJECT #
55
#///////////////////////////////////////////////////////////////////#
66

7-
project(nvtop VERSION 3.2.0
7+
project(nvtop VERSION 3.3.2
88
LANGUAGES C CXX)
99

1010
set(default_build_type "Release")
@@ -99,7 +99,7 @@ else()
9999
set(METAX_SUPPORT_DEFAULT ON)
100100
endif()
101101

102-
# TPU support is only available on Linux
102+
# TPU and Enflame GCU support is only available on Linux
103103
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
104104
# Check for libtpuinfo.so to set the default for TPU support
105105
find_library(LIBTPUINFO
@@ -112,8 +112,10 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
112112
else()
113113
set(TPU_SUPPORT_DEFAULT ON)
114114
endif()
115+
set(ENFLAME_SUPPORT_DEFAULT ON)
115116
else()
116117
set(TPU_SUPPORT_DEFAULT OFF)
118+
set(ENFLAME_SUPPORT_DEFAULT OFF)
117119
endif()
118120

119121
# Rockchip support is only available on Linux on arm
@@ -137,6 +139,7 @@ option(V3D_SUPPORT "Build support for Raspberrypi through v3d" ${V3D_SUPPORT_DEF
137139
option(TPU_SUPPORT "Build support for Google TPUs through GRPC" ${TPU_SUPPORT_DEFAULT})
138140
option(ROCKCHIP_SUPPORT "Enable support for Rockchip NPU" ${ROCKCHIP_SUPPORT_DEFAULT})
139141
option(METAX_SUPPORT "Build support for MetaX GPUs through libmxsml" ${METAX_SUPPORT_DEFAULT})
142+
option(ENFLAME_SUPPORT "Build support for Enflame GCUs through libefml" ${ENFLAME_SUPPORT_DEFAULT})
140143

141144
add_subdirectory(src)
142145

README.markdown

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ htop-familiar way.
1010

1111
Currently supported vendors are AMD (Linux amdgpu driver), Apple (limited M1 &
1212
M2 support), Huawei (Ascend), Intel (Linux i915/Xe drivers), NVIDIA (Linux
13-
proprietary divers), Qualcomm Adreno (Linux MSM driver), Broadcom VideoCore (Linux v3d driver).
13+
proprietary divers), Qualcomm Adreno (Linux MSM driver), Broadcom VideoCore (Linux v3d driver),
14+
Rockchip, MetaX (MXSML driver), Enflame (Linux EFML driver).
1415

1516
Because a picture is worth a thousand words:
1617

@@ -31,6 +32,9 @@ Table of Contents
3132
- [Apple](#apple)
3233
- [Ascend](#ascend) (only tested on 910B)
3334
- [VideoCore](#videocore)
35+
- [Rockchip](#rockchip)
36+
- [MetaX](#metax)
37+
- [Enflame](#enflame)
3438
- [Build](#build)
3539
- [Distribution Specific Installation Process](#distribution-specific-installation-process)
3640
- [Ubuntu / Debian](#ubuntu--debian)
@@ -151,6 +155,12 @@ NVTOP supports MetaX (testing on MXC500) by MXSML LIBRARY.
151155

152156
For more information about GPUs please take a look at the [METAX documentation](https://developer.metax-tech.com/doc/index)
153157

158+
### Enflame
159+
160+
NVTOP supports Enflame GCUs (testing on Enflame S60, Enflame L300 and Enflame L600) by EFML LIBRARY
161+
162+
GCU, which refers to General Compute Unit, is a type of accelerator card that is used to perform general-purpose computing tasks just like GPGPU.
163+
154164
Build
155165
-----
156166

@@ -163,6 +173,7 @@ Several libraries are required in order for NVTOP to display GPU info:
163173
* For AMD: the libdrm library used to query AMD GPUs through the kernel driver.
164174
* For METAX: the *MetaX System Management Library* (*MXSML*) which comes with the GPU driver.
165175
* This queries the GPU for info.
176+
* For Enflame: the *Enflame Management Library* (*EFML*) which comes with the GCU driver.
166177

167178
## Distribution Specific Installation Process
168179

@@ -197,11 +208,11 @@ sudo apt install nvtop
197208
sudo apt install libudev-dev
198209
```
199210

200-
- NVIDIA Depenency
211+
- NVIDIA Dependency
201212
- NVIDIA drivers (see [Ubuntu Wiki](https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia) or [Ubuntu PPA](https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa) or [Debian Wiki](https://wiki.debian.org/NvidiaGraphicsDrivers#NVIDIA_Proprietary_Driver))
202213

203214
- NVTOP Dependencies
204-
- CMake, ncurses and Git
215+
- CMake, ncurses and Git
205216
```bash
206217
sudo apt install cmake libncurses5-dev libncursesw5-dev git
207218
```
@@ -241,11 +252,11 @@ A standalone application is available as [AppImage](#appimage).
241252
sudo dnf install libdrm-devel systemd-devel
242253
```
243254

244-
- NVIDIA Depenency
255+
- NVIDIA Dependency
245256
- NVIDIA drivers, **CUDA required for nvml libraries** (see [RPM Fusion](https://rpmfusion.org/Howto/NVIDIA))
246257

247258
- NVTOP Dependencies
248-
- CMake, ncurses, C++ and Git
259+
- CMake, ncurses, C++ and Git
249260
```bash
250261
sudo dnf install cmake ncurses-devel git gcc-c++
251262
```
@@ -259,12 +270,12 @@ A standalone application is available as an [AppImage](#appimage).
259270

260271
Build process for OpenSUSE:
261272

262-
- AMD Dependecy
273+
- AMD Dependency
263274
```bash
264275
sudo zypper install libdrm-devel
265276
```
266277

267-
- NVIDIA Depenency
278+
- NVIDIA Dependency
268279
- NVIDIA drivers (see [SUSE Support Database](https://en.opensuse.org/SDB:NVIDIA_drivers))
269280

270281
- NVTOP Dependencies

cmake/modules/FindCurses.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ if(NOT CURSES_NEED_WIDE)
5353
set(NCURSES_LIBRARY_NAME "ncurses")
5454
else()
5555
set(NCURSES_LIBRARY_NAME "ncursesw")
56-
# Also, if we are searchig fo wide curses - we are actually searching
56+
# Also, if we are searching for wide curses - we are actually searching
5757
# for ncurses, we don't know about any other unicode version.
5858
set(CURSES_NEED_NCURSES TRUE)
5959
endif()

cmake/modules/sanitize-helpers.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ function (sanitizer_check_compiler_flags FLAG_CANDIDATES NAME PREFIX)
106106

107107
get_property(ENABLED_LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
108108
foreach (LANG ${ENABLED_LANGUAGES})
109-
# Sanitizer flags are not dependend on language, but the used compiler.
109+
# Sanitizer flags are not dependent on language, but the used compiler.
110110
# So instead of searching flags foreach language, search flags foreach
111111
# compiler used.
112112
set(COMPILER ${CMAKE_${LANG}_COMPILER_ID})

include/ascend/dcmi_interface_api.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ extern "C" {
8282
unsigned long hugepagesize; /* unit:KB */
8383
unsigned long hugepages_total;
8484
unsigned long hugepages_free;
85-
unsigned int utiliza; /* ddr memory info usages */
85+
unsigned int utilize; /* ddr memory info usages */
8686
unsigned char reserve[60]; /* the size of dcmi_memory_info is 96 */
8787
};
8888

@@ -447,7 +447,7 @@ extern "C" {
447447
struct dcmi_memory_info_stru {
448448
unsigned long long memory_size;
449449
unsigned int freq;
450-
unsigned int utiliza;
450+
unsigned int utilize;
451451
};
452452

453453
DCMIDLLEXPORT int dcmi_get_memory_info(int card_id, int device_id, struct dcmi_memory_info_stru *device_memory_info);
@@ -464,4 +464,4 @@ extern "C" {
464464
#endif
465465
#endif /* __cplusplus */
466466

467-
#endif /* __DCMI_INTERFACE_API_H__ */
467+
#endif /* __DCMI_INTERFACE_API_H__ */

include/nvtop/common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ static void *nvtop_reallocarray__(void *ptr, size_t nmemb, size_t size) {
4242
#endif // !defined(HAS_REALLOCARRAY)
4343

4444
// Increment for the number of tracked processes
45-
// 16 has been experimentally selected for being small while avoiding multipe allocations in most common cases
45+
// 16 has been experimentally selected for being small while avoiding multiple allocations in most common cases
4646
#define COMMON_PROCESS_LINEAR_REALLOC_INC 16
4747

4848
#define MAX_LINES_PER_PLOT 4

include/nvtop/extract_gpuinfo_common.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ enum gpuinfo_dynamic_info_valid {
105105
gpuinfo_gpu_temp_valid,
106106
gpuinfo_power_draw_valid,
107107
gpuinfo_power_draw_max_valid,
108+
gpuinfo_effective_load_rate_valid,
108109
gpuinfo_multi_instance_mode_valid,
109110
gpuinfo_dynamic_info_count,
110111
};
@@ -116,6 +117,7 @@ struct gpuinfo_dynamic_info {
116117
unsigned int mem_clock_speed_max; // Maximum clock speed in MHz
117118
unsigned int gpu_util_rate; // GPU utilization rate in %
118119
unsigned int mem_util_rate; // MEM utilization rate in %
120+
unsigned int effective_load_rate; // Effective load rate in %
119121
unsigned int encoder_rate; // Encoder utilization rate in %
120122
unsigned int decoder_rate; // Decoder utilization rate in %
121123
unsigned long long total_memory; // Total memory (bytes)

include/nvtop/extract_processinfo_fdinfo.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ void processinfo_drop_callback(const struct gpu_info *info);
5757
void processinfo_enable_disable_callback_for(const struct gpu_info *info, bool enable);
5858

5959
/**
60-
* @brief Scann all the processes in /proc. Call the registered callbacks on
61-
* each file descriptor to the DRM driver that can successfully be oppened. If a
60+
* @brief Scan all the processes in /proc. Call the registered callbacks on
61+
* each file descriptor to the DRM driver that can successfully be opened. If a
6262
* callback succeeds, the gpu_info structure processes array will be updated
6363
* with the retrieved data.
6464
*/

include/nvtop/interface_common.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ enum plot_information {
3232
plot_fan_speed,
3333
plot_gpu_clock_rate,
3434
plot_gpu_mem_clock_rate,
35+
plot_effective_load_rate,
3536
plot_information_count
3637
};
3738

include/nvtop/interface_options.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ typedef struct nvtop_interface_option_struct {
5050
bool show_startup_messages; // True to show the startup messages
5151
bool filter_nvtop_pid; // Do not show nvtop pid in the processes list
5252
bool has_monitored_set_changed; // True if the set of monitored gpu was modified through the interface
53-
bool has_gpu_info_bar; // Show info bar with additional GPU parametres
53+
bool has_gpu_info_bar; // Show info bar with additional GPU parameters
5454
bool hide_processes_list; // Hide processes list
5555
} nvtop_interface_option;
5656

0 commit comments

Comments
 (0)