Live data from Hacker News

Better PC cooling with Python and Grafana

calbryant.uk

61–70 of 164 posts

Re: Better PC cooling with Python and Grafana

#61
post #48

Another way to help with cooling..."Energy Efficiency across Programming Languages" - https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sle...

Their 2021 update here:

https://www.sciencedirect.com/science/article/abs/pii/S01676...

Link to full paper via sci-hub:

https://sci-hub.st/10.1016/j.scico.2021.102609

This appears to be a web page where the authors have posted links to their research, data, updates, etc:

https://sites.google.com/view/energy-efficiency-languages/

For transparency, I've posted these here recently:

https://news.ycombinator.com/item?id=39286827

Re: Better PC cooling with Python and Grafana

#63
It's surprising that there are no PC fan controllers that would use some variant of PID control with a temperature target. Traditional fan curves are simple, but the result isn't very intuitive.

And many desktop motherboards manage to screw up even the basic fan curve, offering users control of only two points within strict bounds, no piecewise linear curves or hysteresis settings.

I started a fan controller project some 4 years ago and it's now sadly in limbo, waiting for me to solve power filtering issues for the makeshift power supply it grew into. Maybe I should just limit myself to 4-pin fans...

Re: Better PC cooling with Python and Grafana

#64

Please do some measuring of core temperature response to load before and after re-pasting / upgrading the thermal compound. Something between a large grain of rice and a pea, and I like to clean the CPU and cooler cold plate completely, paste the CPU, then press and smear around the cooler onto the CPU before mounting it, to ensure full surface area coverage with a thin layer of compound.

Genuine question: I've known the law of "pea sized amount" for thermal paste for 20 years or so. Does it still hold true for modern (and larger) CPU dies? I haven't upgraded in a long time so genuinely don't know, but also wouldn't want to use outdated knowledge!

It depends how much you care about tidiness/perfection. Unless you use a metal paste, the worst that can happen with too large amount is that it will leak outside. And you can wipe that - that's it. So feel free to use too much and just clean up afterwards. That's better than using too little.

Re: Better PC cooling with Python and Grafana

#65
post #63

It's surprising that there are no PC fan controllers that would use some variant of PID control with a temperature target. Traditional fan curves are simple, but the result isn't very intuitive. And many desktop motherboards manage to screw up even the basic fan curve, offering users control of only two points within strict bounds, no piecewise linear curves or hysteresis settings. I started a fan controller project…

> It's surprising that there are no PC fan controllers that would use some variant of PID control with a temperature target.

They actually exist (such as ARCTIC F12 TC) but not very common. Separate controllers such as Adafruit EMC2101 are also available.

Re: Better PC cooling with Python and Grafana

#68
post #4

For people that want to do something similar on Windows, I can wholeheartedly recommend FanControl [1]. It's sadly not open-source, but it works great, and is quite pleasant to interact with. [1]: https://getfancontrol.com/

I came here to recommend this.

In my 15 years of PC building this fan software tops them all. Huge amount of customisation and actually allows you to control fan speeds both under CPU OR GPU heavy loads at once.

This software can do what this article is looking to do, but I am not sure if there is a non-Windows version.

Re: Better PC cooling with Python and Grafana

#69
post #63

It's surprising that there are no PC fan controllers that would use some variant of PID control with a temperature target. Traditional fan curves are simple, but the result isn't very intuitive. And many desktop motherboards manage to screw up even the basic fan curve, offering users control of only two points within strict bounds, no piecewise linear curves or hysteresis settings. I started a fan controller project…

PID control isn’t an easy solution in PC cooling.

CPU temperatures can swing from 40C to 90C and back in a matter of seconds as loads come and go. Modern fan control algorithms have delays and smoothing for this reason.

If you had a steady state load so stable that you could tune around it, setting a fan curve is rather easy and PID is overkill. For normal use where you’re going between idle with the occasional spike and back, trying to PID target a specific temperature doesn’t really give you anything useful and could introduce unnecessary delays in cooling if tuned incorrectly.

Re: Better PC cooling with Python and Grafana

#70

Another thing I've had great success with on my AMD 7700X is to use AMD Ryzen Master to reduce the TDP. The chip comes to consumers overclocked by default with a TDP of 105W. I suspect this is the case so that it can beat Intel on benchmarks on "default" settings. You can set it to "eco mode" and have it run at 65W or 45W TDP. Under load, this only results in like a 5% reduction in performance for a dramatic reductio…

I’ve tried Eco mode on AMD parts before. The performance drop was a lot more than 5% for heavily multithreaded workloads (compiling), but I could see it being negligible for certain single threaded workloads.
Post reply on HN