There’s a tower next to my desk that I put together myself. It normally runs with two of its glass panels off and leaning against the wall behind it, which is worth six or seven degrees. It looks like something caught halfway through a repair. That’s the normal operating state.

Eleven at night, and the only cost is a warm room
Here’s the thing that actually changed.
It’s eleven at night and I want to rerun a pretraining config with a different vocabulary size. Nothing rides on it. I’m curious about the shape of the loss curve, that’s all.
Before I had this machine, that thought came with a second half attached. Price the instance, work out how many hours it needs, then decide whether a shrug-shaped answer is worth the money. Usually I went to bed instead.
A rented GPU bills by the hour whether the run is any good or not. So the sweep gets narrower, the sequence length comes down, the checkpoint interval goes up, and you talk yourself into believing the cheap version of the experiment answers the same question as the expensive one. It usually doesn’t. Worse, a meter running in the background makes you want the run to finish, because finishing is what stops the charge. A machine in the corner of the room has no opinion about how long anything takes. The runs that need two days get two days, and I stopped quietly biasing my own work toward whatever converged fastest.
I run far more things that don’t work now. That’s the point. The things that don’t work are where most of the learning is.
Someone will point out that spending £8,000 to save money makes no sense, and they’d be right. At the scale I run side projects, that money rents enough GPU hours to last years. The arithmetic doesn’t favour buying and I’m not going to pretend it does. But don’t underestimate the psychological half of it: paying once != paying every time you’re curious, and only one of those quietly edits what you’re willing to try.
That isn’t the only reason either.
Three reasons
I wanted to understand the hardware properly. I wanted a machine I could run my own projects on without first pricing out what a rented GPU would cost me for an evening of something that might not pan out, so that the stupid experiments, which are the ones I learn most from, are free. And I wanted to write CUDA kernels for machine learning workloads.
Two cards at home is a specific bet: that most of what I want to do fits in 64GB of VRAM and runs for days, not for a fortnight across a cluster. Renting still wins for a shape I can’t buy. Eight cards for a week and then nothing is a rental problem and always will be. Owning means depreciation whether the box is busy or not, and when a fan dies at 3am it’s my fan.
So the division of labour is simple. The small runs, the ones I’m experimenting with and learning from, stay on JDI. Yes, my PC has a name. Anything that needs to scale past two cards gets rented, and knowing where that line sits is itself something owning the machine taught me.
Writing CUDA kernels
That third reason is the one I’d put first. Until I built this, my mental model of a GPU stopped somewhere around the API surface and a memory number.
Kernel work is a compile, run, measure, throw-it-away loop, and it’s a terrible fit for rented hardware where the meter runs during the thinking as well as the computing. You need the machine free at the margin or you optimise the wrong thing, which is your own spend. Something small and fused, benchmarked honestly against whatever PyTorch already ships for the same op. I haven’t written it yet, and I expect the first attempt to lose badly.
A case that reviews well for gaming is not a case for a nine-hour run
The Lian Li O11D EVO XL is a good case. It’s also reviewed, almost everywhere, against a workload that has nothing to do with mine.
A review loads a machine hard for a few minutes, records a peak, and moves on. Games are bursty. There are menus and loading screens and the bit where you go and make tea. Training isn’t like that at all. Both cards sit near their limit for hours, the thermals settle into a steady state no benchmark run ever reaches, and the number that matters stops being the peak. It becomes whatever the machine has converged to at hour three. Nothing I read before buying measured that.
The two cards alone account for 1,175W at their power caps, one at 600W and the other at 575W. Add the CPU and it’s the thick end of 1,350W, essentially all of which comes back out as heat, into one room, in a London flat. The machine is a 1.3kW heater that occasionally trains a language model.
So I took the panels off and measured it properly.

Incidentally, there’s an LCD on the pump head, and I have Gohan going Super Saiyan on it. It seemed appropriate. He spends the whole scene screaming and drawing an absurd amount of power to do one specific thing, which is more or less the machine’s entire personality.

