Some of you, like me, are probably hardware fanatics. There is a special appeal to you of having a tower sitting on a desk or a server on a rack. However, hardware can be expensive, and with prices sitting at less than a few dollars per hour for cloud-based workstations that are as powerful as computers costing over $5K! It seems too good to be true, until you realize that these instances come with all kinds of little extra fees here and there until it suddenly doesn't seem so cheap when you get the monthly bill.
That all-access connectivity? Well, if you know what to do you can get that for free, all you need is a little bit of advanced knowledge of networking and your choice OS, and you can host your own VPN using OpenVPN and a free DNS from a service such as duckdns.org. You can run this on your server or you can use basically any PC (ideally with an Ethernet port) to be your VPN server, and once this is running, you can remotely access the local networks of anything on the VPN by using the devices as jump servers, something incredibly powerful, in addition to directly connecting to the VPN's connected devices. Alternatively, if you have a router that supports it, you can have your router host the VPN. Once the server is running, OpenVPN provides useful instructions to get your clients up and running. Next, you'll need some hardware, and for this, you'll want a GPU with more than 6GB of memory, a CPU with eight to twelve cores, and at bare minimum 8GB of system RAM (at least as much as your GPU has). You don't have to boot from an SSD, but those are always nice. What matters more though, is storage volume. You don't want to run out of storage volume for datasets. This isn't a huge deal though, as 1TB+ can cost as little as $30. You also want at least a 750W 80+ Bronze power supply, as you want to be able to comfortably install a high-end GPU, or two GPUs of lesser power draw. 1000W or above would be best, but as long as you have sufficient power to run your GPUs with about 20% extra power (for safety) then you should be fine. You should choose a motherboard with at least 2 PCIe slots, possibly more, and your case should have good enough cooling to keep however many GPUs you plan on running cool. This is the precise reason I like full tower cases, they have plenty of ventilation thanks to their large fans and high volume. For reference, Firebolt, my trusty rig, packs an Nvidia 2080 Super, an AMD Ryzen 7 3800X, 32GB of DDR4-3266 CL16, a 2TB HDD booting Ubuntu 20.04 LTS, and a 750W EVGA SuperNova 80+ Gold PSU, all inside a Corsair 760T full tower with 3 140mm fans. Ah, GPUs, these are the most important part of your build. Nvidia GPUs are your best option, as they support CUDA and recent models have Tensor cores to accelerate half-precision computation. AMD GPUs are an option, but their compute libraries are not as efficient as CUDA. The Radeon VII is likely your best AMD option, but Polaris GPUs, Vega GPUs, and GCN GPUs are also good if they have enough memory. You likely want to avoid RDNA GPUs because they don't support ROCm, AMD's open source project for accelerated compute. ROCm comes with lots of libraries for accelerated compute and supports Nvidia GPUs as well as many AMD GPUs. There are alternatives, such as PlaidML and DirectML, but stepping back, it is really much easier to just buy an Nvidia GPU. Titan GPUs or xx90 GPUs (Titan RTX, RTX 3090) are usually excellent choices, but unless you are running massive models, a cheaper xx80 or xx80 ti (RTX 2080, RTX 2080 ti, RTX 3080) GPU is an excellent choice as they are usually less than half the cost, nearly as fast, and only really sacrifice VRAM capacity. A bonus of their cheaper price is you can upgrade twice as often for about the same total cost, if not less. Once you have your build and your VPN ready, you can connect both the rig and your laptop to the VPN. Now, after configuring an SSH server on the rig, you will be able to access it from anywhere you can connect to the VPN. There you have it! You now have a high level knowledge on how you could get your own compute resource up an running, freeing you from cloud providers' contraints.
0 Comments
|
DanielI'm a software engineer, volunteer IT support, amateur blogger, casual gamer, and tech enthusiast. I also love cars and the great outdoors. Archives
May 2021
Categories |