Files
xmr-stak/doc/compile.md
T
psychocrypt 12802f12e3 rename xmr to monero
- rename all `xmr` to `monero`
- be insensitive while check for set currency
- add function to compate two strings insensitive
2017-10-27 20:13:19 +02:00

4.0 KiB

Compile xmr-stak

Content Overview

Build System

The build system is CMake, if you are not familiar with CMake you can learn more here.

By default the miner will be build with all dependencies. Each optional dependency can be disabled (this will reduce the miner features).

There are two easy ways to set variables for cmake to configure xmr-stak

  • use the ncurses GUI
    • ccmake ..
    • edit your options
    • end the GUI by pressing the key c(create) and than g(generate)
  • set Options on the command line
    • enable a option: cmake .. -DNAME_OF_THE_OPTION=ON
    • disable a option cmake .. -DNAME_OF_THE_OPTION=OFF
    • set a value cmake .. -DNAME_OF_THE_OPTION=value

After the configuration you need to compile the miner, follow the guide for your platform:

Generic Build Options

  • CMAKE_INSTALL_PREFIX install miner to the home folder
    • cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/xmr-stak-cpu
    • you can find the binary and the config.txt file after make install in $HOME/xmr-stak-cpu/bin
  • CMAKE_LINK_STATIC link libgcc and libstdc++ libraries static (default OFF)
    • disable with cmake .. -DCMAKE_LINK_STATIC=ON
  • CMAKE_BUILD_TYPE set the build type
    • valid options: Release or Debug
    • you should always keep Release for your productive miners
  • MICROHTTPD_ENABLE allow to disable/enable the dependency microhttpd
    • there is no http interface available if option is disabled: cmake .. -DMICROHTTPD_ENABLE=OFF
  • OpenSSL_ENABLE allow to disable/enable the dependency OpenSSL
    • it is not possible to connect to a https secured pool if option is disabled: cmake .. -DOpenSSL_ENABLE=OFF
  • WIN_UAC will enable or disable the "Run As Administrator" prompt on Windows.
    • UAC confirmation is needed to use large pages on Windows 7.
    • On Windows 10 it is only needed once to set up the account to use them.
  • XMR-STAK_CURRENCY - compile for Monero(XMR) or Aeon(AEON) usage only e.g. cmake .. -DXMR-STAK_CURRENCY=monero

CPU Build Options

  • CPU_ENABLE allow to disable/enable the CPU backend of the miner
  • HWLOC_ENABLE allow to disable/enable the dependency hwloc
    • the config suggestion is not optimal if option is disabled: cmake . -DHWLOC_ENABLE=OFF
    • disabling can be reduce the miner performance

AMD Build Options

  • OpenCL_ENABLE allow to disable/enable the AMD backend of the miner

NVIDIA Build Options

  • CUDA_ENABLE allow to disable/enable the NVIDIA backend of the miner
  • CUDA_ARCH build for a certain compute architecture
    • this option needs a semicolon separated list
    • cmake .. -DCUDA_ARCH=61 or cmake .. -DCUDA_ARCH=20;61
    • list with NVIDIA compute architectures
    • by default the miner is created for all currently available compute architectures
  • CUDA_COMPILER select the compiler for the device code
    • valid options: nvcc or clang if clang 3.9+ is installed
    # compile host and device code with clang
    export CC=/usr/bin/clang
    export CXX=/usr/bin/clang++
    cmake .. -DCUDA_COMPILER=clang
  • XMR-STAK_LARGEGRID use 32 or 64 bit integer for on device indices
    • default is enabled
    • on old GPUs it can increase the hash rate if disabled: cmake .. -DXMR-STAK_LARGEGRID=OFF
    • if disabled it is not allowed to use more than 1000 threads on the device
  • XMR-STAK_THREADS give the compiler information which value for threads is used at runtime
    • default is 0 (compile time optimization)
    • if the miner is compiled and used at runtime with the some value it can increase the hash rate: cmake .. -DXMR-STAK_THREADS=32