Pages:
Author

Topic: [DESIGN] Custom-Built Lexan / Aluminum Mining Case - page 2. (Read 7424 times)

hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
I have one of these digital indoor/outdoor thermometers hooked up to show me the ambient and exhaust air temps. It's really the only way to relate your core temps to what's going on with your fans. I find the in/out differential for me is always about 7C. I guess that's a measure of how well the air is moving thru as poor airflow would probably result in higher spreads.

Rather than cool my cards as low as possible I tend to select what I think is a good temp and then have a monitor script that slows the fans down rather than let temp go lower. This gives me more quiet as the ambient cools at night time when I'd like to sleep.
sr. member
Activity: 518
Merit: 250
Its my guess they do better pulling air out as the fans are evenly spaced all over the back of your box.  When they are pushing air in, looking at the front of your box and the openings there may be a lot of "dead" spots in the air flow...

interesting Q, while the fans were pushing air in and before you had the lexan front panel, were the temps low then?
jr. member
Activity: 57
Merit: 0
On these cards, the only direction the fans blow is 'into the heatsink'.  The exhaust comes out whichever path has the least resistance, which by default happens to be the open 'rear' of the card rather than out the grill.  A powerful fan can reverse this, but probably at an efficiency reduction.

I was feeling experimental, so I reversed the bank of 6 fans; they were intake, they're now exhaust. temps are cooler! exactly by how much is hard to say, since ambient temps have been up and down over the past few days. but more than anything else, I've noticed that temps are more consistent with this negative-pressure setup. I'm going to keep it like this; however, I think I'm also going to put two 140mm fans blowing down onto the cards from the top, since I have the space for them. case pressure will still be negative (180 CFM in, 360 CFM out). I'd love to hear any suggestions, comments, whatever; my background in airflow/cooling is basically nonexistent, besides what I've researched in the past week.
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
still very cool. all it needs now is some little rubber feet positioned so they can stack.
sr. member
Activity: 518
Merit: 250
very very nice!
jr. member
Activity: 57
Merit: 0
That looks exactly like my asus mobo, which one is it? I couldn't get mine to run with 4 cards.

it's the M4A79XTD EVO (link). I picked it for price ($100), pcie slots (2@16x, 2@1x), and generally good newegg reviews. haven't had any trouble running four cards (all sapphire 5830s); I did have to RMA one of them, but that was the card's fault, not the mobo. system was unstable (but did run, believe it or not) w/ a 650w ps, so I replaced it with the current 1200w and it's been no trouble since. board has worked fine with win7 and (more recently) debian.
jr. member
Activity: 57
Merit: 0
perhaps a bit more closing off in front and (if it were mine) maybe some mesh filters for the fans.

