Bitcoin Mining GPU Performance Comparison
Bitcoin mining is a new form of virtual money. The economics of it are fascinating, but the real interest for us is that you can use your GPU to accelerate the mining process, and you'll be shocked at the difference between NVIDIA and AMD GPU performance. If you want to setup a Bitcoin box, this article will get you moving in the right direction.
Bitcoin mining is a new, kind of "underground" start up, of a system of virtual currency used to buy goods and services over the Internet that is gaining in popularity. Before you turn away thinking you've landed on the wrong website, this is still HardOCP, and this does relate to video card performance. I'm not going to sit here and try to explain the whole economy of Bitcoins to you, quite frankly it is beyond the scope of this article. The reason why this is of interest to us at HardOCP, and our readers, is because of the fact that Bitcoin mining benefits from GPU acceleration in a big way.
For those that know what Bitcoins are, and want the best performance and value, read on. For those that do not know what the heck a Bitcoin is, we can link you to several places where you can read up on it, study it, and watch videos about it. The first resource, believe it or not, is going to be Wikipedia here. Wikipedia does a very good job of detailing what a Bitcoin is and how the economy works. It is important to know the basics of this economy if you are interested in really making something out of Bitcoin mining. Another very useful site is the We Use Coins website. Here you will find an introduction video about Bitcoins. There is a mining guide, which gives you an overview of why a GPU is going to benefit you with this. If you go to YouTube, there are many videos about Bitcoin mining, including some opposing views as to whether Bitcoins are really a good thing. For us today, we are concerned with the hardware aspects of Bitcoin mining, we will leave the debate of Bitcoins as good or bad for us, up to you.
Bitcoin mining, in terms of using your computer hardware to create Bitcoin blocks, is analogous with distributed computing programs like Folding@Home or Seti@Home. In Folding@Home, you use your computers idle CPU cycles, or as a dedicated machine utilizing the CPU or GPU, to crunch data to cure diseases. Bitcoin mining is similar in that it uses your CPU or GPU to mine Bitcoin blocks, used to create Bitcoins. In order to reap the benefits of Bitcoins, you need to use your GPU, or multiple GPUs to get anywhere useful. On top of that, the type of GPU you have is going to make a world of difference Bitcoin mining. This article is going to focus on testing GPU Bitcoin mining using OpenCL to access the GPUs.
Bitcoin Mining Using your GPU
Bitcoin mining can use your CPU, just like Folding@Home, unfortunately the CPU is so slow at the type of number crunching Bitcoin uses that it won't get you anywhere fast. In order to make use of this new economic system, you will have to use a GPU, and preferably multiple GPUs. The key is to make sure your performance of creating Bitcoin blocks exceeds the total system Wattage used, because you will be eating up electricity. As you use your electricity, the cost benefits of Bitcoin mining go down. In order to make money you must be producing more than you are consuming. The only way to properly do this, is to use a GPU that offers the best Bitcoin mining performance, and efficiently.
There are several ways you can mine, including working in a pool, or solo mining. Most people work in a pool, working on blocks. In order to make Bitcoin mining easier, many third party entities have created GUI programs that make setting up mining easier. You can do everything from a command prompt if you wish, and create configuration files, but this won't necessarily speed things up. With these GUI programs, you still have the ability to manually configure any option you wish with manual editing, it just makes setting things up easier. The program we are going to use is a popular one that most find benefit with, and that is GUIMiner. This website here is a great place to start if you want a guide on how to setup for GPU Bitcoin mining. As you can see, you can do everything manually from command lines, but using a GUI program is just much easier.
Within GUIMiner you can setup new mining sessions, either using OpenCL (to access GPUs) or Phoenix (an alternative), or a CPU miner. For the purposes of our evaluation we are using OpenCL which works with NVIDIA and AMD GPUs using the latest drivers. In addition to the OpenCL miner we are using specific flags that end users find most beneficial to providing better performance. We are using the -f0 flag to dedicate the GPUs to GUIMiner, we are using -w128 to set the workload size, and in the case of AMD GPUs we are also using -v which provides more Mhash/s. Mhash/s is the metric we are comparing by today, and is the metric used by Bitcoin miners to judge their performance. The higher, the better.
There are a ton of different variables and flags available in Bitcoin mining, but we just can't cover every single option. If you really want to research flags, and how they can help improve performance, we suggest Googling for Bitcoin mining threads on popular hardware websites. There are many hardware enthusiasts out there tweaking their systems for the best Bitcoin mining performance, and you will find a lot of information about what configurations work best. A quick search on the HardForum will turn up a lot of results and expose a very big [H] Bitcoin community.
Our system setup is above, we are using the default clock speeds on all video cards tested except for one, the ASUS GTX 580 Matrix Platinum Edition, to see if a higher clock speed changes performance much. For drivers, we are using nothing but the latest, we have NVIDIA ForceWare 275.50 installed and AMD Catalyst 11.6b Hotfix installed. Both drivers have the latest OpenCL versions included.