AI Foundry lab

AI Foundry lab, 9 October 2026: aifoundry2's card has new fans, and the doom loop has room again

← AI Foundry lab dashboard › Worklog

Covers Fri 9 Oct 2026 (week 41), 14:55–16:01 PDT: aifoundry2 in the AI Foundry lab at Studio 45. Written Fri 9 Oct 2026, about 16:44 PDT, on the Intel, from the live collectors on aifoundry2 and aifoundry3 (one reading every 5 s), today's test logs (10 readings a second in the heavy run), the fan controller, and photos taken during the swap.

The stalling fan behind aifoundry2's card is out. A two-fan 92 mm bracket now blows straight onto the card's heatsink, and the idle card holds at 51 °C and 23.2 W: 20 °C cooler than on Thursday, and 2 °C cooler than its twin on aifoundry3. The load tests from 6 October came out far better too. The 8-minute burst test levels off at 63 °C, where on 6 October it reached 76 °C and was still climbing. The heaviest workload settles at 75 °C, where on 6 October it hit the 90 °C stop in 37 seconds. At idle the card now has about twice the cooling it needs to stay out of the doom loop. Under long full-load runs the margin is thinner, so keep a temperature stop on those. The card is back in service since 16:34, on the owner's call, and the lab's docs, dashboard and setup script say so.

51 °Cidle, mean of 34 sensorsThu 8 Oct: 71 °C (−20)
23.2 Widle card powerThu 8 Oct: 30.8 W
75 °Cheaviest workload, 10 min6 Oct: 90 °C stop after 37 s
0.68 °C/Wdie to air, lower is better6 Oct: about 1.0

The fans' effect, in one trace

With the fans in, the idle card fell from 87 to 51 °C in 8 minutes

aifoundry2, mean of the 34 minion-shire sensors, one reading every 5 s. Nothing ran on the card. With no fan on it, it heated by about 4.4 °C a minute.

40506070809010015:0515:1015:1515:2015:2515:3015:35Fri 9 Oct 2026, minutes past 15:00 (PDT)°Cno fan yetThursday idle, 71 °Caifoundry3 now, 53 °C87 °C, 41 W51 °C, 23 W
aifoundry2, 9 Octreference lines

The doom-loop tests, repeated from 6 October

The same 8-minute load test now levels off at 63 °C; on 6 Oct it reached 76 °C and was still climbing

Repeated 8-second sgemm bursts with 2.5-second gaps, the test used for aifoundry1's fan repair on 2 Oct. The power is read in the gaps.

40506070809002468minutes into the test°Cthe test stops at 85 °Caifoundry1 card 0aifoundry1 card 16 Octtoday
aifoundry2, 9 Octaifoundry2, 6 Octaifoundry1, 2 Oct

The heaviest workload now levels off at 75 °C; on 6 Oct it hit the 90 °C stop in 37 seconds

Random data on all 1,024 minions for up to 10 minutes (the shaded span), then idle. Same script, same stops. On 6 Oct the run started at 80 °C after its preheat; today the preheat reached only 71 °C.

405060708090100024681012minutes from the start of the heavy run°Cthe run stops at 90 °C6 Oct: stopped after 37 stoday: 75 °C, 59 Wfull load
aifoundry2, 9 Octaifoundry2, 6 Octthe run

How much room there is now

The cooling could get 1.9 times worse before the idle card runs away, but only 1.2 times under full load

Model values: the measured cooling (0.68 °C/W) on the 7 Oct leakage law. Thursday's point uses today's air, 35 °C.

0.40.60.81.01.21.4cooling, °C per W from die to air (lower is better)no resting point under full load: from 0.81idle: from 1.26today 0.686 Oct, about 1.0Thu afternoon, 1.18
todayThursday, the failing fanno resting temperature

Thursday, before the swap

Thursday: the stalling fan let the idle card creep for five hours, then run away

aifoundry2 against its twin aifoundry3, one-minute means. Nobody was using either card.

40608010012014015:0016:0017:0018:0019:0020:00Thu 8 Oct 2026 (PDT)°Caifoundry3off the bus, 19:49aifoundry2
aifoundry2, 8 Octaifoundry3

Roman's checks, repeated

On Thursday at 15:08–15:13 Roman's agent compared aifoundry2 with aifoundry3 and read the fan controller (#community-lab). The same readings now:

aifoundry2, Thu aifoundry2, now aifoundry3, now
Fan duty 100% 100% 57%
Fan speed, in Linux 1,638 → 515 → 1,167 → 586 RPM 2,280–2,295 RPM, steady none readable
Board sensor 46 °C 38 °C 36 °C
Die 72 °C 49 °C 54 °C
Card power 31.1 W 22.8 W 24.6 W
Host CPU 52 °C 38 °C 38 °C
Host NVMe 45 °C 42 °C 40 °C

What was done

aifoundry2's open frame before the swap: the ET card's heat-pipe plate, and below it a 120 mm fan held in a black clip.
14:55, before: the 120 mm fan in its clip under the card. It was the card's only airflow, and it had been stalling since Wednesday.
  1. 14:55: shut down. aifoundry2 was shut down over ssh, as root. Its card had been silent since Thursday evening.
  2. 14:57: the old fan out. It was unscrewed from the frame and unplugged from the board.
A hand lifting a two-fan bracket from a frame on the lab shelf labelled MV-SWPCIE21.
14:58: a two-fan 92 mm PCI-slot bracket, taken from a frame on the shelf (labelled MV-SWPCIE21).
  1. 14:59: the bracket in. It mounts in the slot beside the card and blows straight across its heatsink.
