Locale | Presentation string | en-GB | Clock rate monitoring |
---|
M8M currently pulls device clock rates from the driver. This is basically a nominal clock rate not reacting to any state.
With thermal management becoming more and more advanced, devices can throttle when overloaded or self-overclock on certain situations.
This extension allows a finer, real-time polling of clock values for better understanding of hardware dynamics. It is especially useful in conjunction with temperature monitoring.
MDZ_long_term_stats
is supported then a new stream is defined with name clockRate
.
{
device: [D0, D1, ... , DN-1],
clock: [R0, R1, ... , RN-1]
}
Di
values can be inferred using listClocks
.
clockPollingInterval
is added. Valid values are unsigned integers, representing the number of seconds between successive clock rate readings. Default value is 0, meaning monitoring is disabled.Parameters: none.
Purpose: enumerate all available clock rates and give informations regarding usage.
Reply: an array containing as many entries as readable clocks, each entry is in the following form:
{
presentation: <string>,
processorIndex: <uint>,
type: <string>,
}
The field processorIndex
is optional. If specified, the clock referres to a specific compute device regardless the device itself is used or not. The index is the very same linear-index to be used by standard commands.
The field type
gives an hint about clock usage. It can be "memory"
, "chip"
or "unknown"
.
Push: not allowed.
Parameters: an array of unsigned integers being the index of the clock to query.
Purpose: retrieve current clock rate.
Reply: an array containing as many entries as request. Each entry is an integer representing device current clock in MegaHertz.
Notes:
MDZ_long_term_stats
is supported, a sample can be produced by iterating on all available clocks and adding them to the lists whatever the measurement is different.Push: allowed, but no more than one.