Summary: | Use of nvidia-smi causes jittery desktop performance with GSP enabled | ||
---|---|---|---|
Product: | [Frameworks and Libraries] ksystemstats | Reporter: | That One Seong <thehambo11> |
Component: | General | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | ahiemstra, kde, mtijanic, nate, plasma-bugs, xpdmk |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
That One Seong
2024-07-25 19:01:23 UTC
The problem with using the suggested library is that the headers are in a proprietary SDK that cannot be freely distributed, which means that it would make the NVidia GPU integration practically unbuildable on most machines. Even if we were to include the header in ksystemstats (which its license doesn't actually allow, but I see some projects do) we'd still be stuck since the library itself is bundled in the driver and that is generally also not installed on build machines. So ultimately, running `nvidia-smi` is pretty much the only way we can support this without introducing a nasty build system issue. And frankly, it seems to me that it's an upstream issue anyway? Running `nvidia-smi` shouldn't have such an impact in the first place? Hey there. Sorry, I misread the relevant code and thought that you were constantly spawning and killing the nvidia-smi process. IIUC that is not the case, you're just running `nvidia-smi pmon` in the background and parsing its output. This bypasses the common problem other monitoring tools had where the setup/teardown was causing the issue. But, I now see where just `nvidia-smi pmon` can be a cause of stutter, because it is fetching a lot of data out of the GSP via NV2080_CTRL_CMD_PERF_GET_GPUMON_PERFMON_UTIL_SAMPLES_V2. Switching to NVML would not fix this. I'll have to look a bit deeper and see if there's a better way to get the needed info; and/or if this can get fixed in NVML or the driver itself. Thanks Milos, looking forward to that! |