As in title if that's not a secret how exactly gpu-z reads out RTX 4090 pcie generation (1.0-4.0)?
I'm asking because my AM5 B650E motherboard has a BIOS bug that results 20% of the time in gpu negotiation either PCIe 3.0 or 1.1.
That's terrible for performance so I wrote myself a simple program that uses Nvidia NVML library from CUDA Toolkit to query pcie gen values and warn me on boot. It was working consistently with what both gpuz and nvidia-smi tool sees for over a month. Results were also consistent with 3dmark pcie bandwidth test (13gbps for 3.0, 27gbps for 4.0).
Today I've booted to a state where only gpuz correctly seen degraded 1.1 pcie speed. Verified with 3dmark bandwidth test and games stuttering. However nvidia-smi, 'system info' in nvidia control panel and my little program were seeing 4.0 instead. So clearly gpuz is not using nvidia nvml library to get the data. It would be super helpful if someone could point me to alternative source.
I'm asking because my AM5 B650E motherboard has a BIOS bug that results 20% of the time in gpu negotiation either PCIe 3.0 or 1.1.
That's terrible for performance so I wrote myself a simple program that uses Nvidia NVML library from CUDA Toolkit to query pcie gen values and warn me on boot. It was working consistently with what both gpuz and nvidia-smi tool sees for over a month. Results were also consistent with 3dmark pcie bandwidth test (13gbps for 3.0, 27gbps for 4.0).
Today I've booted to a state where only gpuz correctly seen degraded 1.1 pcie speed. Verified with 3dmark bandwidth test and games stuttering. However nvidia-smi, 'system info' in nvidia control panel and my little program were seeing 4.0 instead. So clearly gpuz is not using nvidia nvml library to get the data. It would be super helpful if someone could point me to alternative source.