This is the first post in a series of posts about blockchain mining, economics, IoT and more. This post will focus specifically on the mechanics of building a GPU mining rig optimized for mining blocks on blockchains that are optimized for GPU calculations.
So what exactly is a GPU mining rig?
A mining rig is a continuation of the mining metaphor to describe nothing more than a computer that’s sole purpose is to send work to and receive work from GPUs. Because it’s just a computer, it requires typical computer components like: - a motherboard to connect all the I/O together - a CPU to handle the central processing and task divvying - on-board application memory - a power supply - a persistence store (SSD) to hold the operating system
Ultimately, a computer needs no other parts. The parts that make this computer more than a simply custom-built desktop are the number of GPUs. Typical gaming computers will have two, for lack of a better term, load balanced GPUs that will do all of the calculations responsible for rendering graphics on a 2D monitor or in a VR headset. GPUs have their own set of computer power and memory separate from what’s running your operating system. GPUs interface with the rest of a computer system through I/O like PCIe connections. The only thing you really need to know about PCIe for this purpose is that it comes in different sizes which dictate how many I/O communication lanes it has to the rest of the computer system. For a video game, it’s essential to have as many parallel lanes as possible to maximize the graphics input and output from the GPUs and the CPU. However, for mining applications, the GPUs are doing all the work, and the interface with the rest of the computer system is simple and low bandwidth. Why does this matter? because PCIe x1 is the minimum interface lane you need to run 1 GPU which typically has a plug interface that expects a PCIe x16 slot. Here in-lies one of the only real “custom” hardware components of a GPU mining rig: the GPU riser.
What is a GPU Riser?
It’s simply an extension of a PCIe interface. First, understand that all PCIe x16 slots can take a PCIe x1 plug. It just uses the first lane of the 16 available. Most off-the-shelf motherboards that are full ATX size will contain 2 PCIe x16 slots and then a myriad of PCIe x1 slots for other peripherals. We’ll use GPU risers to plug the PCIe x1 plug into all available PCIe slots on a motherboard and the interface that it will extend for the graphics card is a x16 form factor slot for the GPU to plug in to. The other benefit here is that GPU risers allow us to move GPUs physically away from the motherboard for solving other physics issues like spacial constraints, heat, and extra power.
Ok, I understand the concept. What do I need to build one?
Here is a simple list I’ve compiled of what (in my opinion) are some of the best components for building stable, effective, scalable mining operations.
First, the BOM (bill of materials, all links are to Amazon.com):
- Motherboard: GA-990FXA-UD3
- CPU: AMD FX4300
- Memory: Kingston HyperX FURY 4GB 1600MHz DDR3
- Power Supply: EVGA SuperNOVA 1300 G2
- GPU Risers (purchase 6 or 8 to have spares): Custom Built
- GPUs (purchase 6 for max stable capacity): RX 480 or RX 580
- Power Button: It looks a bit cheesy, but in person, it’s actually really awesome. A luxury, but worth it
- Rig case (optional): gpushack.com makes the best one I’ve tested
- SSD w/ ethOS: ethOS 32GB SSD
Alright, so here are some notes on the hardware links I’ve provided. First, I’ve tested LOTS of different combinations of hardware and processor/on-board chip architectures and the ones I’ve linked have been the most stable. I highly recommend mining with AMD GPUs like I’ve linked. I linked both RX 480s and RX 580s. The RX 580s have just come out as of writing this post.
I haven’t done a bunch of testing with them yet See Footnote1, but I do have one rig with 6 of these. The RX 480s have been incredibly stable and I’ve had great hashing-to-power performance with them. The RX 580s aren’t very different than the 480 architecture, but they do may consume slightly less energy, which also means less heat. Both equate to higher profitability. That said, you may be able to get RX 480s for better prices now that 580s have officially launched. It’s also worth noting that I run a combination of 4GB and 8GB graphics cards. Currently, Ethereum has a concept called the DAG. The DAG size is a growing memory-hard problem for Ethereum. The current size of the DAG as of this writing exceeds 3GB and is therefore not very efficient on sub-4GB graphics cards. Additionally, it’s well noted in the interwebs that we’re soon approaching the end-of-life capability of 4GB graphics cards for mining Ether. Now, that said, I’ve had no problems with my 4GB cards and they’re slightly less expensive. Additionally, the mining rigs we’re building with this equipment is multi-currency capable. So, while I’m focusing this post on Ethereum, I’ve had great success mining Monero as well, which has different memory constraints.
Additionally, you can definitely get a cheaper CPU and DDR3 memory than I run, but I’ve had very good luck with what I have and it’s capable of doing more than mere mining, which is the whole point of consumer hardware: Don’t over-specialize.
Here is a picture of the equipment I posted links to above without the GPUs and risers installed in a case:
What is ethOS?
So, like I mentioned earlier, you do need an OS to run your mining applications and interface with the GPUs. Windows is actually quite good at this and many people have success running Windows mining rigs. However, I can’t say enough good things about ethOS. It’s the best mining-specific operating system I’ve ever seen. It has a vibrant community and continually improves with an active developer team. It is not a free OS, it is does require a license, but the license is very inexpensive compared to the returns on the mining equipment and worth spending to avoid the headaches of trying to stabilize a rig or learn all the lessons ethOS has built into it’s OS by yourself. Additionally, ethosdistro provides a nicely consumable JSON HTTP API that we’ll consume later as we build a monitoring process with Initial State.
Last point here is that ethOS can run on a small SSD and gpushack provides an SSD of the perfect size with ethOS pre-installed ready to go for $39. I’ll re-iterate again, it’s worth it.
What is Initial State?
Initial State is a hosted data visualization and analytics platform offered as a service to its customers. Signing up is super easy, and for a very reasonable fee, you can use it to capture all of the data produced by a farm of rigs for visualizations, triggers and analytics all in real-time.
What is Coinbase?
Coinbase is a hosted wallet service provider. Cryptocurrencies are stored with wallets to enable a bearer concept. This bearer concept is an important and distinct function of blockchain cryptocurrencies. Bearer tokens take care of the spend-ability of currency, ensuring that currency isn’t double-spent or overspent. Coinbase provides most secure (included in this definition is convenience) way to store and access your cryptocurrency wallets. Wallets have two addresses, the public address that goes on to the blockchain, and the private address that’s used to sign transactions. The public address can be used as the address to send coins to as well as the verification mechanism to ensure that coins could be spent. Keeping your private key private is the MOST IMPORTANT thing you could do, so choosing a wallet provider is an important consideration and Coinbase is certainly the best at the time of writing in my opinion.
Note: If you don’t have a Coinbase account, make sure you sign up using this link. Once you’ve done $100 of transactions on your account, you’ll receive $10 worth of BTC to your BTC Wallet just for following the referral link.
Is this all the equipment I need?
Practically, yes. You may need to pick up a keyboard and portable monitor if you don’t have one, but you don’t have to. You can use some spares or even set things up remotely. It’s up to you and your comfort level. While building and scaling, I purchased these products to aid and I share them with all my different rigs:
- Portable Display: Similar to this GeChic
- Keyboard: Amazon Basics Keyboard or Amazon Basics Keyboard + Mouse
You’ll also find that there is some additional infrastructure equipment you’ll need as you scale your operation up should you choose. But, like I said, you can get by with the first BOM list above.
- I’ve now fully launched and tested RX 580s manufactured by MSI and I cannot say that I recommend them. I get way better performance and efficiency from RX 480s currently. [return]