I found nvmlDeviceSetApplicationsClocks() in nvml.h, but both core clock and mem clock are required as parameters.
Then I found another API named nvmlDeviceSetGpuLockedClocks, it can supersede core settings of nvmlDeviceSetApplicationsClocks. However, my 2080Ti does not support ‘nvmlDeviceSetApplicationsClocks’ and reported an error ‘NVML_ERROR_NOT_SUPPORTED’.
Another card Quadro P4000 support this API, but it does not support ‘nvmlDeviceSetGpuLockedClocks’, which has the same error code ‘NVML_ERROR_NOT_SUPPORTED’.
I’m using CUDA 10 and Windows 10 with graphics driver 411+.
nvmlDeviceSetApplicationsClocks() … KEPLER_OR_NEWER_GF - “*_GF” is not explained anywhere (there is also “KEPLER_OR_NEWER” support flag) but this may state “not supported in RT series” (Turing/RTX). You can try it with “nvidia-smi -ac …”.
PS C:\Program Files\NVIDIA Corporation\NVSMI>./nvidia-smi -ac 7000,1350
Setting applications clocks is not supported for GPU 00000000:01:00.0.
Treating as warning and moving on.
All done.
It seems that “-ac” command only support on Maxwell-based GPU of GeForce series.
Ok. Expected - not supported on Turing/RTX (“-ac” uses the nvmlDeviceSetApplicationsClocks()). I suppose that “-ac” will not work on any Turing/RTX (I do not have RTX Quadro to check) due to some hardware change in Turing (maybe Volta) chips. “-ac” works with some Kepler and all Maxwell and Pascal (but untested on Volta).
Did you try new API nvmlDeviceSetGpuLockedClocks() with Turing/RTX ?
If you are not able to resolve the problem yourself try ask support (open support case) https://nvidia.custhelp.com/app/ask (NVidia engineers rarely/never visits this forum) ?