nvmlDeviceSetAPIRestriction seems to offer a way to reduce the permissions required by setting the GPU's frequency (but not power limit).
If this works, a workflow could be for a administrator to (1) turn on GPU persistence mode and (2) reduce restrictions for application clock setting, and Perseus would in theory work with no extra privileges.
If this works fine, I should consider implementing GlobalFrequencyOptimizer, which is the same as GlobalPowerLimitOptimizer but with GPU frequency.
nvmlDeviceSetAPIRestriction
seems to offer a way to reduce the permissions required by setting the GPU's frequency (but not power limit). If this works, a workflow could be for a administrator to (1) turn on GPU persistence mode and (2) reduce restrictions for application clock setting, and Perseus would in theory work with no extra privileges. If this works fine, I should consider implementingGlobalFrequencyOptimizer
, which is the same asGlobalPowerLimitOptimizer
but with GPU frequency.