Lock Memory Clock Only

Are there any ways to lock mem clock only?

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+.

Please check documentation https://docs.nvidia.com/deploy/nvml-api/group__nvmlDeviceCommands.html

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 …”.

nvmlDeviceSetGpuLockedClocks() … VOLTA_OR_NEWER (P4000 == Pascal < Volta)

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.

So… My only choice is to get a Quadro RTX card?

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) ?

nvmlDeviceSetGpuLockedClocks() works with RTX. But in my application, I need to fix memory clock instead of GPU core clock for some reason.