我正在将 nvml 库用于 c++ 项目,并且我正在尝试设置核心和内存时钟速率。看来,安培卡不支持 nvmlDeviceSetApplicationsClocks,我总是得到NVML_ERROR_NOT_SUPPORTED
.
所以我找到了锁定的时钟功能,nvmlDeviceSetGpuLockedClocks
,nvmlDeviceResetGpuLockedClocks
,nvmlDeviceSetMemoryLockedClocks
和nvmlDeviceResetMemoryLockedClocks
。nvmlDeviceSetGpuLockedClocks
并且nvmlDeviceResetGpuLockedClocks
工作完美,我可以重置和设置核心时钟。
然而,nvmlDeviceSetMemoryLockedClocks
什么nvmlDeviceResetMemoryLockedClocks
都不做。它们都返回NVML_SUCCESS
,与 gpu 锁定时钟功能相同,但安培(30 系列 Nvidia 卡)上的内存时钟速率根本没有变化。基本上没有关于这些的文档,而且这些似乎是新的。
我尝试使用设置应用程序时钟功能所需的支持时钟速率,以及手动整数,但如上所述,只有 gpu 锁定时钟功能按预期工作。
我需要做什么才能获得nvmlDeviceSetMemoryLockedClocks
并nvmlDeviceResetMemoryLockedClocks
实际调整卡上的内存时钟?
我需要一个 windows 和一个 linux 解决方案,这就是为什么我一直使用 nvml 而不是 nvapi,只是为了更多的上下文。