Skip to content

dave-andersen/keplerminer

Repository files navigation

Keplerminer is a Kepler-and-later optimized implementation
of scrypt-based coin mining (Litecoin, etc.) for Nvidia
GPUs.  It _requires_ kepler (compute_30) or later
and will not compile for older architectures.

For people looking for a working, easy-to-use miner,
these improvements can now be found in CudaMiner.

As a proof of concept, building this code will produce
two binaries that can be run:
  - hasher_bench
  - hasher_test

By default, hasher_bench will scan 200,000 keys and show
the time and Kh/s rate achieved in doing so.

hasher_test tests that scanning and several of the
individual components of the system work properly.

In addition, it will build key_per_thread, which is a 
naive mining implementation that I wrote for comparison.
It is not particularly useful.

This is not a standalone miner:  The main result of
compiling it is a shared object (.so) file, hasher_c.so,
which must then be linked into cpuminer with a modified 
implementation of cpuminer/scrypt.c.  (file "scrypt.c")

Before compiling:
  Ensure that "nvcc" is in your $PATH.

To compile:
  make

To add into cpuminer the hard way (don't do this - use CudaMiner
instead unless you're doing development):

  cp scrypt.c hasher_c.o hasher_c.h hasher.o ../cpuminer/
  cd ../cpuminer/
  make
    * look for the error message about not finding scanhash_c
    * copy/paste that gcc line and add hasher_c.so at the end

My code is covered under the Apache license.  This project includes
several files from Colin Percival's tarsnap project, which are covered
under their own license, which is BSD-like.  Please see individual
files.  If not otherwise specified, Apache.

Btw, if you find yourself doing a ton of mining with this and
want to send a thank you, my bitcoin donation address is:

  17sb5mcCnnt4xH3eEkVi6kHvhzQRjPRBtS

(cheesy grin).

About

A Kepler-optimized implmentation of scrypt mining

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages