New version: 2.2.1
So I'm really loathe to leaving a version out there that makes people adopt to massive change that may not have been a good idea, only to have to pull it again in the future. Today I had the luxury of my long-lost mining rig returning so I was finally able to actually do some meaningful debugging and testing of the code I was putting into cgminer and came up with the conclusion: 2.2.0 was a stinker. I spent most of today putting out all the spot fires under my feet and to release something a little more respectable as quickly as possible.
Here is 2.2.1, a mostly bugfix release.
Probably the most important fix is the fix for cgminer-generated midstate. This could cause massive rejects and is actually the main reason I put out a new release. This only affected pools that support the new work items which don't send midstate.
Bitforce support wouldn't actually build in 2.2.0 and the binaries I shipped didn't really have it built into it.
The whole GPU-reorder saga caused massive damage, but we all learnt a lot from that one and there's much more useful verbose information of those issues in cgminer now, and that is useful even when GPU reordering is not enabled. When the number of devices doesn't match, cgminer will still continue to try to perform hardware monitoring.
There's more information now in --ndevs and we can use that to debug for real what SDK people are using
I've improved net-delay to not delay submission of shares since they're sporadic and any delays can be costly, especially
I also implemented something I've been meaning to do for a while: Only use one thread when dynamic mode is enabled on a GPU. It will make for even better interactivity of a desktop despite the miner running. The threads are re-enabled if you switch back to a static intensity.
Version 2.2.1 - January 30, 2012
NOTE - The GPU Device reordering in 2.2.0 by default was considered a bad idea
so the original GPU ordering is used by default again unless reordering is
- Fix bitforce failing to build into cgminer.
- Add missing options to write config function.
- Add a --gpu-reorder option to only reorder devices according to PCI Bus ID
- Fix for midstate support being broken on pools that supported no-midstate
work by ensuring numbers are 32 bits in sha2.c
- Set virtual GPUs to work when ADL is disabled or all mining will occur on GPU
- Add information about paused threads in the menu status.
- Disable all but the first thread on GPUs in dynamic mode for better
- Set the latest network access time on share submission for --net-delay even if
we're not delaying that submission for further network access.
- Clear adl on exiting after probing values since it may attempt to overclock.
- As share submission is usually staggered, and delays can be costly, submit
shares without delay even when --net-delay is enabled.
- Display GPU number and device name when ADL is successfully enabled on it.
- Display GPU ordering remapping in verbose mode.
- Don't fail in the case the number of ADL and OpenCL devices do not match, and
do not attempt to reorder devices unless they match. Instead give a warning
- Display error codes should ADL not return ADL_OK in the more critical function
- Fix unused warning.
- Fix compile warnings in api.c
- Add extensive ADL based device info in debug mode.
- Make --ndevs display verbose opencl information as well to make debugging
version information easier.
- Display information about the opencl platform with verbose enabled.
- Explicitly check for nvidia in opencl platform strings as well.