ec icon indicating copy to clipboard operation
ec copied to clipboard

CPU-GPU TDP balancer (Smart shift)

Open SpookySkeletons opened this issue 3 years ago • 3 comments

Based on the consumption of the CPU and GPU in relation to themselves the EC should perform a balancing act to allocate more power to the CPU when the GPU is idle or to the active GPU when the CPU is low utilization. This is similar to AMD's smart shift tech.

SpookySkeletons avatar Jun 13 '21 14:06 SpookySkeletons

That would be excellent, especially with the Oryx's CPU being limited to 80W all the time even when the CPU is barely doing anything

crispy-cat avatar Jul 23 '21 22:07 crispy-cat

Oryx Pro has an extremely limited thermal envelope, if you paste proper you can get about 90 watts out liquid metal can push 100. Oryp6 suffers extremely bad in VR if you don't carefully tune your CPU and GPU limits to prevent 99C throttles from crashing your thunderbolt attached devices which are often required to support enough USB devices for a VR headset in spite of the USB chipset not supporting nearly enough endpoints.

I am fairly sure you can use the i2c interface to the nvidia card to query consumption and then coordinate with coreboot to receive & send MSR opcodes to the CPU when the GPU isn't in use to double the allowed TDP, make Gentoo users happy. Or with some careful profiling you can bring the nvidia to heel instead of flying off and dumping heat into the same pipe as the CPU. EC can be aware and send i2c requests to a running nvidia to prevent it from soaking up all sink usage.

Very easy to prod the GPU on i2c, just need documentation on what to send it, however I would like to know if it's possible to get the EC to cooperate to read & write MSRs to the CPU probably through a BIOS interface. If possible you can check for low CPU consumption loads and allocate more to the GPU, low-no GPU consumption allocate MUCH more headroom to the CPU, for GP&CP heavy workload it should carefully balance both to prevent either from throttling down in spikes with CPU getting a hard thermal floor under it.

SpookySkeletons avatar Jul 27 '21 13:07 SpookySkeletons

Oryx Pro has an extremely limited thermal envelope

Off-topic to the OP, but one way to rather dramatically improve the Oryp7's terrible temps, I've found, is to ensure thermal contact between components and the bottom chassis, eg with thermal pads and thermal tape.

MilesBHuff avatar May 23 '22 02:05 MilesBHuff