Hi everyone, so I’m thinking of upgrading my compute situation a bit. I have a ratty old desktop, a laptop, and a decent GPU laying around.
What I want is for my main driver, my laptop, to offload on prem. compute to a GPU. What I can’t decide is if buying one of those really expensive eGPU enclosures is worthwhile or not. It seems like a barebones headless linux box could be built for the same cost as an eGPU enclosure…
There are pros and cons to both approaches…
eGPU:
Pros: small/portable
Pros: no power draw unless it’s in use.
Con: limited via thunderbolt, or weird connections. Some people rip open their laptop cases having ribbon cables sticking out… Eek?
Con: expensive…
Simple Computer:
Pro: is a second computer.
Pro: can be upgraded/slapped together with some parts already laying around or as hardware improves.
Pro: no wires to laptop. Could remote in from anywhere.
Con: ferrying data back and forth, remote access, etc. Nuissance.
Con: Cheaping out on CPU/RAM etc can/will bottleneck a GPU.
Anyone else been in a similar spot, what did you decide?
I think that this point can be solved by adopting a reproducible work-flow, which brings many additional benefits. Albeit it does cause some more work. With reproducible work-flow, I mean: that the scripts are on git, so you can easily get them, with Julia’s package managment it’s easy to get all deps installed; the scripts have to automatically download all needed data; all produced data end-products could also be uploaded to a specific place. This way it does not matter where the script runs.
I am not sure I fully understand the context (why these two choices? why not cloud, or a server with a GPU card, etc), but given the above two alternatives, the primary consideration should be whether you actually do calculations on a GPU.
As suggested by @mauro3, it is good to be organized about your workflow in any case, but that may be an orthogonal issue.
I use a Razer Core X and it works pretty well. Lots of laptops have a thunderbolt port, just get one like that. I also have a desktop, and would recommend a desktop any day over a laptop setup if you’re using it often enough. There’s just a lot of nice advantages.
@mauro3 - Agreed. Remote work isn’t bad or anything, but it’s just another layer of complexity which takes away from the thing I want to be doing.
@Tamas_Papp - So I like on premises for 3 reasons. 1) security 2) control 3) I already own the GPU :). I do perform calculations on the GPU when it’s available. I’d say 1/5th of the projects I work on for fun benefit from GPU compute.
Server with a GPU card is another option - but, servers are expensive for hobby/home stuff. That said - a headless computer with a GPU card is effectively a server for a single user.
@ChrisRackauckas - the laptop I’m using does have a thunderbolt that’s why I’m in this position hehehe. I think you’re right and I am learning toward going the desktop route and switching my at home work station around. I’m moving soon, so if I plan ahead it could make sense to make the laptop a secondary thing.
That’s true in the sense that the economies of clouds are crowding out a lot of uses for home servers, but OTOH good hardware got so cheap that if you prefer on-premises flexibility, it is also affordable.
It makes more sense economically if you end up using it for other things (first level backups, your own Nextcloud and Gitlab instances, DLNA server). I recently built one with 64GB ECC RAM and a Ryzen 3600, running a ZFS mirror pool of HDDs and SSDs, for less than 1k EUR.
(That said maybe I am weird because I think of having a home server as a basic household applicance, like a washing machine — of course realizing that neither makes sense in some circumstances, especially if shared services are convenient).
Now that you mention it. Setting up a NAS, having a private github instance, etc… Does sound - well, awesome. Never heard of ZFS or DLNA but after googling them, it does make me want those too.
@lulian.cioarca This looks very interesting. I’ll try to see if I can find a reseller somewhere. Does it just use typical SATA power supply cables to power the card? Or does it expect your card to plug into a wall outlet?
The adapter has multiple connectors: the 8pin pcie, the full motherboard connector and I think it also has a 6 pin one, so most of the power supplies will work. Of course, if the gpu is power hungry and it has pcie connectors on top you need to make sure your power supply has enough pcie connectors. My rig uses the motherboard connector for the adapter and two pcie 8 pin on top of the gpu.
For some time I had it running on a 12v 400w LED power supply on which I connected the necessary cables, since I already had it lying around and it was cheaper than dedicated pc psu:))). Just make sure it has overcurrent/overtemp protection and the thermal grease is applied properly.
I got an eGPU for my 2017 MBP, but found myself not using it very much thanks to Apple’s decision to restrict GPU support to AMD-only. There’s ongoing development of Julia’s AMD GPU ecosystem, but it’s just not as mature as the CUDAverse. You wouldn’t run into the same issue with a Windows/Linux machine, of course.
My new machine is an Asus Zephyrus G14 running Windows, and the Ryzen2 4900 CPU and Nvidia RTX 2060 GPU provide desktop-ish performance in a small, portable form factor. I’ve found there’s a real benefit to having the hardware all in one package instead of connected by a TB3 umbilical or SSH: you can do actual computational work from anywhere you want to (patio? hammock?), without having to worry about spotty internet connections or lugging around the mini-desktop-sized eGPU. I’ve been really happy with pretty much every aspect of the machine (once I learned to look past the gamer-lite aesthetics). If you can find a similar laptop with Ryzen2/RTX 2xxx/3xxx components, I’d recommend that over an eGPU.