I thought I would post a few images on the progress on my mini AI cluster following along with the the great work from @forest_johnson , @kyuz0 and folks like Jeff Geerling. I want to eventually build an automation agent(s) for my home which is already heavily digitized but not automated if that makes sense (Lutron / Crestron / Luma CCTV and so on). I would also like to run local coding models, image generation models and perhaps even open claw
I will have 2 mini racks for a total of 4 framework desktops. I also day to day use a MinisForum MS-S1 desktop which could feature somehow in the chain.
So far I have only completed the hardware build and the OS install. Still loads to do including getting those intel E810-CQDA2 cards working with a MikroTik CRS812-DDQ switch.
I have done quite a bit of 3D printing to make this look nice. Credit where credit is due …
The intel card fan shroud is from Donato Capitella (Thanks!)
I created a custom front for the rack support tray, a custom intel card support. Some nice labels and support / holder for PSU and the GL-iNet Comet Pros I am using (the racks will eventually live in the basement and don’t want to keep trekking down there).
I need to use PCI x4 risers for the intel cards Amazon.co.uk and also extensions for the PSU cables (standard 30cm extensions).
The switch hanging off the side is a NICGIGA 10Gbps from Amazon.
Thought I would make some notes here. I am using a Fedora 43 install ISO but it comes with a 6.17 kernel not the needed 6.18. Quite a pain to work out how to get it safely upgraded given its an old kernel now!
The older 43 version and locked kernel are for compatibility with the STRIX halo toolboxes in cluster mode. I have the cluster in its own dedicated VLAN so it’s separated from my other machines.
I guess we probably need @kyuz0 to comment as I am following his instructions here.
I totally hear you about staying up to date and the benefits but at the same time the danger is I bork something that is working nicely for me and I then need to go through hours and hours of work to get it back
Looks very exciting Chris. What’s the hardware spec per node? Dare you share your total spend on the project so far?
I’ve a thread hereabouts on coding models on the Desktop. I’m given to believe that one cannot split a single code requirement across multiple nodes, since AI inference is largely a highly serialised problem, and for performance one has to scale upwards, not outwards.
But I’m also learning about agentic development, where each agent is given a small piece to complete independently of the others. This approach apparently requires conflict detection, where one agent backs off, or waits until the other is done and commits. Are you looking to do something like this? (I think this is what JetBrains Air is trying to achieve, though their product seems to only work with cloud models for now).
Its the 128mb mainboard so I guess those are around £3k with PSU and an SSD. I have four. Also figure another £1k for KVM and switches. Oh and a couple of racks
I haven’t completely decided which models to run but with this setup I am able to run the larger parameter ones if needed up to around 500gb of ram! More likley I will run a few different models.
Phew, that’s a stack of cash! Maybe you’re having too much fun with this particular arch, but your budget would have bought a decent PC plus a 80GB Nvidia GPU card, which I assume would fit very capable models, and run them some 10x faster.
I acknowledge though that if one likes the Framework philosophy, and one also likes to tinker for its own sake, that there is much value in your direction.
Oh and just noticed your slow network comment - my network ain’t that slow 100gig cards 5 micro second latency. Obviously there is faster out there but this is definitely not a slouch.
Oh yes, that’s impressive, no doubt about it. My comment was more aimed at how computation problems might be parallelised given the underlying hardware characteristics; any software that splits a problem will incur a processing latency between nodes compared to keeping things on the same node.