Version: 1.0.0
Last Updated: 2024-12-15
Author: Nondzu
GitHub: github.com/nondzu
Check: dopamine.blog
Inspiration: olealgoritme/gddr6
gpuFire.py is a Python tool for monitoring NVIDIA GPUs using the NVIDIA Management Library (NVML). It displays information such as power usage, GPU temperature, utilization, clocks, memory usage, and fan speeds.
Optionally, it can also display GDDR6 memory temperatures if run as root and with the --memtemp argument. This temperature data is obtained through low-level memory mapping of the GPU's registers, requiring special system configurations (e.g., iomem=relaxed and root privileges).
- Monitors multiple NVIDIA GPUs simultaneously.
- Displays:
- Power usage (W)
- GPU temperature (°C)
- GPU utilization (%)
- Memory usage (MB)
- GPU and Memory clocks (MHz)
- Fan speed (%)
- Optional: GDDR6 memory temperature readings with
--memtemp(root required).
- Operating System: Linux-based OS with NVIDIA drivers.
- NVIDIA Management Library (NVML):
Install viasudo apt-get install nvidia-cuda-toolkitor from NVIDIA official sources. - Python 3 and
pynvmllibrary:pip install pynvml - For GDDR6 memory temperature readings:
- Root access is required.
iomem=relaxedkernel parameter may need to be set at boot time (varies by distribution).
Example:
Edit/etc/default/gruband addiomem=relaxedtoGRUB_CMDLINE_LINUX, thenupdate-gruband reboot.memtemp.pyshould be in the same directory asgpuFire.py.lspciandmemtemp.pydependencies must be satisfied.
-
Basic GPU monitoring (non-root):
python3 gpuFire.py
By default, it updates every 1 second. You can adjust the interval with
--interval:python3 gpuFire.py --interval 2
-
Including GDDR6 memory temperatures (root required):
sudo python3 gpuFire.py --memtemp
If you run it without root privileges and use
--memtemp, you will get a message prompting you to run as root. -
Help:
python3 gpuFire.py --help
- Running as root is required to access and map GPU memory addresses for reading GDDR6 temperatures.
- Ensure that
iomem=relaxedis enabled if the script fails to map memory. - The GDDR6 temperature matching to a specific GPU is based on assumptions and may require matching by PCI BDF in a more complex environment. For most setups, it should display correct temperatures if compatible GPUs are detected.

This project is licensed under the MIT License.
See the full license text in the LICENSE file.