thank you for the suggestions. I took your (and previous posters') advice and created full-size Lexan panels for the front and back, replacing the old narrow ones. of course, the new panels needed cutouts for the fans (back) and inputs, ps, and card exhaust (front) as well as all kinds of little holes for bolts and screws. anyway, I got it setup, and airflow is definitely better now, and temps seem a few degrees cooler. also, I grabbed some fan grills from newegg ($2 for 6+), so I'll add those over the fans when they show up; I don't have a cat, but I do brush into the fans more than I'd like to admit Tongue and it always scares the hell out of me.



full member
Activity: 133
Merit: 100
That looks exactly like my asus mobo, which one is it? I couldn't get mine to run with 4 cards.
legendary
Activity: 4354
Merit: 3614
what is this "brake pedal" you speak of?
I like this too. simple, clean layout, reasonable protection for the hardware.

perhaps a bit more closing off in front and (if it were mine) maybe some mesh filters for the fans. got cats here, hair can get anywhere it seems. 
jr. member
Activity: 57
Merit: 0
try to put some fans at the EXHAUST of the card, help to exhaust out more heat from the hard

I'm not sure if it needs more exhaust, to be honest. first, I'd like to try installing larger lexan panels on the front and back to get case a little less open-air and a little more contained. as it is, I'm happy with the temps, even on hot days like today.

Now setting up a gentle air movement front to back or back to front does seem to work.

I agree with this; I think it's all about the air moving in a consistent direction...
sr. member
Activity: 518
Merit: 250
I've never been one for sticking big fans right on top of the cards.... notice the cards tend to blow the air all over the place out the front and back.... so putting too much blow or suction right on top of a card probably just causes cavitation  in the air around the cards vitals.

Now setting up a gentle air movement front to back or back to front does seem to work.
full member
Activity: 160
Merit: 100
try to put some fans at the EXHAUST of the card, help to exhaust out more heat from the hard
jr. member
Activity: 57
Merit: 0
BTW you ought to know, when you set your fans to a fixed speed as I do, your script puts them back to automatic speed.... I'm not sure why I've only just this min noticed so have not had time to look into it..... thought you ought to know tho.

all you need to do is remove the "adjust_fan(adapter)" line near the bottom, or comment it out, and then the fans will just remain at whatever speed anything else has them set to.
sr. member
Activity: 518
Merit: 250
@loglow haha me too watch is so handy.

BTW you ought to know, when you set your fans to a fixed speed as I do, your script puts them back to automatic speed.... I'm not sure why I've only just this min noticed so have not had time to look into it..... thought you ought to know tho.
jr. member
Activity: 57
Merit: 0
nice script, works fine for me using python 2.6 on linuxcoin distro

thanks Smiley I run it using the "watch" command so its persistent and gives real time stats. also, you're right, it works fine with python 2.6; I guess the 2.7 requirement was for something I'd been using at one point but ended up removing...I edited the original post
jr. member
Activity: 57
Merit: 0
I'm curious if you tried it with the back end fans reversed and saw what difference it makes?

I haven't tried this yet, at least not with the hardware in its current setup. this would definitely be worth experimenting with, and if and when I do I'll share what kind of difference it makes. currently, the case fans are providing a significant flow of fresh air to the individual card fans, and except for the grille, it seems like the heat piped away from the core is more or less equally dispersed in each direction. the "slots" idea is also fascinating, essentially giving each gpu its own little independent air channel...something to think about.
sr. member
Activity: 518
Merit: 250
nice script, works fine for me using python 2.6 on linuxcoin distro
jr. member
Activity: 57
Merit: 0
That's awesome. I'd love to know more about the script and if you plan to share it. I'm running Ubuntu with very similar setup but my rig is mounted in a wire shelf unit that cost $8 here. Maybe next phase would be something like this.

thank you. I'm happy to share it. the only change I've made to it here is that I removed a few lines that have to do with updating the rrd (round robin database) with some of the stats, since that action is very specific to my setup. the rest should work pretty well for general purposes. let me know if it doesn't, or if you have any questions about it. python 2.7 (instead of 2.6) was required for something, one of the modules I think, but I don't remember exactly what it was. python 2.6 works fine, I edited the #! line below to reflect this.

Code:
#!/usr/bin/python

from re import findall, search
from shlex import split
from subprocess import Popen, PIPE
from sys import stdout, argv
from os import environ

# define target range for temps
TEMP_COOL = 60
TEMP_LOW = 68
TEMP_HIGH = 72
TEMP_CRIT = 80

# define fan speeds limits
FAN_MIN = 20
FAN_MAX = 100

# strings for all hardware polling commands
GET_ADAPTERS = 'aticonfig --list-adapters'
GET_TEMPS = 'aticonfig --odgt --adapter=all'
GET_CLOCKS = 'aticonfig --odgc --adapter=all'
GET_FANS = 'aticonfig --pplib-cmd "get fanspeed 0"'
SET_FANS = 'aticonfig --pplib-cmd "set fanspeed 0 $"'

# make it easier to display terminal text in color
TEXT_COLORS = ["black", "red", "green", "yellow", "blue", "magenta", "cyan", "white"]
def textcolor(text, color):
code = str(TEXT_COLORS.index(color) + 30)
return "\033[0;" + code + "m" + text + "\033[m"

# get all current stats from the hardware (except fans)
raw_adapters = Popen(split(GET_ADAPTERS), stdout=PIPE).communicate()[0]
raw_temps = Popen(split(GET_TEMPS), stdout=PIPE).communicate()[0]
raw_clocks = Popen(split(GET_CLOCKS), stdout=PIPE).communicate()[0]

# make a list of the adapter ids
adapter_ids = findall(r"\*?\s+(\d)\.", raw_adapters)

# getting fan data is a bit specialized and requires some iteration
raw_fans = {}
for i in adapter_ids:
n = int(i)

# the DISPLAY env var needs to be set before each fan is polled
environ["DISPLAY"] = ":0." + i
raw_fans[n] = Popen(split(GET_FANS), stdout=PIPE).communicate()[0]

# all of the parsed stats will be stored here
adapters = []

# iterate over each adapter to parse stats and store them
for i in adapter_ids:
n = int(i)

# parse the stats with regex keeping things as adaptable as possible
temp = search("(?s)" + "Adapter " + i + ".*?" + r"(\d+\.\d+)", raw_temps)
clocks = search("(?s)" + "Adapter " + i + ".*?" + r"(\d+)\s+(\d+)" + ".*?" + r"(\d+)\s+(\d+)" + ".*?" + r"(\d+)%", raw_clocks)
fan = search(r"(\d+)%", raw_fans[n])

# store the parsed data into the adapter list and convert types
adapters.insert(n, {})
cur = adapters[n]
cur["dev"] = n
cur["temp"] = float(temp.group(1))
cur["core"] = int(clocks.group(1))
cur["mem"] = int(clocks.group(2))
cur["pcore"] = int(clocks.group(3))
cur["pmem"] = int(clocks.group(4))
cur["load"] = int(clocks.group(5))
cur["fan"] = int(fan.group(1))
cur["dfan"] = 0

# if temp is outside range then adjust the fan speed up or down
def adjust_fan(cur):
if cur["temp"] < TEMP_LOW: cur["dfan"] = -1
elif cur["temp"] > TEMP_HIGH: cur["dfan"] = 1
while cur["fan"] + cur["dfan"] < FAN_MIN: cur["dfan"] += 1
while cur["fan"] + cur["dfan"] > FAN_MAX: cur["dfan"] -= 1
if cur["dfan"] != 0:
cur["fan"] += cur["dfan"]
environ["DISPLAY"] = ":0." + str(cur["dev"])
command = SET_FANS.replace("$", str(cur["fan"]))
Popen(split(command), stdout=PIPE)

# color the temp display based on its current value
def color_temps(cur):
color = "green"
if cur["temp"] < TEMP_COOL: color = "blue"
elif cur["temp"] < TEMP_LOW: color = "cyan"
elif cur["temp"] > TEMP_CRIT: color = "red"
elif cur["temp"] > TEMP_HIGH: color = "yellow"
cur["temp"] = textcolor("%.1fC" % cur["temp"], color)

# stores the order, label, and format string of each output
outputs = (
("dev", "GPU%d"),
("temp", "%s"),
("load", "%d%%"),
("core", "%d"),
("pcore", "%d"),
("mem", "%d"),
("pmem", "%d"),
("fan", "%d%%"),
("dfan", "%+d%%"))

# print column headers and a row of data for each adapter
# also, adjust fan speeds for each adapter if necessary
for output in outputs: stdout.write(output[0] + "\t")
stdout.write("\n")
for adapter in adapters:
adjust_fan(adapter)
color_temps(adapter)
for output in outputs:
name = output[0]
format = output[1]
value = adapter[name]
stdout.write(format % value + "\t")
stdout.write("\n")
jr. member
Activity: 57
Merit: 0
That's badass. Might get better airflow around the gpu if you sealed below the gpus as well

this is something I'm considering. the lexan turned out to be so pleasant to work with that I might try to make a piece that mounts over the open back area of the case; this would direct the airflow even more and further lower the fan speeds. it would need some careful planning so as not to block ports, cables, or the power supply fan. thanks for the suggestion.
full member
Activity: 196
Merit: 100
On my Sapphire 5830s it blows quite a bit stronger out the back end of the card than the front (with the grill). So I would have though pulling from that end would be better than blowing into it as wouldn't that go directly against the direction the cards fans already blow? I'm curious if you tried it with the back end fans reversed and saw what difference it makes?

Wouldn't you want to get cool air into the center of each card where it intakes rather than directly against the hot air coming out? Just curious how much you experiments with this.

On these cards, the only direction the fans blow is 'into the heatsink'.  The exhaust comes out whichever path has the least resistance, which by default happens to be the open 'rear' of the card rather than out the grill.  A powerful fan can reverse this, but probably at an efficiency reduction.

Sapphire's coolers work well for stand-alone cards, but when you've got a mess of them and need to actually try controlling the airflow, man they become a big PITA.
Pages:
Jump to: