stable-diffusion-webui icon indicating copy to clipboard operation
stable-diffusion-webui copied to clipboard

Feature request: GPU temperature control

Open nulqwy opened this issue 3 years ago • 19 comments

Is your feature request related to a problem? Please describe. I don't like 85 degrees (Celsius) on my GPU, especially if it lasts more than 30 minutes or even 1 hour

Describe the solution you'd like If temp on a GPU is more than {maxTemp} and it lasts {accumulateTempTime} it will pause processing for {cooldownTime} or until it cools to {minTemp}, so my GPU won't end up with exploding

Describe alternatives you've considered Not pausing, but lowering the activity to a few tens of seconds per step.

Additional context Not lowering it in hard core, but smartly lowering activity (using sth similar to PID), so the temp will stay at {desiredTemp}

nulqwy avatar Oct 04 '22 08:10 nulqwy

This is why I run with lowvram instead of midvram, because it slows down my GPU enough to not cause it to overheat when generating multiple images.

Would be nice if the server could just monitor it instead.

jpentland avatar Oct 04 '22 08:10 jpentland

You could use MSI Afterburner (or another gpu utility) and set a lower power/temp limit instead.

ArcticEcho avatar Oct 04 '22 09:10 ArcticEcho

Yeah I use msi afterburner, have my power set to 90% and max temp to 75, the card won't go above 67 degrees Instead of hovering g around 85 and 88. And the impact is minimal, I lose about 2% speed at worst and none at best

SkildPad avatar Oct 04 '22 09:10 SkildPad

You could try to use MSI afterburner and set a custom gpu fan curve, and/or lower the power/temeture limit. By default for a lot of GPU the fan never actually goes to 100% no matter how hot the card get's so by setting a custom fan curve (or just setting the fan to run at 100%) you can get lower temps without loosing performance or even gaining performance if you hit the temp limit before and where thermal throttling

KeinNiemand avatar Oct 04 '22 09:10 KeinNiemand

wow, so many comments, uhm, alright, i thought msi was only for OC, but thx, but still, would be COOL feature

nulqwy avatar Oct 04 '22 14:10 nulqwy

You should undervolt your GPU with MSI afterburner, easily saves me 100 watts on my 3090ti with identical performance! Not to mention the lower temps.

nickleijenhorst avatar Oct 05 '22 06:10 nickleijenhorst

Use a fan control software and set the fans to max, or open NVIDIA settings and turn down the power limit.

IceChes avatar Oct 06 '22 16:10 IceChes

You should undervolt your GPU with MSI afterburner, easily saves me 100 watts on my 3090ti with identical performance! Not to mention the lower temps.

Emh, I was thinking about OC my CPU (which I had to do 3 years ago) but, what will happen, if I undervolt it [GPU] too much. With CPU, you just go to BIOS, and change, but with GPU, you control it through Windows, which that if I ruin it, I can't "repair" it? (no intergrated gpu)

nulqwy avatar Oct 06 '22 17:10 nulqwy

If you use msi afterburner, you can toggle to save the setting on windows restart, disabled by defaults. So if you blue screen/reboot or just freeze, next time you boot up, u are on stock settings again with the knowledge that you might have pushed it to far

Edit: It's also really really really unlikely you get crashed by lowering voltage, afterburner doesn't let you go belov 50% and everything still works fine, albeit slowly. And if you are really afraid of crashing, only setting the max temp to be lets say 65 degrees, the card wil also adjust its voltages and clockspeeds to stay there.

SkildPad avatar Oct 06 '22 18:10 SkildPad

If you use msi afterburner, you can toggle to save the setting on windows restart, disabled by defaults. So if you blue screen/reboot or just freeze, next time you boot up, u are on stock settings again with the knowledge that you might have pushed it to far

Edit: It's also really really really unlikely you get crashed by lowering voltage, afterburner doesn't let you go belov 50% and everything still works fine, albeit slowly. And if you are really afraid of crashing, only setting the max temp to be lets say 65 degrees, the card wil also adjust its voltages and clockspeeds to stay there.

Alright, thx. Im gonna go OC my CPU and undervolt my GPU (not sure about first)

nulqwy avatar Oct 07 '22 15:10 nulqwy

Alright, thx. Im gonna go OC my CPU and undervolt my GPU (not sure about first)

Not sure if overclocking cpu is going to help to mutch, to be honest. But I am very interested in the results, mind shooting me a message after you done it?

SkildPad avatar Oct 07 '22 16:10 SkildPad

Alright, thx. Im gonna go OC my CPU and undervolt my GPU (not sure about first)

Not sure if overclocking cpu is going to help to mutch, to be honest. But I am very interested in the results, mind shooting me a message after you done it?

I hope a lot, at least EVEN a 2 fps boost would be good, cuz, you know, 11 years old cpu (fx6100), will benefit from ANYTHING. also i remembered that old ram also benfits from OC, but, im really not sure is it worth or not, i am gonna make a decision after i oc cpu first

EDIT: right now, my pc is more like a stress bench (gpu is 1660s), because any task (even a meet meeting) can fully utilize the cpu, games.... 20 fps is usual, 30 rare and 60 is "OH MY GOOOOOOOOOOOOOOOSH IT IS FAST". BeamMP runs at... well, 5-7 fps... The only games that run at 60 is VERY optimized or old (until 2015 maybe), eg games by Valve (cuz they didnt publish any game for PC since then), Minecraft 1.19 with 19 optimization mods, uhm, simple unity games (like the long drive) and well, thats it

