A simplified mechanism for instantaneously identifying your GPU + other system specs on any computer running any OS.
All you need is a C++ compiler.
-
Lightened restriction on the C++ standard while still utilizing modern C++
- C++14 and up
-
Formatted output across all OS's
- Output strings now look uniform across diversified systems
-
Improved modularity and portability using best C++ practices
- unv-smi has been refactored to implement object-oriented design
- inheritance/virtual functions, static functions, smart pointers, and additional error handling
- Simplified build command when not using CMake
-
Easier to contribute for future development
- Simplified file structure and CMake, just 4 header files plus unv-smi.cpp
- WindowsInfo.h, LinuxInfo.h, and MacInfo.h all derive from SystemInfo.h thus it is now easier to contribute new code to this repository. E.g., Windows developers only need to edit one file ie (WindowsInfo.h)
-
unv-smi now works on Microsoft Visual Studio out of the box
-
unv-smi now reports gpu info on Apple Silicon devices
When optimizing a software application for a specific machine, it's useful to know the compute resources that are availabe to you for parallel exploitation and other optimization techniques ahead of time.
This program aims to report crucial details of both the hardware, the software, and the general architecture make up through executing a simple, single source, c++ program.
This program was created as an alternative to nvidia-smi.
All you need is a C++ compiler, no NVIDIA Graphics card is necessary to identify your GPU(s).
Universal System Management Interface was designed to work across a wide range of diversified machines, including complex computer cluster architectures with many cores, down to single-socket laptops with integrated graphics cards.
mkdir build
cd build
cmake ..
make
g++ -Wall -Iinclude unv-smi.cpp -o unv-smi
./unv-smi
Compiler | Versions |
---|---|
GCC | 12 |
Clang++ | 12 |
MSVC | 19 |
AppleClang | 14 |
Further details regarding what type of information is returned can be found in the Wiki.