This talk is about power management and reclocking related topics on Nvidia (Fermi,) Kepler and Maxwell GPUs running with the Nouveau driver.
The first part is about the state of general power management functionalities not directly related to reclocking. Since version 4.6 of the Linux kernel (and finally fixed in 4.8) Nouveau is able to get data from the on-GPU power sensors for mid+-ranged GPUs. With this, we can see how much static power consumption matters on different performance levels and what we need to implement in Nouveau to reduce it.
The second part is about Nvidia's GPU Boost 1.0/2.0 (tm) technology found on these Nvidia GPU chipsets. It gives an overview of what GPU Boost related information we find inside the GPU bios and how that maps to rules Nouveau has to follow to implement GPU Boost compliant reclocking. It explains what Nouveau did in the past, what I've adjusted and which parts are still missing. Various tools to reverse-engineer GPU Boost will also be demonstrated.
The third part concentrates more on the hardware aspects of reclocking the cards right and what new features were added to Nouveau in the past year. It also gives an overview of how much more work needs to be done to support dynamic reclocking in Nouveau and what problems we still have to overcome.
The talk finishes with a few demos showing how far Nouveau has advanced in supporting reclocking on Kepler and Maxwell GPUs and some prototype code, which is the base for future work.