Help with thread concurrency failure after testing a new card

edited March 2014 in Hardware

Hello all, I need some help from you expert miners.

I've been running a modest rig with 2 x 5870's which have been happily running at ~420KH/s each. They were kind of free and I don't have a lot of spare cash. My rig is Win 7 x64 based with a 700W PSU. Neither card is running on risers but both stay below 75C most of the time. I'm using CGminer (3.1.0 at the moment).
Both were running more than happily on a thread concurrency of 8000, undervolted to 1.075V.

I picked up a cheap 7950 from ebay and thought I would swap out one of the 5870s. All three cards use 2 x 6pin PCIe power.

I managed to get the 5870 and 7950 running together but whenever I tried to increase the intensity over 14 on both cards, the system hangs and reboots. My guess is the PSU (cheap brand, again, inherited) isn't putting out enough power if the 7950 is more power hungry. I've got a power meter so I'll check this out over the following week.

My real problem came when I put the original 5870 back in and took the 7950 out, so I was effectively back to my original configuration. When I ran CGminer with my normal config file, CGminer crashed. I couldn't get it to work at all.
Eventually, I had to delete all the binaries associated with the cards and start with a batch file with almost nothing in it. Since then, I cannot get my cards to go above 6016 thread concurrency which has knocked about 50KH/s off both cards. I cannot understand why. Half the time, CGminer now just hangs on startup and won't start mining, however many times I reboot and I can't get it to work from  a config file anymore. 

The only other thing that's changed is I installed MSI afterburner (as the 7950 was an MSI) so I could undervolt the 7950 because cgminer was unable to. I've subsequently uninstalled it though since I took the 7950 out.

Any help or suggestions from anyone would be greatly welcome. 


  • Those cards are based on two very different chipsets and should be used on separate mobos.  The 7950 pretty much requires a "threads" setting of 2 which won't play well with the 5870s and it's a global setting.  My best guess is that your driver install has retained the 7950 in its config as a disabled device.  The quickest solution should be to do a complete wipe of your catalyst install and then reinstall with just the 5870s installed.   Another option is to fiddle with the "threads", "worksize", "intensity" and/or "thread-gap" until so many changes have been made that it no longer makes any allowances for the card that was removed.  Sorry to be so brief, but the market is open; time to work.

  • To run both the 5870 & 7950 together, add a devices ( -d 0,1 )  option to your cgminer config.  This will allow you to specify two different settings for every parameter by using a comma separated list. For example, if your 5870 is device 0 and your 7950 is device 1,  using "...-d 0,1 -I 13,19 ..." would allow you to run each card at a different intensity.  Works similarly for all the other parameters.  If a single value is given for any parameter, it will be used for all devices.

    You should also consider upgrading to cgminer 3.7.2.  It is the last version that still includes GPU support. 

  • @edwardc - thanks, yeah I was running them with a config file that had different settings for each. I've subsequently confirmed that with just the 2 x 5870 the system is drawing ~630W at the wall and the PSU is only rated to 700W (although I always assumed this was input power not output power) so not being able to push the intensities was definitely a power draw issue.

    @3gghead - That's interesting, I thought you could set separate gpu threads in the config file, I didn't realise this was global and might explain why I was able to extract a great deal more from the 7950 in my test rig rather than my mining system which had the 5870's in them. 

    As an update, I managed to find an original Binary with TC 8000 for the 5870's which I copied back into the folder and now everything seems to be back to normal. I'm still not sure if this was the cause or why everything went wrong, but at least they're back up to full speed again. 
    I guess next step would to be buy two matching 7950 or 280x or similar and sell the 5870's.

    Many thanks for all your help.
  • I know that sgminer is a dedicated scrypt miner, you should see a small boost in your Khash rating :)

  • Hi, is that the fork from cgminer when it stopped supporting scrypt? I'll give it a go. Does it use all the same settings and configs as cgminer?

  • I believe it was forked from v3.22; before the usb code changed the code-base too much.  Of course all gpu/scrypt patches were integrated and/or enhanced.  For instance, like bitcoin, multiple kernels can be used via the --kernel option (as opposed to the one-size-fits-all --scrypt).  The only reason this matters is that different chipsets make optimal use of memory-spaces in different ways.  A static 'K' (#define(d)) speeds up south-island chipsets but diminishes the hash-rate of older cards; on my current cards it usually creates a 'WU' > hash-rate.

    The settings are very similar but not the same. The, --threads=n is still a global option though in v4.1 but there are many other enhancements that make it worth giving it a test-run.  The 'git-clone'/tarball has a VS2010 .sln and very straight-forward compilation instructions.  This allows you to create a true 64bit miner that will use AMD's 64bit compiler/linker which is nice for gpus with > 2GB ram.  The chipset-specific optimizations are described in AMD's OCL documentation.  Dun know how into coding this stuff you are, so take from this what you need.

    In any case, I was glad to read that your 5870s didn't suffer a 'humpty-dumpty' fate. ~3gg

Sign In or Register to comment.