stable-diffusion-webui
stable-diffusion-webui copied to clipboard
Feature request: GPU temperature control
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}
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.
You could use MSI Afterburner (or another gpu utility) and set a lower power/temp limit instead.
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
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
wow, so many comments, uhm, alright, i thought msi was only for OC, but thx, but still, would be COOL feature
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.
Use a fan control software and set the fans to max, or open NVIDIA settings and turn down the power limit.
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)
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.
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)
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?
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.
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.
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).
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.
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.
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.
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.
I created a patch with a simple cooldown feature if anyone is interested https://github.com/narnianpony/AUTOMATIC1111_stable-diffusion-webui_cooldown-patch
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.
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?