Same sustained BF16 matmul on both cards, four minutes of thermal soak, captured at steady state. Panels on: 81°C and 84°C. Panels off, identical load: 75°C and 77°C. Six degrees and seven degrees.
Power draw was pinned to the cap in both runs, 600W and 575W, so nothing was throttling and the comparison is clean.
The temperatures are the headline, but the fan speeds are the more interesting number. With the panels on, the second card’s fan sat at 82%. With them off, 62%. Twenty points less fan, to hold a temperature seven degrees lower, doing identical work. The sealed case wasn’t just running hotter. It was running hotter and spending more fan to get there, which is noise I have to sit next to and bearings I have to replace eventually.
I don’t think it’s a bad case. Two cards this size in a sealed glass box is a heat problem you probably can’t fan your way out of at this size. There’s something faintly ridiculous about buying a case sold on its airflow and then running it with half the enclosure on the floor, and I’d still make the same purchase.
This is the part renting never taught me. On a cloud instance, thermals are somebody else’s problem, expressed to me as a price per hour and occasionally as a clock speed I never see throttle. Here it’s my problem, and having to solve it taught me more about how hardware behaves under sustained load than any number of rented hours would have.
Power delivery is the one spec you get a single shot at
Everyone talks about the GPU. The component I ended up understanding properly was the boring grey box at the bottom.
It’s an MSI MEG Ai1600T PCIE5. 1600W, 80+ Titanium, up to 94% efficient. The specification that turned out to matter is the dull one: two native 12V-2x6 connectors, each rated to 600W. Native. Not an adapter, not two 8-pins bodged into a dongle, an actual cable running from the supply to the card with nothing in between.
I didn’t know what any of that meant when I started. I do now, because I had to choose it. The 12V-2x6 is a revision of the older 12VHPWR connector with shorter sense pins and slightly longer power pins, and the only reason that revision exists is that the previous one could melt when it wasn’t pushed all the way home. You can stay comfortably unaware of that right up until you’re the person plugging it in.
Two 5090s and the CPU want somewhere around 1,350W between them. The supply covers that with headroom and without an adapter anywhere in the loom.
That part wasn’t luck. I specced the supply already knowing I wanted two 5090s in this machine, which is why the connector count mattered to me as much as the wattage did. Get the wattage right and the connectors wrong and you’re back to adapters, on the one component where I least wanted a compromise.
None of which stopped me destroying one.
I had the supply running off a cheap extension lead instead of straight into the wall. There was a bang like a gunshot, the machine went dead, and the power supply was cooked. Everything else survived, which I put down to luck rather than anything I’d done. The replacement went directly into a wall socket and has stayed there. Roughly £500 to learn that the thing standing between a 1.3kW draw and the mains is not the place to improvise, and there is no version of this where I get to blame the hardware.
The generalisable bit: power delivery and connector count decide whether a machine can grow, and they’re the specs you can’t change later without pulling the whole build apart. Cores and memory you can argue about afterwards.
Buying compute by the hour, you never once think about a connector standard. That’s the trade. Somebody else takes on the physical layer and hands you a device string, and in exchange you stay slightly ignorant of what’s underneath it, forever.
The second card was a clearance problem before it was anything else
In the cloud, adding a GPU is an edit to a config file. Here it’s a question of clearance. Two cards that size don’t sit next to each other in a way that lets either of them breathe, so the second one goes somewhere else in the case entirely, which means a bracket to hold it, a second bracket to hold it at the right angle, and a cable long enough to reach the slot it’s no longer sitting in.
An upright mount, £20.00. A vertical mount, £78.71. A 40cm riser cable, £97.00. Ninety-seven pounds. For a cable. I checked the order twice. A Gen 5 riser has to hold impedance and shielding together at 32 GT/s per lane, and the cheap ones don’t fail by refusing to work. They fail by quietly downgrading your link or throwing artifacts, which is how £97 stops looking like a typo and starts looking merely expensive.
£195.71 in brackets and cable, to mount a card I already had.
I then broke the vertical mount getting the card into it. Too much force on a latch that didn’t want to move, on a day when I should probably have stopped and come back to it, and the lock snapped. What broke was a bracket rather than the card sitting in the bracket, which is the only reason I can tell that story lightly.
The case-specific build video I’d used for cable routing turned out to be just as useful for working out mounting points.
Five links did nearly all the planning
Almost all the specification work happened on PCPartPicker. You build the list, it tells you what’s incompatible, and it prices each part across vendors at the same time. Probably the best site there is for this. I looked at PCSpecialist as a sanity check and thought the pricing was high.
After that it was three videos: a general build guide, one for this exact case, and one for this exact motherboard. Someone assembling the specific board sitting in front of you beats any amount of general advice, because the thing you’re unsure about at 9pm is which of two nearly identical headers the front panel cable goes into.
Assembly is not too difficult, and I’d say that to anyone considering it. The parts are expensive enough to make you slow and careful, and slow and careful is the correct speed. Both of the things I broke, I broke by not being either.
What it costs
| Component | Model | Price |
|---|---|---|
| GPU | ASUS GeForce RTX 5090 32GB TUF Gaming OC | £2,639.10 |
| GPU | Zotac GeForce RTX 5090 32GB | £2,900.00 |
| RAM | G.Skill Trident Z5 Neo RGB 64GB (2x32GB) DDR5-6000 CL30 | £599.99 |
| PSU | MSI MEG Ai1600T PCIE5, 1600W | £507.00 |
| Motherboard | ASUS ProArt X870E-Creator WiFi | £494.99 |
| CPU | AMD Ryzen 9 9950X | £487.86 |
| Storage | Samsung 990 PRO 2TB | £228.30 |
| CPU cooler | Lian Li Galahad II LCD-SL 360 | £223.94 |
| Case | Lian Li O11D EVO XL | £198.94 |
| Fans | Lian Li UNI SL120 INF, 3x | £75.49 |
| Fans | Lian Li UNI SL120 INF, 3x | £75.49 |
| Fan | Lian Li UNI SL120 Reverse, 1x | £29.98 |
| Riser cable | 40cm, Gen 5 | £97.00 |
| GPU mount | Vertical | £78.71 |
| GPU mount | Upright | £20.00 |
| KVM switch | £89.99 | |
| Keyboard | £71.00 | |
| Total | £8,817.78 |
The two cards are £5,539.10 of that, a shade under 63%. That ratio is the honest summary of the whole exercise. It’s a pair of GPUs with a computer attached, and everything else in the table exists to feed them, cool them, or store what they produce.
Shopping around rather than buying a prebuilt saved £372.55 against list prices, about 6%, and almost all of it came off two lines: £180.89 on a graphics card and £92.99 on the power supply. If you’re doing this yourself, that’s the part worth copying. Watch the two or three most expensive lines and let the rest go. Hunting a fiver off a case is an evening you never get back.
The CPU is the part I thought least about and lean on most. Sixteen Zen 5 cores, 32 threads, and a 170W TDP, which is why £223.94 went on a 360mm AIO instead of a tower cooler. Tokenising and loading data is CPU work, and two 5090s are very good at sitting idle while a single thread chews through a preprocessing script.
References
Everything I actually used to plan and build this.
Picking the parts
- PCPartPicker UK. Compatibility checking and per-part pricing across vendors. This did most of the work.
- PCSpecialist. The same idea for a full prebuilt, useful as a price sanity check.
Building it
- General build guide. The one I’d point a first-time builder at.
- Lian Li O11D EVO XL build. This exact case. Worth watching twice, once for routing and once for mounting points.
- ASUS ProArt X870E-Creator walkthrough. This exact motherboard, which is what you want at the moment you’re staring at two nearly identical headers.
Background on the parts that surprised me
- Why 12V-2x6 connectors fail. The connector revision, and why full seating matters.
- 12VHPWR investigation. The longer version of the same story.
- Choosing a PCIe 5.0 riser. What the money buys at 32 GT/s per lane, and how the cheap ones fail.
The two parts worth reading up on before you buy
- AMD Ryzen 9 9950X specifications. Sixteen cores, 32 threads, and the 170W TDP that decides your cooler.
- MSI MEG Ai1600T PCIE5 review. An independent test of the supply, rather than the manufacturer’s own page.