我一直在使用 NVML 库来获取 Rodinia 基准套件的图形和内存利用率值。我观察到,对于不同的频率,同一应用程序的利用率显示出不同的值。从 wiki 链接http://en.wikipedia.org/wiki/CPU_usage看来,它似乎没有考虑到内存、分支等各种停顿。在一个时间间隔内,这种利用率到底是什么?以及它的值如何随着频率的变化而变化。
谢谢
我一直在使用 NVML 库来获取 Rodinia 基准套件的图形和内存利用率值。我观察到,对于不同的频率,同一应用程序的利用率显示出不同的值。从 wiki 链接http://en.wikipedia.org/wiki/CPU_usage看来,它似乎没有考虑到内存、分支等各种停顿。在一个时间间隔内,这种利用率到底是什么?以及它的值如何随着频率的变化而变化。
谢谢
利用率的定义在nvml 文档p90 中给出:
8.12 nvmlUtilization_t Struct Reference
#include <nvml.h>
Data Fields
• unsigned int gpu
Percent of time over the past second during which one or more kernels was executing on the GPU.
• unsigned int memory
Percent of time over the past second during which global (device) memory was being read or written.
如果您更改应用程序时钟,给定工作负载的利用率可能会有所不同(我假设这就是您所说的意思frequency
)。
例如,如果 GPU 核心时钟运行得更快,那么工作负载的处理可能会发生变化,完成工作负载所需的时间可能会更少。