Edit

thodg/cgminer/NEWS

Branch :

  • Show log

    Commit

  • Author : Con Kolivas
    Date : 2011-07-18 00:13:03
    Hash : 8d8e0669
    Message : News.

  • NEWS
  • - Iterating over 1026 nonces when confirming data from the GPU is old code
    and unnecessary and can lead to repeats/stales.
    - The poclbm kernel needs to be updated to work with the change to 4k sized
    output buffers.
    
    
    Version 1.2.7 - July 16, 2011
    
    - Show last 8 characters of share submitted in log.
    - Display URL connected to and user logged in as in status.
    - Display current block and when it was started in the status line.
    - Only pthread_join the mining threads if they exist as determined by
    pthread_cancel and don't fail on pthread_cancel.
    - Create a unique work queue for all getworks instead of binding it to thread 0
    to avoid any conflict over thread 0's queue.
    - Clean up the code to make it clear it's watchdog thread being messaged to
    restart the threads.
    - Check the current block description hasn't been blanked pending the real
    new current block data.
    - Re-enable signal handlers once the signal has been received to make it
    possible to kill cgminer if it fails to shut down.
    - Disable restarting of CPU mining threads pending further investigation.
    - Update longpoll messages.
    - Add new block data to status line.
    - Fix opencl tests for osx.
    - Only do local generation of work if the work item is not stale itself.
    - Check for stale work within the mining threads and grab new work if
    positive.
    - Test for idle network conditions and prevent threads from being restarted
    by the watchdog thread under those circumstances.
    - Make sure that local work generation does not continue indefinitely by
    stopping it after 10 minutes.
    - Tweak the kernel to have a shorter path using a 4k buffer and a mask on the
    nonce value instead of a compare and loop for a shorter code path.
    - Allow queue of zero and make that default again now that we can track how
    work is being queued versus staged. This can decrease reject rates.
    - Queue precisely the number of mining threads as longpoll_staged after a
    new block to not generate local work.
    
    
    Version 1.2.6 - July 15, 2011
    
    - Put a current system status line beneath the total work status line
    - Fix a counting error that would prevent cgminer from correctly detecting
    situations where getwork was failing - this would cause stalls sometimes
    unrecoverably.
    - Limit the maximum number of requests that can be put into the queue which
    otherwise could get arbitrarily long during a network outage.
    - Only count getworks that are real queue requests.
    
    
    Version 1.2.5 - July 15, 2011
    
    - Conflicting -n options corrected
    - Setting an intensity with -I disables dynamic intensity setting
    - Removed option to manually disable dynamic intensity
    - Improve display output
    - Implement signal handler and attempt to clean up properly on exit
    - Only restart threads that are not stuck waiting on mandatory getworks
    - Compatibility changes courtesy of Ycros to build on mingw32 and osx
    - Explicitly grab first work item to prevent false positive hardware errors
    due to working on uninitialised work structs
    - Add option for non curses --text-only output
    - Ensure we connect at least once successfully before continuing to retry to
    connect in case url/login parameters were wrong
    - Print an executive summary when cgminer is terminated
    - Make sure to refresh the status window
    
    Versions -> 1.2.4
    
    - Con Kolivas - July 2011. New maintainership of code under cgminer name.
    - Massive rewrite to incorporate GPU mining.
    - Incorporate original oclminer c code.
    - Rewrite gpu mining code to efficient work loops.
    - Implement per-card detection and settings.
    - Implement vector code.
    - Implement bfi int patching.
    - Import poclbm and phatk ocl kernels and use according to hardware type.
    - Implement customised optimised versions of opencl kernels.
    - Implement binary kernel generation and loading.
    - Implement preemptive asynchronous threaded work gathering and pushing.
    - Implement variable length extra work queues.
    - Optimise workloads to be efficient miners instead of getting lots of extra
      work.
    - Implement total hash throughput counters, per-card accepted, rejected and
      hw error count.
    - Staging and watchdog threads to prevent fallover.
    - Stale and reject share guarding.
    - Autodetection of new blocks without longpoll.
    - Dynamic setting of intensity to maintain desktop interactivity.
    - Curses interface with generous statistics and information.
    - Local generation of work (xroll ntime) when detecting poor network
    connectivity.
    
    Version 1.0.2
    
    - Linux x86_64 optimisations - Con Kolivas
    - Optimise for x86_64 by default by using sse2_64 algo
    - Detects CPUs and sets number of threads accordingly
    - Uses CPU affinity for each thread where appropriate
    - Sets scheduling policy to lowest possible
    - Minor performance tweaks
    
    Version 1.0.1 - May 14, 2011
    
    - OSX support
    
    Version 1.0 - May 9, 2011
    
    - jansson 2.0 compatibility
    - correct off-by-one in date (month) display output
    - fix platform detection
    - improve yasm configure bits
    - support full URL, in X-Long-Polling header
    
    Version 0.8.1 - March 22, 2011
    
    - Make --user, --pass actually work
    
    - Add User-Agent HTTP header to requests, so that server operators may
      more easily identify the miner client.
    
    - Fix minor bug in example JSON config file
    
    Version 0.8 - March 21, 2011
    
    - Support long polling: http://deepbit.net/longpolling.php
    
    - Adjust max workload based on scantime (default 5 seconds,
      or 60 seconds for longpoll)
    
    - Standardize program output, and support syslog on Unix platforms
    
    - Suport --user/--pass options (and "user" and "pass" in config file),
      as an alternative to the current --userpass
    
    Version 0.7.2 - March 14, 2011
    
    - Add port of ufasoft's sse2 assembly implementation (Linux only)
      This is a substantial speed improvement on Intel CPUs.
    
    - Move all JSON-RPC I/O to separate thread.  This reduces the
      number of HTTP connections from one-per-thread to one, reducing resource
      usage on upstream bitcoind / pool server.
    
    Version 0.7.1 - March 2, 2011
    
    - Add support for JSON-format configuration file.  See example
      file example-cfg.json.  Any long argument on the command line
      may be stored in the config file.
    - Timestamp each solution found
    - Improve sha256_4way performance.  NOTE: This optimization makes
      the 'hash' debug-print output for sha256_way incorrect.
    - Use __builtin_expect() intrinsic as compiler micro-optimization
    - Build on Intel compiler
    - HTTP library now follows HTTP redirects
    
    Version 0.7 - February 12, 2011
    
    - Re-use CURL object, thereby reuseing DNS cache and HTTP connections
    - Use bswap_32, if compiler intrinsic is not available
    - Disable full target validation (as opposed to simply H==0) for now
    
    Version 0.6.1 - February 4, 2011
    
    - Fully validate "hash < target", rather than simply stopping our scan
      if the high 32 bits are 00000000.
    - Add --retry-pause, to set length of pause time between failure retries
    - Display proof-of-work hash and target, if -D (debug mode) enabled
    - Fix max-nonce auto-adjustment to actually work.  This means if your
      scan takes longer than 5 seconds (--scantime), the miner will slowly
      reduce the number of hashes you work on, before fetching a new work unit.
    
    Version 0.6 - January 29, 2011
    
    - Fetch new work unit, if scanhash takes longer than 5 seconds (--scantime)
    - BeeCee1's sha256 4way optimizations
    - lfm's byte swap optimization (improves via, cryptopp)
    - Fix non-working short options -q, -r
    
    Version 0.5 - December 28, 2010
    
    - Exit program, when all threads have exited
    - Improve JSON-RPC failure diagnostics and resilience
    - Add --quiet option, to disable hashmeter output.
    
    Version 0.3.3 - December 27, 2010
    
    - Critical fix for sha256_cryptopp 'cryptopp_asm' algo
    
    Version 0.3.2 - December 23, 2010
    
    - Critical fix for sha256_via
    
    Version 0.3.1 - December 19, 2010
    
    - Critical fix for sha256_via
    - Retry JSON-RPC failures (see --retry, under "minerd --help" output)
    
    Version 0.3 - December 18, 2010
    
    - Add crypto++ 32bit assembly implementation
    - show version upon 'minerd --help'
    - work around gcc 4.5.x bug that killed 4way performance
    
    Version 0.2.2 - December 6, 2010
    
    - VIA padlock implementation works now
    - Minor build and runtime fixes
    
    Version 0.2.1 - November 29, 2010
    
    - avoid buffer overflow when submitting solutions
    - add Crypto++ sha256 implementation (C only, ASM elided for now)
    - minor internal optimizations and cleanups
    
    Version 0.2 - November 27, 2010
    
    - Add script for building a Windows installer
    - improve hash performance (hashmeter) statistics
    - add tcatm 4way sha256 implementation
    - Add experimental VIA Padlock sha256 implementation
    
    Version 0.1.2 - November 26, 2010
    
    - many small cleanups and micro-optimizations
    - build win32 exe using mingw
    - RPC URL, username/password become command line arguments
    - remove unused OpenSSL dependency
    
    Version 0.1.1 - November 24, 2010
    
    - Do not build sha256_generic module separately from cpuminer.
    
    Version 0.1 - November 24, 2010
    
    - Initial release.