Skip to content

Releases: JustinTArthur/apoclypsebm

Version 1.1.4: OpenCL Refresh

22 May 09:18
Compare
Choose a tag to compare
  • Added -k/--kernel option for specifying which of available kernels to
    use. Only apoclypse-0 and apoclypse-loopy are available at the moment.
  • New "apoclypse-loopy" kernel is an alternative implementation of the
    poclbm/phoenix/phatk kernel that uses for-loops. On some older platforms, this
    provides better performance. On modern AMD and nVidia software+hardware
    stacks, the basic apoclypse-0 kernel is fine.
  • The -w/--worksize option now uses kernel code to configure the work
    group size when the OpenCL stack tries to enforce a smaller maximum size. This
    allows for up to 1024-sized work groups on recent AMD and nVidia
    drivers+devices.
  • Fix for discrete cards doing wasted work because output buffer wasn't being
    copied back to host correctly.
  • Fix for when stratum servers supply a floating point difficulty number
    (#7). In this case, we floor the result of any
    arithmetic performed against it.
  • Use monotonic timers for rate calculations so that system time changes
    don't impact them.
  • Upgrade to latest PyOpenCL now that pybind11 is fixing the header
    situation.

Version 1.1.0: getblocktemplate Support

10 Jan 08:35
Compare
Choose a tag to compare

This release focused on supporting the getblocktemplate call proposed in
BIP 22 and BIP 23 and implemented by Bitcoin Core and btcd. This finally allows
mining without a pool if you supply an address to mine coins to at the command
line.

HTTP work sources now default to using getblocktemplate instead of getwork.
This feature is new and might have bugs that could lead to loss of potential
mining rewards.

It looks like the work sourcing threads run into i/o issues occasionally due to
using the not-thread-safe Python http lib. I don't aim to address this as most
of the threaded communication ought to be completely replaced by an event runner
like asyncio or trio at some point.

Thanks to @momchil for the original getwork code, @luke-jr @sipa and @vsergeev
for helping me understand getblocktemplate.

Version 1.0.0 - First release as ApoCLypseBM

18 Jan 17:52
Compare
Choose a tag to compare
  • First release following the fork from m0mchil/poclbm.
  • Migrated code to Python 3. Requires Python 3.5+
  • Fix kernel compilation error in clang-based OpenCL compilers like macOS OpenCL and AMD ROCm.
  • Fix for not submitting shares to stratum servers reporting pdifficulty when server-side pdifficulty is below. By @luke-jr.
  • Minor performance improvements