EDIT 2.0: also, to upgrade i will need new cpu, ram, cooler and motherboard, which will be kinda expensive. (AMD Ryzen 5 5600X + be quiet! Pure Rock 2 fan + Asus PRIME X570-P + Kingston FURY 2x8GB ≈ $450)

EDIT 2.1: well, after some pre-oc testing, i realized, that when cpu computes pi (y-cruncher), it heats up to 82 degrees, and well, it thermal throttles, so, well, i can't oc it. btw, sometimes it dropped its freq to 2.6 GHz and task managers bugged and showed 0.00GHz (i used hwinfo to look up the temp). i have to do some undervolting for it too.

nulqwy avatar Oct 07 '22 17:10 nulqwy

Alright, thx. Im gonna go OC my CPU and undervolt my GPU (not sure about first)

Not sure if overclocking cpu is going to help to mutch, to be honest. But I am very interested in the results, mind shooting me a message after you done it?

I hope a lot, at least EVEN a 2 fps boost would be good, cuz, you know, 11 years old cpu (fx6100), will benefit from ANYTHING. also i remembered that old ram also benfits from OC, but, im really not sure is it worth or not, i am gonna make a decision after i oc cpu first

EDIT: right now, my pc is more like a stress bench (gpu is 1660s), because any task (even a meet meeting) can fully utilize the cpu, games.... 20 fps is usual, 30 rare and 60 is "OH MY GOOOOOOOOOOOOOOOSH IT IS FAST". BeamMP runs at... well, 5-7 fps... The only games that run at 60 is VERY optimized or old (until 2015 maybe), eg games by Valve (cuz they didnt publish any game for PC since then), Minecraft 1.19 with 19 optimization mods, uhm, simple unity games (like the long drive) and well, thats it

EDIT 2.0: also, to upgrade i will need new cpu, ram, cooler and motherboard, which will be kinda expensive. (AMD Ryzen 5 5600X + be quiet! Pure Rock 2 fan + Asus PRIME X570-P + Kingston FURY 2x8GB ≈ $450)

EDIT 2.1: well, after some pre-oc testing, i realized, that when cpu computes pi (y-cruncher), it heats up to 82 degrees, and well, it thermal throttles, so, well, i can't oc it. btw, sometimes it dropped its freq to 2.6 GHz and task managers bugged and showed 0.00GHz (i used hwinfo to look up the temp). i have to do some undervolting for it too.

I am running decent mid range hardware from 2 generations back, 16gig of ddr4 3200mhz, ryzen 7 3800x and 2070s. Cpu temps are lower then in most gaming sessions, and with the gpu set to 90% power it won't go above 70 degrees with my fan curve, and is kinda quiet ( compared to the jet engine it can sound like lmao) have played a bit with the clock and memory speeds but +100 clock and +250 mem clock don't make any difference in generating, while in games it does. Can't push it higher or it'll just reboot in games. I generate a image every (give or take 2s) 15 seconds on 50 steps euler a at 512x786. No med vram or highres fix applied

Edit: not sure if overclocking cpu does anything and I have very little room for it since the 3800x is basically 3700 but with better dye and higher clocks out of the box.

SkildPad avatar Oct 08 '22 12:10 SkildPad

well, if you are cpu bottle necked (i am very) it will make a difference. well, i just realized that it could not be possible to undervolt the cpu, cuz, it is cpu. i am so saaad that, i cant just get anything out of my cpu with current cooling (and i am not sure that am3 coolers are in stock at all).

nulqwy avatar Oct 08 '22 16:10 nulqwy

The workaround I've found for this is to underclock my GPU and increase the fan curve. I can run it all day at 50C. Sure I lose some performance but it's better than losing the card.

CharAznableLoNZ avatar Jan 18 '23 10:01 CharAznableLoNZ

GPU are design to run 24/7 at tempetures much, much higher then 50 degrees. Even running 70-75 degrees 24/7 should be fine. Even 80-85 should be fine as long as that's not 24/7.

KeinNiemand avatar Jan 20 '23 13:01 KeinNiemand

Maybe so however if the only thing I'm losing is a small amount of performance by letting it run at a much cooler temp, there isn't much reason to push the card. Stock the card wanted to run at 85 which was far too hot for my liking. Just because it can doesn't mean it should have to.

CharAznableLoNZ avatar Jan 22 '23 00:01 CharAznableLoNZ

This ISSUE IS THE CPU - so i have a 3090 and while it is running at 99-100% it never goes over temp spec, but it fans throw out so much heat that the CPU overheats. I bought extra fans and put them fun during this usage and still I hit high temps on the CPU and other components. Should I invest in a better CPU cooler.

stevedipaola avatar Apr 08 '23 18:04 stevedipaola

I created a patch with a simple cooldown feature if anyone is interested https://github.com/narnianpony/AUTOMATIC1111_stable-diffusion-webui_cooldown-patch

narnianpony avatar Jun 21 '23 19:06 narnianpony

In addition to the extension mentioned above there is now this one: https://github.com/w-e-w/stable-diffusion-webui-GPU-temperature-protection

Closing.

catboxanon avatar Aug 07 '23 16:08 catboxanon

On my Gainward Phoenix 3090 core temp is perfect, but GPU Hot Spot temp goes high very quickly. Like 104c when core temp still 68. So I downloaded ExperTool from of.website of Gainward and all fine now. I have the same speed with less temp by manual setting of fan start and speed, BUT I want to see(monitor) the GPU Hot Spot Temperature in webui. Any "how to" to implement this?

sebaxakerhtc avatar Feb 12 '24 07:02 sebaxakerhtc