| 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.