Why FPGA will rule Cryptomining 2018 Evaluate the Chance To Jump Into the FPGA Train Now! – FPGA for Dummies
The Cryptomining market has been crazy this last year. As we talked about before, we came in last year wanting to get involved in mining. I read the articles and gathered the trade tested advice, which said buy an asic. It has more hashing power for the lowest possible power, less power makes more money. It all made sense, so I purchased an ASIC.
After purchasing it, I felt really well. There are still very good machines, but I soon realized that if the market goes down much or if other people buy a ton of ASICS on the algorithm (algo) that your profitability will decrease as the difficulty increases. So what other options do you have? Pretty Frustrating if you invested a lot of cash and Time in your GPU and Asics …
The traditional way of thinking is to go to GPUs if you don’t do ASIC’s and that is a solid plan. GPU’s are very flexible due to their ability to dynamically change to any algo/coin depending on price, difficulty, and GPU’s hashing power in just a few seconds. But it isn’t just GPU or ASIC, recent history has ignored a key player… the FPGA.
So what is an FPGA?
FPGA stands for Field Programmable Gate Array, and it is a device that has a series of gate arrays (obviously) that create truth tables to calculate inputs from a data stream, and output a desired result. In industry you can use this to optimize an industry process, such as cutting 2x4s from a log, provide machine learning or even to perform DNA sequencing.
FPGA’s excel at any task that can be done in a parallel process, such as a mining hash to create an output resulting in a successful hash, and if you’re lucky a successful block.
For more information on FPGA’s specifically check out Intel’s book “FPGA’s for dummies”.
While GPU’s are significantly more powerful than CPU’s, both by power and hashing/watt, because of the FGPA’s inherent parallelism, they can be about 15 times more efficient at making hashes and about 50-100x more efficient by hash/watt output. Check out some research by Tomas, Howes and Luk on the subject. It is a few years old, but still holds true. I have grabbed a snippet from the research, it is a great read.
I apologize for the random number generators (RNG), but I couldn’t find that quick any relevant data on bench testing GPU vs FPGA in real life for mining, due to FPGA is still kind a Secret and the mass run has not started yet, I had to go to the next best thing and creating RNG’s are actually pretty similar to hashing as we are doing brute force hashing similar to using hashcat. Numbers will be different but the scale & magnitude should be similar.
SO what does this all mean? Well you know me, lets do the calculations!
So if the FPGA is so great, then where are they?
FPGA has one Achilles heel when it comes to the programming of it. FPGA runs on a language called HDL (Hardware Descriptive Language) which requires you to program the devices physical hardware such as the gate arrays and static IP manually!
Luckily we have developed a semi automatic language(s) VHDL. Which is a visual way of programming it and you literally draw out a circuit and it literally burns in an image of the circuit your drew. There are not subroutines that run to solve problems and it emulates the technology it actually IS the technology that is used to solve problems.
Verilog came by and allowed programmers to program in higher level code, but is still very hardware language based, this has helped streamline FPGA’s and make them easier to program, but things are even better now, because of OpenCL.
OpenCL (Open Computer Language) is a cross platform high level programming language derived from C. This platform runs the subroutines in your CPU and your GPU and yes even CCminer/Cgminer. This cross platform technology explains how to use the hardware it has based on a separate configuration file, while the base code stays the same. You do need to optimize it, but that is easier than writing all new code.
OK, big deal. It is a huge deal. It means that a programmer who knows C can program the FPGA without a ton of knowledge of Verilog/VHDL or HDL, lowering programming time and allowing more moding faster.
The only issue you are going to run into is that the GPU is more fluid, it can change algo’s at will and quickly, while the FPGA even with OpenCL will need to be optimized and flashed to run each possible algorithm. This is a ton of work, but the gains could be quite great. At this time there is not the capability for dynamic switching. Time will tell when this capability will come though.
I hope that you found this article and the companion video informational and entertaining and it has helped you to get one step closer to living free each and every day.
If you have any questions, please don’t hesitate to ask.
Lots of you Guys have asked us which boards are good ones to use, I have experience with Xilinx and Altera (Intel) and I prefer the Altera boards.
For the beginner as the documentation is so much better, if you are planning on buying a board. Feel free to contact us for more infos we are Based In Shenzhen China and have good Relations with the Xilinx Factory. This Could be a big help if you are already interested in buying a FPGA board. Thanks!!