Hardware Development at CryptoScythe
January 3, 2018
CryptoScythe v0.4 Mining Rig: 11 RX 570 Mining Rig Complete
The completed CryptoScythe v0.4 mining rig ended up with eleven RX 570s and a sustained hashrate of 318 Mh/s using Claymore 10 to mine Ethereum. I was able to acquire 11 GPUs of only two different make/model. Even though I purchased them at the same time from the same store, there was a variety of memory vendors within both batches. This meant I had to edit a unique BIOS not only for each card model, but also for each memory vendor inside those cards. The Powercolor Red Dragon RX 570 4GB OC cards each had dual memory vendors and the batch of them had three different combinations. There was one card with Elpida as the first and Hynix the second memory vendor. A second combination had Hynix as the first and Elpida as the second memory vendor. A third combination had Samsung as the first with Hynix as the second memory vendor.
I pulled all three unique firmwares from the GPUs using ATIwinFlash while using GPU-Z to identify the memory vendors. I discovered that it is important to reboot after changing cards. Otherwise, GPU-Z will still report the memory vendor from the previously installed GPU. I edited each BIOS to tighten memory straps and set the core clocks to default to 1100 Mhz and the memory clocks to 2000 Mhz. This is basically all that needs done to pretty much guarantee an elevated hashrate (at least for Ethash algo mining) with no risk for memory errors. In addition to these modifications, I also set the temperature targets to keep the cards around 63 degrees Celsius while undervolting the core mildly; from 1025 mV to 987 mV. This brought the wattage used by each card down from 110-120 watts with the stock BIOS to well under 100 watts under full mining load. This also ensures that the fans do not need to spin very fast to keep the cards at their target temperature of 63 degrees.
The MSI RX 570 Armor 4GB OC GPUs that I used the most of received the same treatment when pulling, editing and flashing their BIOS. Two different memory vendor combinations were encountered among this batch of 8 cards; Samsung with Hynix as the secondary and Hynix with Elpida as the secondary. Both the MSI and Powercolor cards responded equally well to their customized firmware and each card mines Ethash at between 28.5 and 29.5 Mh/s which is a huge increase over the 21-25 Mh/s achieved by the Stock BIOS.
December 23, 2017
CryptoScythe v0.4 Mining Rig: 7 GPUs and just getting started!
The CryptoScythe v0.4 promises to be the most intense mining machine I've built yet. Up to this point, each prototype was built on top of a motherboard designed for high-end computer gaming; the ASUS Prime Z270-AR. Through adjustments made in one particular revision of the BIOS (though not the latest version) it was possible to unlock all seven PCI slots, and at least one of the M2 slots harnessing at least 8 GPUs with the use of an M2 -> PCI converter. This time I did not find one of these on the shelf, but instead found one of the new ASUS B250 Mining Expert motherboards.
With 19 PCI slots to work with, I am no longer limited by hardware in the number of graphics cards I can connect to a single motherboard. The limit is instead going to be dictated by software. The Windows operating system, which I have heard will support more than 8 GPUs with the Fall Creator's Update, was necessary to at least start this build. The BIOS flashing tools I use to change the firmware on the graphics cards only work on Windows. I also have heard that drivers pose another barrier to the number of GPUs that can operate on a single system. I have been told that Linux operating systems do not pose the same limit experienced on Windows, yet drivers may still block my ability to use all 19 of these PCI slots.
I added a little more length to the open air frame I built for this prototype. I am able to cut three 81cm sections from an 8' stick of aluminum square tube stock with no waste. This was the determining factor when choosing an appropriate length to hold a large population of graphics cards. Previous builds were between 19 and 15 centimeters shorter than this frame. I should be able to maintain a reasonable distance between each card and still pass enough air between them to keep them cool with 11 or 12 cards, theoretically.
For the first batch of GPUs, I was able to find 7 new identical-looking Powercolor Red Dragon RX 570 4GB graphics cards locked up on the shelf. Rarest of all, there was no limit on the number I could purchase, so I took them all. Both I and the sales person assumed that all 7 cards probably had memory from the same vendor. I am so glad I checked before flashing them though. It turns out that among 7 cards I had 3 different memory vendors; Samsung, Hynix and Elpida. Thankfully I was able to find great memory straps for each of the three vendors and flash the cards with edited firmware unique to each vendor. Between the custom BIOS in each card and the AMD Blockchain driver, these seven RX 570s are hashing for a combined 209-210 Mh/s mining Ethereum, averaging about 30 Mh/s per GPU.
After the first 24 hours, everything is still running strong and stable. I am a little ashamed to admit that I have not even installed HWinfo yet to monitor the hardware in an advanced manner. Hopefully there are not stacks of memory errors piling up on any of the GPUs, but I imagine I will notice a breakdown in stability should that happen. I will definitely have to check that out in the next day or two, but in the mean time, I am keeping my eyes peeled for more of these Powercolor Red Dragon RX 570s. These cards appear to provide hashing power identical to GTX 1070s, at least when mining Ethash alt coins like Ethereum.
November 4, 2017
CryptoScythe v0.3 seven GPU Nvidia mining prototype
Knowing that the ASUS Prime Z270-AR motherboard's seven PCI slots could all work together in harmony, at least with the version 0906 BIOS, I decided to fill them all with seven overclocked ROG Strix GTX 1070s. I did try again to get multiple cards working with the latest motherboard BIOS at the moment, version 1009, but with no luck beyond 4 GPUs again.
I was able to use the same design from the v0.2's aluminum and PLA composite open air frame with slight modifications. To increase air space between cards I added 2cm to the width bringing it to 67 cm. To level the GPUs out a little as they set in their risers, I added 0.5cm to the height of the frame which I makes it 35.5 cm tall.
Here is the list of components in the CryptoScythe v0.3:
- OS: Windows 10
- MoBo: ASUS PRIME Z270-AR
- CPU: Intel Celeron G3930 Kaby Lake 2.9 GHz
- HDD: Kingston A400 120GB SATA III 2.5" SSD
- RAM: GeIL 8GB 2 x 4GB DDR4-2400
- PSUs: (2) EVGA SuperNova 750 Watt 80 Plus Platinum
- GPUs: (7) ASUS ROG Strix GTX 1070 O8G
- Risers: (7) Rev 006c
- Chassis Fans: (3) 200mm ~130 CFM Green LED Fans
- Case: Custom composite aluminum tube & 3D printed open-air case; 1" Aluminum square tube, PLA & Epoxy
September 26, 2017
CryptoScythe v0.2 7-GPU AMD Mining Prototype COMPLETED
I began assembling this rig at the end of August with the goal of having it all done by the end of September. The graphics cards I had intended to base this rig on proved too scarce to source by my self-imposed deadline. I wanted to have this thing mining Ethereum before the Metropolis fork's block reward drop and the push-back of the difficulty bombs. I had to improvise and I saw it as an opportunity to broaden my research into the challenges of working with these AMD cards. I decided to mix cards.
The decision to mix cards was not made lightly. The build adittedly loses a degree of aesthetic polish as far as appearance goes. That was a sacrifice I was going to have to make for now as the ROG Strix RX 580 O8G cards to match the first three were continually pushed back as backordered items and otherwise unavailable at any reasonable price. There is always a chance that further down the road I will have an opportunity to complete a matching set, or two, of AMD GPUs on a 7-card rig. I am embracing the mixing though. I did insist on using nothing but cards with 8 GB of memory, to ensure that future mining opportunities are not limited by requirements exceeding four gigabytes of GPU memory.
Three more RX 580s and an RX 470 were used to fill out the ASUS Prime Z270-AR's seven PCI slots. MSI's Gaming X series seemed to be the highest performing 8 GB GPUs I could find at their price point. In scouring the internet for other GPU mining research, I discovered that the mining performance is not all that different between the RX 580s and RX 570s. This was not ground-breaking news to me as my experience with GTX 1070s and 1080s was that while the 1080s generally mine faster, 1070s are faster on the Ethash algorithm. What I did find surprising was that the difference between the RX 5xx generation and the RX 4xx generation of AMD cards was virtually non-existent. This revelation seemed to offer potential for an even more economical multi-GPU mining rig with nearly the same performance. To test this notion, I picked up the most economical option I could in the form of an MSI Armor RX 470 OC with 8GB of memory. Like I said, I do not want the card limited by the amount of memory it has in the future should any altcoin require a 4+ GB DAG or header of some kind. Here is the completed list of components forming the CryptoScythe v0.2 Mining Prototype:
- OS: Windows 10
- MoBo: ASUS PRIME Z270-AR
- CPU: Intel Celeron G3930 Kaby Lake 2.9 GHz
- HDD: Kingston A400 120GB SATA III 2.5" SSD
- RAM: GeIL 8GB 2 x 4GB DDR4-2400
- PSUs: EVGA SuperNova 750 Watt 80 Plus Platinum
- EVGA SuperNova 850 Watt 80 Plus Platinum
- GPUs: (3) ASUS Strix RX 580 O8G
- (3) MSI Gaming X RX 580 8G
- (1) MSI Armor RX 470 8G OC
- Risers: (7) Ubit Rev 006c
- Case: Custom Aluminum Square Tube open-air case with 3D Printed Components
Of course, hashrates like that are not achievable with the stock settings, or even the stock firmware on the GPUs. I had to custom edit and flash the BIOS for each card to tighten memory straps, adjust fan behavior and hard-set the core clock and memory clock speeds and voltages. The video below posted earlier demonstrates the basic process of copying and pasting a lower strap in at a higher frequency. This will usually increase performance in many AMD RX 4xx and 5xx series GPUs. It is a very ham-fisted way of approaching GPU BIOS editing though. To get consistenty better performance without accumulating memory errors requires edited straps that have been decoded and rewritten with hex editing. I was able to find edited straps for each variety of GPU I incorporated into the build, but getting the system ironed out to work with them all took some trial and error. I will have to go into greater detail when I get more time though. I will expand on the tuning and BIOS editing soon though as that is such a crucial part of GPU mining with AMD cards. It is much less worthwhile otherwise.
August 25, 2017
CryptoScythe v0.2 AMD GPU Mining Prototype
Here is the current list of components:
- OS: Windows 10
- MoBo: ASUS PRIME Z270-AR
- CPU: Intel Celeron G3930 Kaby Lake 2.9 GHz
- HDD: Kingston A400 120GB SATA III 2.5" SSD
- RAM: GeIL 8GB 2 x 4GB DDR4-2400
- PSU: EVGA SuperNova 750 Watt 80 Plus Platinum
- GPUs: (3) ASUS Strix RX 580 8GB O8G
- Risers: (3) Rev 006c
- Case: Custom composite aluminum tube & 3D printed open-air case; 1" Aluminum square tube, PLA & Epoxy
After flashing the BIOS in each card to copy the 1750Mhz memory straps to the 2000Mhz line and homing in on a stable suite of settings in Wattman, the three cards are combining for 87 Mh/s mining Ethereum or Expanse with Claymore. It took some work to iron out memory errors I was getting causing fluctuating hashrates. Once I installed HWiNFO I was able to isolate the problem. The third GPU was being allowed to operate within a range of core clock speeds instead of the one I designated in Wattman. The first reboot I performed after finding the problem magically corrected the fluctuations. Such are the joys of working with Radeons and their drivers. Add to the tribulations, their overbearing GPU controller software (Wattman) that kills all other GPU controllers like Trixx, Afterburner and even GPU Tweak in an all ASUS environment. Wattman seems to offer more curve controls which would be nice if I was gaming, but is just a nuisance for mining. I tried setting the clocks and core voltage in a Claymore .bat file when I was trying to find the source of my fluctuating hashrates, and Wattman just overrode whatever values Claymore tried to set. I just had to embrace Wattman to conquer it...
CryptoScythe v0.1 multi-gpu cryptocurrency miner
- Update August 9, 2017
Here are the finished specs for the CryptoScythe v0.1 6-GPU Nvidia Mining Prototype:
- OS: Windows 10
- MoBo: ASUS PRIME Z270-AR
- CPU: Intel Celeron G3930 Kaby Lake 2.9 GHz
- HDD: Kingston A400 240GB SATA III 2.5" SSD
- RAM: GeIL 8GB 2 x 4GB DDR4-2400
- PSUs: EVGA SuperNova 1000 Watt 80 Plus Platinum +
- EVGA SuperNova 650 Watt 80 Plus Platinum (via Add2PSU jumper)
- GPUs: (6) ASUS GeForce Strix GTX 1070
- Risers: (6) Rev 006c
- Cooling: (3) Thermaltake Pure Series 20 - Blue LED 200mm High Airflow Fans
- Adafruit Mini LED Arcade Button
- Case: Custom 3D printed open-air case; PLA & Epoxy
- Update July 29, 2017
The sixth and final GPU is installed in the first CryptoScythe prototype mining rig. All 6 GPUs are working great. I will add pictures and more video of the machine soon as I still need to properly mount the second PSU.
With 6 GPUs, I have a balanced set of 3 regular ROG Strix 1070s and 3 that are factory overclocked (8G vs O8G in model number). At stock settings, the factory overclocked 1070s outperform the regular cards. When manually overclocking the GPUs, you have greater range to work with in the in the non-overclocked cards. The O8G overclocked 1070s cost a little more than the 8G 1070s. I'll have to report later on variations of underclocking and overclocking recipes to see which provide the highest hashrates and which provide the most hashrate/watt. Stay tuned for that, and until then; while the research here is going to focus on cryptocurrencies tied to their own trade ecosystems like Siacoin, LBRY and Musicoin, there are some very popular coins I'd like to also be able to at least provide test results for. Eventually I will have to do some research and benchmarking for Ethereum mining. This week I thought I would spend a little time testing the fully functional CryptoScythe prototype GPU miner out on a little Zcash (ZEC) mining. Below, you can see some video from the first run mining Zcash.