GithubHelp home page GithubHelp logo

lcpo / gominer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from decred/gominer

0.0 2.0 0.0 374 KB

Go (golang) based GPU miner for Decred.

License: GNU General Public License v3.0

Makefile 0.14% C 43.15% Go 30.41% C++ 2.17% Cuda 1.34% Shell 0.07% Objective-C 22.73%

gominer's Introduction

gominer

gominer is an application for performing Proof-of-Work (PoW) mining on the Decred network. It supports solo and stratum/pool mining using CUDA and OpenCL devices.

Downloading

Linux and Windows 64-bit binaries may be downloaded from:

https://github.com/decred/decred-binaries/releases/latest

Running

Benchmark mode:

gominer -B

Solo mining on mainnet using dcrd running on the local host:

gominer -u myusername -P hunter2

Stratum/pool mining:

gominer -o stratum+tcp://pool:port -m username -n password

Linux Build Pre-Requisites

You will either need to install CUDA for NVIDIA graphics cards or OpenCL library/headers that support your device such as: AMDGPU-PRO (for newer AMD cards), Beignet (for Intel Graphics), or Catalyst (for older AMD cards).

For example, on Ubuntu 16.04 you can install the necessary OpenCL packages (for Intel Graphics) and CUDA libraries with:

sudo apt-get install beignet-dev nvidia-cuda-dev nvidia-cuda-toolkit

gominer has been built successfully on Ubuntu 16.04 with go1.6.2, go1.7.1, g++ 5.4.0, and beignet-dev 1.1.1-2 although other combinations should work as well.

Linux Build Instructions

To download and build gominer, run:

go get -u github.com/Masterminds/glide
mkdir -p $GOPATH/src/github.com/decred
cd $GOPATH/src/github.com/decred
git clone  https://github.com/decred/gominer.git
cd gominer
glide install

For CUDA with NVIDIA Management Library (NVML) support:

make

For OpenCL (autodetects AMDGPU support):

go build -tags opencl

For OpenCL with AMD Device Library (ADL) support:

go build -tags opencladl

Windows Build Pre-Requisites

  • Download and install the official Go Windows binaries from https://golang.dl/
  • Download and install Git for Windows from https://git-for-windows.github.io/
    • Make sure to select the Git-Bash option when prompted
  • Download the MinGW-w64 installer from https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/
    • Select the x64 toolchain and use defaults for the other questions
  • Set the environment variable GOPATH to C:\Users\username\go
  • Check that the GOROOT environment variable is set to C:\Go
    • This should have been done by the Go installer
  • Add the following locations to your PATH C:\Users\username\go\bin;C:\Go\bin
  • Add C:\Program Files\mingw-w64\x84_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin to your PATH (This is the latest release as of 2016-09-29)
  • go get github.com/Masterminds/glide
    • You should be able to type glide and get glide's usage display. If not, double check the steps above
  • go get github.com/decred/gominer
    • Compilation will most likely fail which can be safely ignored for now.
  • Change to the gominer directory
    • If using the Windows Command Prompt: cd %GOPATH%/src/github.com/decred/gominer or if using git-bash cd $GOPATH/src/github.com/decred/gominer
  • Install dependencies via glide
    • glide install

CUDA Specific Steps

OpenCL/ADL Specific Steps

  • Download AMD APP SDK v3.0 from http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/
    • Samples may be unselected from the install to save space as only the libraries and headers are needed
  • Copy or Move C:\Program Files (x86)\AMD APP SDK\3.0 to C:\appsdk
    • Ensure the folders C:\appsdk\include and C:\appsdk\lib are populated
  • Change to the library directory C:\appsdk\lib\x86_64
    • cd C:\appsdk\lib\x86_64
  • Copy and prepare the ADL library for linking
    • copy c:\Windows\SysWOW64\atiadlxx.dll .
    • gendef atiadlxx.dll
    • dlltool --output-lib libatiadlxx.a --input-def atiadlxx.def

Windows Build Instructions

CUDA

  • Using git-bash:
    • cd $GOPATH/src/github.com/decred/gominer
    • mingw32-make.exe
  • Copy dependencies:
    • copy obj/decred.dll .
    • copy nvidia/NVSMI/nvml.dll .

OpenCL / OpenCL w/ADL support

  • For OpenCL:

    • go build -tags opencl
  • For OpenCL with AMD Device Library (ADL) support:

    • go build -tags opencladl

gominer's People

Contributors

jcvernaleo avatar jolan avatar dirbaio avatar dajohi avatar cjepson avatar baggins800 avatar chappjc avatar jrick avatar marcopeereboom avatar timthomascode avatar

Watchers

James Cloos avatar Sergey Korotaev 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.