Использование GPU MHZ
Я занимаюсь разработкой агента мониторинга для карт с графическим процессором, который способен обеспечивать телеметрию в реальном времени с использованием библиотек CUDA и NVML.
Я хочу немного больше понять работу ядра GPU по сравнению с тем, как работают ядра Intel/AMD CPU.
Одна из формул, которую можно использовать для процессоров: (cpumhz или средняя пиковая загрузка процессора (МГц)) следующим образом:
((CPUSPEED * CORES) /100) * CPULOAD = Workload average peak CPU utilization
Более подробная информация здесь https://vikernel.wordpress.com/tag/vmware-formulas/
Поэтому было бы правильно, чтобы та же формула могла быть применена к графическим процессорам. Исключение составляют ядра / шейдеры CUDA вместо "CORES", или я мог бы просто умножить текущую тактовую частоту на фактическое использование тактовой частоты процессора, поскольку у графического процессора есть тактовая частота ядра для 1000 ядер / шейдеров.
Например:
((GRAPHICS_MHZ * CUDA_CORES) /100) * GPU_LOAD = GPU MHZ utilization
2 ответа
Я думаю, что нашел свой ответ, основываясь на том, как работает видеокарта. Благодаря тому, что каждое ядро работает параллельно, они работают намного эффективнее, чем ядро процессора из того, что я прочитал.
С ядром процессора вы можете использовать приведенную выше формулу, но если вы хотите увидеть МГц, используемый на карте GPU, вы можете просто использовать:
(GRAPHICS_MHZ * /100) * GPU_LOAD = GPU MHZ utilization
Хорошо, что возвращаемый вами GPU_LOAD - это другой расчет, предоставляемый с карты GPU, чем тот, который вы получаете с карты CPU. Если у кого-то другое мнение, я бы с удовольствием его услышал.