Saturday, June 4, 2011

Bitcoin - Solo Mining - Windows 7 - ATI HD 6970

v 0.7
Before you do anything with Bitcoin, you need to be running the Bitcoin software.  Of course, you will have visited the Bitcoin website and read everything there.  The software is on the front page of the website.

Bitcoin Website.

I ran the software for a couple of days before I realised that I was only using the Intel processor, not my video card's GPU to generate bitcoins.  Some research and I downloaded Guiminer and tried that, however whilst this provided part of the puzzle, it failed to get things working and I ended up doing the gruntwork with the command line "poclbm".  Of course, since the command line programs are supplied with Guiminer, then no extra download for that is needed.

The final piece of the puzzle is getting "OpenCL" working.  Guiminer does NOT recognise the latest AMD incarnation, only the previous one.  I ended up installing both, so had to choose when I started the command line up, as you will see when I get to the startup command line instructions.

Software
Guiminer
https://github.com/Kiv/poclbm
Download button on the upper right lets you download the latest .. here is a direct link to the latest at time of writing:  https://github.com/downloads/Kiv/poclbm/guiminer-20110521.exe

Stream opencl
http://developer.amd.com/Downloads/ati-stream-sdk-v2.3-vista-win7-32.exe
http://developer.amd.com/Downloads/ati-stream-sdk-v2.3-vista-win7-64.exe
http://developer.amd.com/Downloads/ati-stream-sdk-v2.3-xp32.exe
http://developer.amd.com/Downloads/ati-stream-sdk-v2.3-xp64.exe

or

AMD SDK
amd-app-sdk-v2.4-windows-64.exe    from
http://developer.amd.com/sdks/amdappsdk/downloads/pages/default.aspx


Here is a guide for guiminer which helped me to get started, however I had to work out the end details:  http://forum.bitcoin.org/index.php?topic=10438

Procedure

Install and run Bitcoin.  For mining with your GPU, you will need to run bitcoin as a server, but for the moment, we can look at the interface.  There is your bitcoin wallet address, and on the bottom right, your connection status and downloaded blocks.  If you want to generate coins with your CPU, then click "settings" and "generate coins".  Don't expect much.

Make sure you have un-installed any conflicting video drivers and installed the latest ATI drivers for the 6970.  I also ran a registry cleaner to make sure there were no confusing pointers, then rebooted.

If I had to do it over again, I would only load the "ati-stream-sdk-v2.3".  Guiminer recognises it and it saves an extra flag in the command line.  Reboot.

Install and run "guiminer".  Have it in a convenient directory that is easy to refer to on the command line.  We will be using the "poclbm" program it comes with later.  What you get out of running the command line is that you can set up the configuration files.  IF you have installed the stream sdk properly, then everything will work when it starts up and you will see it has found your video card in the "Device" drop down, otherwise it will complain that it can't find an "opencl" device.
  • Select "solo" miner.
  • Under solo utilities, enter the username and password you wish to use to log into the bitcoin server.
  • Enter any extra flags you want to use for the device (see the hardware comparison from the previous post).
  • Save the configuration.
There are two configuration files:

First
\User\AppData\Roaming\bitcoin\bitcoin.conf
Within that file, should be two lines set from guiminer.
        rpcuser=username
        rpcpassword=password

Next
\User\\AppData\Roaming\poclbm\poclbm.ini
Inside this is the solo miner configuration.

{
    "profiles": [
        {
            "username": "user",
            "balance_auth_token": "",
            "name": "Default",
            "hostname": "localhost",
            "external_path": "",
            "flags": "-f60 -v -w128",
            "autostart": false,
            "device": 0,
            "password": "password",
            "port": "8332"
        },
    ],
    "bitcoin_executable": "C:\\Program Files (x86)\\Bitcoin\\bitcoin.exe",
    "show_opencl_warning": true,
    "show_summary": true,
    "show_console": false
}

The Command Line

Open the command line.

       start /D"C:\Program Files (x86)\Bitcoin" bitcoin.exe -server

This line starts the bitcoin program as a server.  The bitcoin window will open as a separate process. The directory switch means you can run the command from anywhere.
Wait till a connection has been made.

start /DC:\pro\guiminer poclbm.exe --platform=1 --device=0 --user=username --pass=password

Enter the above command line (altered for your machine of course).  Note the directory switch nominates the directory - there is a space between the directory and the program executable name.  Also note the --platform switch.  I use 1 because I have two possible libraries as I have both the AMD and the ATI Stream libraries loaded - ATI Stream is the second one (1) that the system recognised first, so I'm staying with that.  I follow it with the device switch which is the video card, and then the username and password that you set in the configuration file.

It took me a while to get it sorted, but then my Video card sprang to life and the fan went wild and you could almost feel the load.  Instead of 3 M/hash per second, I was getting 350 M/hash per second.

Best of luck and I hope it works as advertised.



Later ...

Update:
I included a flag "-f60" in the poclbm.ini file.  I found without that flag, the default of "-f30" made the priority of the poclbm process too high.  I would find that after an hour or so, with the computer churning away, if I came back and wanted to do some work on the machine, it would apparently "lock" up on me and I'd have to reboot.

Update 2:
The "-f60" flag has definitely improved stability with no noticeable loss of processing.  The only problems I've had is when trying to play a Youtube video, when the system locks up.

Update 3:
The lock-up remains no matter what "f" flag I use.  It would appear that Flash video and bitcoin mining are mutually exclusive.

Update 4:
The solution I use (for the machine lockup with video playback) is to use a virtual machine for much of my work.  I have Debian 64 set up as a virtual machine using Virtualbox, and I also have instructions for a Slackware VM elsewhere in this blog.  Video playback works fine in the VM and it all works seemlessly.  My normal use of the machine barely touches its capabilities and I can run the mining on Windows.

Update 5:
Yesterday I found I had "rcp connection problems".  Solutions presented on the net didn't work for me.  Then I had a look at the bitcoin version I had (21) .... I updated to the latest (23) and the problems went away.  I also discovered that once you start the bitcoin server, you can then start the poclbm miner.  It will complain about no connection etc but as soon as there is one it starts churning away.

Update 6:
There was an update to my Catalyst Control Center from AMD tonight.  It broke the miner I had sorted.  That's the bad news - it gets better from here.  In the article above, I talk of downloading the ATI stream SDK 2.3 ... well, that is broke and we must move on.  Install the AMD 2.4 SDK and all will be fine.  In my setup, I had both - the 2.4 was platform 0 and the 2.3 was platform 1 (as reported to me).  I simply changed the "platform=1" switch to "platform=0" and all was again well.

1 comment:

  1. Thanks for the guide. I am going to try this out after work

    ReplyDelete