NVIDIA-SMI-AC эквивалент в NVML
Я узнал, что nvidia-smi -ac можно использовать для изменения тактовой частоты ядер и памяти графического процессора. Nvidia-smi построена на библиотеке NVML? Каков его эквивалент в NVML, так как я проверил документ
http://cyber.sibsutis.ru:82/GPGPU/sdk/CUDA_TOOLKIT/nvml.pdf
но могли бы видеть только API, которые используются для получения значений тактовых частот, а не их установки?
Спасибо
1 ответ
Да, nvidia-smi построен на библиотеке NVML.
В соответствии с последней доступной здесь документацией по nvml api (которая связана с сайтом, который я ранее предлагал вам здесь) Команда "Установить часы приложений" поддерживается на графических процессорах Tesla K10 и K20 (стр. 6). Я полагаю, что это также поддерживается "Kepler" членами семейства Quadro, такими как Quadro K5000.
Если у вас есть графический процессор Tesla K10, K20 или K20X, команда Set Application Clocks описана на стр. 68, которую я также привожу здесь для удобства:
7.12.2.2 nvmlReturn_t DECLDIR nvmlDeviceSetApplicationsClocks (nvmlDevice_t device, unsigned int
memClockMHz, unsigned int graphicsClockMHz)
Set clocks that applications will lock to.
Sets the clocks that compute and graphics applications will be running at. e.g. CUDA driver requests these clocks
during context creation which means this property defines clocks at which CUDA applications will be running unless
some overspec event occurs (e.g. over power, over thermal or external HW brake).
Can be used as a setting to request constant performance.
For Tesla ™products, and Quadro ®products from the Kepler family. Requires root/admin permissions.
See nvmlDeviceGetSupportedMemoryClocks and nvmlDeviceGetSupportedGraphicsClocks for details on how to list
available clocks combinations.
After system reboot or driver reload applications clocks go back to their default value.
Parameters:
device The identifier of the target device
memClockMHz Requested memory clock in MHz
graphicsClockMHz Requested graphics clock in MHz
Returns:
• NVML_SUCCESS if new settings were successfully set
• NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
• NVML_ERROR_INVALID_ARGUMENT if device is invalid or memClockMHz and graphicsClockMHz is
not a valid clock combination
• NVML_ERROR_NO_PERMISSION if the user doesn’t have permission to perform this operation
• NVML_ERROR_NOT_SUPPORTED if the device doesn’t support this feature
• NVML_ERROR_UNKNOWN on any unexpected error