The two-fan bracket screwed into aifoundry2's frame beside the card, with its 3-pin fan cables loose.
14:59: the bracket screwed in beside the card.
  1. 15:04–15:16: one fan swapped. One of the bracket's two fans had a cable too short to reach a header, so it was replaced with a Cooler Master SickleFlow 92 that has a longer cable. The machine was booted at 15:07, before the bracket went back in.
Two 92 mm fans on the carpet: a dusty Pano-mounts fan taken out of the bracket and a black Cooler Master SickleFlow 92, with the bracket beside them.
15:10: the dust-caked Pano-mounts fan that came out (front), and the SickleFlow 92 that went in (held).
Two fan labels: Pano-mounts CF9225GPU2PACK, DC 12 V, 0.32 A, 3000 RPM; and Cooler Master SickleFlow 92, 650–2300 RPM, DC 12 V, 0.18 A.
The two fans' labels: the bracket's own Pano-mounts fans are 3,000 RPM; the SickleFlow 92 tops out at 2,300 RPM, which is why it looks slower.
  1. About 15:17: running. Both fans spin, blowing onto the heatsink. The card cooled from 87 to 51 °C within eight minutes.
The bracket's two fans beside the powered card, whose green light is on; one fan has a 3-pin cable and one a black 4-pin cable.
15:16: the bracket back beside the powered card (green light). The black cable is the SickleFlow's; the yellow, red and black one is the remaining Pano-mounts fan's.
  1. Where the spare parts are. The lab's spare fans are in a drawer: Thermalright TL-8015 slim 80 mm fans and TL-C12CW 120 mm fans. The toolkit sits on the shelf next to the keyboard.
A drawer of boxed spare fans: Thermalright TL-8015 80 mm slim fans and a TL-C12CW 120 mm fan.
15:21: the spare fans in the drawer.
A black toolkit case on the wire shelf beside a keyboard, above the lab machines.
14:56: the toolkit, on the shelf beside the keyboard.
  1. 15:34–15:37: the space behind the card measured, for the thermal camera. The card's back is 89 mm from the CPU cooler's fins, and the card is 168 mm long, in slot position 5 of 7. aifoundry2's own frame is labelled mv-swpcie50. Every reading, and the rig drawn to scale: Friday thermal measurements (written Wed 14 Oct).

Should the lab get a better fan?

Yes, two Arctic P9 Max (92 mm, about $10 each), but not urgently. The card is safe at idle and in normal jobs now. There are two reasons to buy them. The SickleFlow is a quiet case fan with little pressure, and long full-load runs are where the margin is thin. And the remaining Pano-mounts fan is as old as its dust-caked twin and sits on a header Linux doesn't show: if it stops, nobody will know until the card runs away, which is how Wednesday and Thursday went.

Fan Air, pressure Verdict
Arctic P9 Max: 92 mm, 4,300 RPM, 4-pin 58 CFM, 6.2 mm H₂O Buy two and fit both
Pano-mounts, fitted: 92 mm, 3,000 RPM, 3-pin not published Old, dusty, no speed reading in Linux
SickleFlow 92, fitted: 92 mm, 2,300 RPM, 4-pin 40 CFM, 1.8 mm H₂O The slow one; keep as a spare
Thermalright TL-8015, in the drawer: 80 × 15 mm slim, 2,200 RPM 28 CFM, 1.25 mm H₂O Don't use here: weaker, and too small for the bracket
Noctua NF-F12 industrialPPC-3000, on order: 120 mm, 3,000 RPM 110 CFM, 7.6 mm H₂O Doesn't fit the bracket; the spare for 120 mm card fans

And these, which cost nothing:

What isn't known

Sources and method
  • Card readings: the live collectors on aifoundry2 and aifoundry3 (~/live/history/2026-10-08.jsonl and 2026-10-09.jsonl). "Die" is the mean of the 34 minion-shire sensors, read every 5 s.
  • Tests: on aifoundry2 in ~/claude/work/aifoundry2-fanswap-1009/: burn.sh, run-long.sh (calls tools/ettelem/run_horace_long.sh with 80 84 90 900 18600 180), their logs, and long-1009/telemetry.jsonl (10 Hz). They are the 6 October copies (~/claude/work/aifoundry2-fanfix-1006/) with only the folder changed. aifoundry1's 2 October runs are in docs/reports/data/2026-10-02-fan-fix-aifoundry1/ in et-soc1-prototyping.
  • Fans: sensors it87952-isa-0b10 as root on both hosts, at 15:34. ettelem sample at 15:35:59 (aifoundry2) and 15:36:10 (aifoundry3).
  • The margin model: a one-node steady state with the leakage law fitted on 7 October (P = 14.39 + 1.836·e^(0.0308·T) W, 18,414 idle readings). The cooling is the slope between today's idle and full-load plateaus. The tipping point is where the law's slope times the cooling reaches 1.
  • Roman's readings: #community-lab, Thu 8 Oct 15:08 and 15:13.
  • Fan specifications: Arctic P9 Max, Cooler Master SickleFlow 92, Thermalright TL-8015 listing, Noctua NF-F12 industrialPPC-3000, and the Pano-mounts fan's own label (no specification sheet found). The P9 Max's price is a retailer listing, not checked on Amazon.

For total life satisfaction: the lab's fourth card is usable again, after an afternoon with a screwdriver and a fan from the shelf, and the numbers say how much room it has.