Giter Club home page Giter Club logo

bbr-opencl-miner's Introduction

bbr-opencl-miner

This is a multi-threaded OpenCL/CPU miner, fork of pooler's cpuminer.

Table of contents

Usage

Always specify local scratchpad file (ex. -l scratchpad.bin)!

To mine on the first available GPU:

minerd -a wildkeccak_ocl -o stratum+tcp://url_to_server:7777 -u 1EmWGnwhydr3S2vRWQbbefh1hgDKgMjdMGe43ZgdPhdARhNBRkUMuD4YzLA2nyYG8tg2HKCCBg4aDamJKypRQWW1Ca2kSV8 -p X -l scratchpad.bin -k http://url_to_server/download/scratchpad.bin

OpenCL specific options:

-d N,N,N... - OpenCL devices to use (default: 0)
-i N - OpenCL work intensity (default: 18)

To mine on 2nd GPU only more intensive:

minerd -a wildkeccak_ocl -d 1 -i 22 ...

To mine on CPU (algorithm from original fork):

minerd -a wildkeccak ... 

Run "minerd --help" to see all options.

Connecting through a proxy

Use the --proxy option.

To use a SOCKS proxy, add a socks4:// or socks5:// prefix to the proxy host
Protocols socks4a and socks5h, allowing remote name resolving, are also available since libcurl 7.18.0.

If no protocol is specified, the proxy is assumed to be a HTTP proxy.
When the --proxy option is not used, the program honors the http_proxy and all_proxy environment variables.

Easy build instructions

Dependencies

Build Win64

sh build_win64.sh

Build Linux

sh build_linux.sh

Building and running in Docker (e.g. for testing)

sh run.sh

Original build instructions

Dependencies

Important: edit 1st line of Makefile.am if you have OpenCL headers in different directory.

Basic *nix build instructions:

./autogen.sh	# only needed if building from git repo
./nomacro.pl	# only needed if building on Mac OS X or with Clang
./configure CFLAGS="-O3 -march=native"
# Use -march=native if building for a single machine
make

Notes for AIX users:

  • To build a 64-bit binary, export OBJECT_MODE=64
  • GNU-style long options are not supported, but are accessible via configuration file

Basic Windows build instructions, using MinGW:

./autogen.sh	# only needed if building from git repo
LIBCURL="-lcurldll" ./configure CFLAGS="-O3 *-march=native*"
# Use -march=native if building for a single machine
make

Basic cross-compile instructions, compiling for win64 on Linux Fedora:

yum install mingw\*
./autogen.sh    # only needed if building from git repo
./configure CC=x86_64-w64-mingw32-gcc RANLIB=x86_64-w64-mingw32-ranlib --target x86_64-w64-mingw32 
make

Architecture-specific notes:

  • ARM:
    • No runtime CPU detection. The miner can take advantage of some instructions specific to ARMv5E and later processors, but the decision whether to use them is made at compile time, based on compiler-defined macros.
    • To use NEON instructions, add "-mfpu=neon" to CFLAGS.
  • x86:
    • The miner checks for SSE2 instructions support at runtime, and uses them if they are available.
  • x86-64:
    • The miner can take advantage of AVX, AVX2 and XOP instructions, but only if both the CPU and the operating system support them.
      • Linux supports AVX starting from kernel version 2.6.30.
      • FreeBSD supports AVX starting with 9.1-RELEASE.
      • Mac OS X added AVX support in the 10.6.8 update.
      • Windows supports AVX starting from Windows 7 SP1 and Windows Server 2008 R2 SP1.
    • The configure script outputs a warning if the assembler doesn't support some instruction sets. In that case, the miner can still be built, but unavailable optimizations are left off.

Donations

Donations for the work done in this fork are accepted at

  • BBR: @robert
  • BBR: @mbk

Credits

CPUMiner-Multi-OpenCL was forked from Cryptozoidberg's cpuminer-multi, and has been developed by Mikhail Kuperman ([email protected]) and Robert Arnesson.

License

GPLv2. See COPYING for details.

bbr-opencl-miner's People

Contributors

robertarnesson avatar otila avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.