Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CPU-GPU TDP balancer (Smart shift) #220

Open
SpookySkeletons opened this issue Jun 13, 2021 · 3 comments
Open

CPU-GPU TDP balancer (Smart shift) #220

SpookySkeletons opened this issue Jun 13, 2021 · 3 comments

Comments

@SpookySkeletons
Copy link

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.

@crispy-cat
Copy link

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

@SpookySkeletons
Copy link
Author

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.

@MilesBHuff
Copy link

MilesBHuff commented May 23, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants