Skip to content

Commit

Permalink
XMRIG-AMD 2.14.2
Browse files Browse the repository at this point in the history
  • Loading branch information
IndeedMiners committed Mar 10, 2019
1 parent cc655d5 commit df31868
Show file tree
Hide file tree
Showing 176 changed files with 23,875 additions and 2,123 deletions.
55 changes: 55 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,58 @@
# v2.14.0
- **[#227](https://github.com/xmrig/xmrig-amd/pull/227) Added new algorithm `cryptonight/rwz`, short alias `cn/rwz` (also known as CryptoNight ReverseWaltz), for upcoming [Graft](https://www.graft.network/) fork.**
- **[#931](https://github.com/xmrig/xmrig/issues/931) Added new algorithm `cryptonight/zls`, short alias `cn/zls` for [Zelerius Network](https://zelerius.org) fork.**
- **[#940](https://github.com/xmrig/xmrig/issues/940) Added new algorithm `cryptonight/double`, short alias `cn/double` (also known as CryptoNight HeavyX), for [X-CASH](https://x-cash.org/).**
- [#951](https://github.com/xmrig/xmrig/issues/951#issuecomment-469581529) Fixed crash if AVX was disabled on OS level.
- [#952](https://github.com/xmrig/xmrig/issues/952) Fixed compile error on some Linux.
- [#957](https://github.com/xmrig/xmrig/issues/957#issuecomment-468890667) Added support for embedded config.

# v2.13.0
- **[#938](https://github.com/xmrig/xmrig/issues/938) Added support for new algorithm `cryptonight/r`, short alias `cn/r` (also known as CryptoNightR or CryptoNight variant 4), for upcoming [Monero](https://www.getmonero.org/) fork on March 9, thanks [@SChernykh](https://github.com/SChernykh).**
- [#939](https://github.com/xmrig/xmrig/issues/939) Added support for dynamic (runtime) pools reload.
- Invalid threads (eg with wrong device index) now ignored and not stop the miner.

# v2.12.0
- [#218](https://github.com/xmrig/xmrig-amd/pull/218) Added support for new algorithm `cryptonight/wow`, short alias `cn/wow` (also known as CryptonightR), for upcoming [Wownero](http://wownero.org) fork on February 14.
- Improved `cryptonight/gpu` performance.

# v2.11.1
* Fixed regression, algorithm `cn-pico/trtl` was broken in v2.11.0.

# v2.11.0
- [#928](https://github.com/xmrig/xmrig/issues/928) Added support for new algorithm `cryptonight/gpu`, short alias `cn/gpu` (original name `cryptonight-gpu`), for upcoming [Ryo currency](https://ryo-currency.com) fork on February 14.
- Fixed compatibility with AMD drivers, latest Windows/Linux drivers now supported.

# v2.10.0
- [#904](https://github.com/xmrig/xmrig/issues/904) Added new algorithm `cn-pico/trtl` (aliases `cryptonight-turtle`, `cn-trtl`) for upcoming TurtleCoin (TRTL) fork.

# v2.9.4
- [#913](https://github.com/xmrig/xmrig/issues/913) Fixed Masari (MSR) support (this update required for upcoming fork).

# v2.9.3
- [#211](https://github.com/xmrig/xmrig-amd/pull/211) Fixed `cn/half` compute errors.
- Removed verbose messages about threads interleave.

# v2.9.1
- [#899](https://github.com/xmrig/xmrig/issues/899) Added support for new algorithm `cn/half` for Masari and Stellite forks.
- [#203](https://github.com/xmrig/xmrig-amd/pull/203) Fixed GPU errors with worksize != 8 on cn-heavy.

# v2.8.6
- **Improved `cn-heavy`, `cn-heavy/xhv` perfomance up to 8% since v2.8.5 and up to 16% since v2.8.4, thanks [@SChernykh](https://github.com/SChernykh)**, pull requests [#187](https://github.com/xmrig/xmrig-amd/pull/187), [#189](https://github.com/xmrig/xmrig-amd/pull/189), [#190](https://github.com/xmrig/xmrig-amd/pull/190), [#191](https://github.com/xmrig/xmrig-amd/pull/191), [#192](https://github.com/xmrig/xmrig-amd/pull/192) and [#193](https://github.com/xmrig/xmrig-amd/pull/193).
- **[#195](https://github.com/xmrig/xmrig-amd/pull/195) Fixed hashrate fluctuations. It's no longer necessary to use different intensities per thread.**
- Improved `cn-heavy/tube` perfomance up to 6% and `cn/2` perfomance up to 1%.
- Reduced power consumption with `cn/2`
- Fixed possible invalid shares right after donation finish.
- Improved AMD Vega64 auto configuration.
- It's now recommended to revise your `config.json` and try:
- Same intensities for both threads.
- `strided_index=2, mem_chunk=1` for `cn/2`.
- `strided_index=1` for other algorithms.

# v2.8.5
- [#185](https://github.com/xmrig/xmrig-amd/pull/185) **Improved `cn-heavy`, `cn-heavy/xhv` and `cn-heavy/tube` perfomance up to 8%, thanks [@SChernykh](https://github.com/SChernykh).**
- [#271](https://github.com/xmrig/xmrig-proxy/issues/271) Fixed pool options cascading when use mixed configuration: config file and command line.
- Improved AMD Vega 56 auto configuration for `cn/2`.

# v2.8.4
- **Improved AMD Vega autoconfig (double threads & higher intensity).**
- Fixed broken OpenCL code for `cn-lite` and `cn-heavy` (regression since v2.8.2).
Expand Down
73 changes: 63 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,18 @@ project(xmrig-amd)

option(WITH_AEON "CryptoNight-Lite support" ON)
option(WITH_SUMO "CryptoNight-Heavy support" ON)
option(WITH_CN_PICO "CryptoNight-Pico support" ON)
option(WITH_CN_GPU "CryptoNight-GPU support" ON)
option(WITH_HTTPD "HTTP REST API" ON)
option(WITH_DEBUG_LOG "Enable debug log output" OFF)
option(WITH_TLS "Enable OpenSSL support" ON)
option(WITH_ASM "Enable ASM PoW implementations" ON)
option(STRICT_CACHE "Enable strict checks for OpenCL cache" ON)
option(BUILD_STATIC "Build static binary" OFF)
option(ARM_TARGET "Force use specific ARM target 8 or 7" 0)

option(WITH_DEBUG_LOG "Enable debug log output, network, etc" OFF)
option(WITH_INTERLEAVE_DEBUG_LOG "Enable debug log for threads interleave" OFF)
option(WITH_EMBEDDED_CONFIG "Enable internal embedded JSON config" OFF)

include (CheckIncludeFile)
include (cmake/cpu.cmake)
Expand All @@ -18,11 +25,25 @@ set(HEADERS
src/amd/GpuContext.h
src/amd/OclCache.h
src/amd/OclCLI.h
src/amd/OclCryptonightR_gen.h
src/amd/OclError.h
src/amd/OclGPU.h
src/amd/OclLib.h
src/api/NetworkState.h
src/App.h
src/base/io/Json.h
src/base/io/Watcher.h
src/base/kernel/Entry.h
src/base/kernel/interfaces/IConfigListener.h
src/base/kernel/interfaces/ISignalListener.h
src/base/kernel/interfaces/IWatcherListener.h
src/base/kernel/Process.h
src/base/kernel/Signals.h
src/base/net/Pool.h
src/base/net/Pools.h
src/base/tools/Arguments.h
src/base/tools/Handle.h
src/base/tools/String.h
src/common/config/CommonConfig.h
src/common/config/ConfigLoader.h
src/common/config/ConfigWatcher.h
Expand All @@ -40,15 +61,13 @@ set(HEADERS
src/common/interfaces/ILogBackend.h
src/common/interfaces/IStrategy.h
src/common/interfaces/IStrategyListener.h
src/common/interfaces/IWatcherListener.h
src/common/log/BasicLog.h
src/common/log/ConsoleLog.h
src/common/log/FileLog.h
src/common/log/Log.h
src/common/net/Client.h
src/common/net/Id.h
src/common/net/Job.h
src/common/net/Pool.h
src/common/net/Storage.h
src/common/net/strategies/FailoverStrategy.h
src/common/net/strategies/SinglePoolStrategy.h
Expand All @@ -58,11 +77,14 @@ set(HEADERS
src/common/utils/mm_malloc.h
src/common/utils/timestamp.h
src/common/xmrig.h
src/core/ConfigLoader_default.h
src/core/ConfigLoader_platform.h
src/core/Controller.h
src/core/usage.h
src/interfaces/IJobResultListener.h
src/interfaces/IThread.h
src/interfaces/IWorker.h
src/Mem.h
src/net/JobResult.h
src/net/Network.h
src/net/strategies/DonateStrategy.h
Expand Down Expand Up @@ -99,10 +121,21 @@ endif()
set(SOURCES
src/amd/OclCache.cpp
src/amd/OclCLI.cpp
src/amd/OclCryptonightR_gen.cpp
src/amd/OclGPU.cpp
src/amd/OclLib.cpp
src/api/NetworkState.cpp
src/App.cpp
src/base/io/Json.cpp
src/base/io/Watcher.cpp
src/base/kernel/Entry.cpp
src/base/kernel/Process.cpp
src/base/kernel/Signals.cpp
src/base/net/Pool.cpp
src/base/net/Pools.cpp
src/base/tools/Arguments.cpp
src/base/tools/Handle.cpp
src/base/tools/String.cpp
src/common/config/CommonConfig.cpp
src/common/config/ConfigLoader.cpp
src/common/config/ConfigWatcher.cpp
Expand All @@ -117,13 +150,13 @@ set(SOURCES
src/common/log/Log.cpp
src/common/net/Client.cpp
src/common/net/Job.cpp
src/common/net/Pool.cpp
src/common/net/strategies/FailoverStrategy.cpp
src/common/net/strategies/SinglePoolStrategy.cpp
src/common/net/SubmitResult.cpp
src/common/Platform.cpp
src/core/Config.cpp
src/core/Controller.cpp
src/Mem.cpp
src/net/Network.cpp
src/net/strategies/DonateStrategy.cpp
src/Summary.cpp
Expand All @@ -143,27 +176,38 @@ set(SOURCES_CRYPTO
src/crypto/CryptoNight.cpp
)

if (WITH_ASM)
set(HEADERS_CRYPTO "${HEADERS_CRYPTO}" src/crypto/asm/CryptonightR_template.h)
set(SOURCES_CRYPTO "${SOURCES_CRYPTO}" src/crypto/CryptonightR_gen.cpp)
endif()

if (WIN32)
set(SOURCES_OS
res/app.rc
src/amd/OclCache_win.cpp
src/App_win.cpp
src/base/io/Json_win.cpp
src/common/Platform_win.cpp
src/Mem_win.cpp
)

add_definitions(/DWIN32)
set(EXTRA_LIBS ws2_32 psapi iphlpapi userenv)
set(EXTRA_LIBS ws2_32 psapi iphlpapi userenv winmm)
elseif (APPLE)
set(SOURCES_OS
src/amd/OclCache_unix.cpp
src/App_unix.cpp
src/base/io/Json_unix.cpp
src/common/Platform_mac.cpp
src/Mem_unix.cpp
)
else()
set(SOURCES_OS
src/amd/OclCache_unix.cpp
src/App_unix.cpp
src/base/io/Json_unix.cpp
src/common/Platform_unix.cpp
src/Mem_unix.cpp
)

set(EXTRA_LIBS pthread rt dl)
Expand All @@ -184,7 +228,6 @@ add_definitions(/D__STDC_FORMAT_MACROS)
add_definitions(/DUNICODE)
add_definitions(/DXMRIG_AMD_PROJECT)
add_definitions(/DXMRIG_NO_LIBCPUID)
add_definitions(/DXMRIG_NO_ASM)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")

Expand All @@ -197,6 +240,8 @@ add_definitions(/DCL_USE_DEPRECATED_OPENCL_1_2_APIS)


include(cmake/OpenSSL.cmake)
include(cmake/cn-gpu.cmake)
include(cmake/asm.cmake)

CHECK_INCLUDE_FILE (syslog.h HAVE_SYSLOG_H)
if (HAVE_SYSLOG_H)
Expand All @@ -218,8 +263,12 @@ if (NOT WITH_SUMO)
add_definitions(/DXMRIG_NO_SUMO)
endif()

if (NOT WITH_IPBC)
add_definitions(/DXMRIG_NO_IPBC)
if (NOT WITH_CN_PICO)
add_definitions(/DXMRIG_NO_CN_PICO)
endif()

if (WITH_EMBEDDED_CONFIG)
add_definitions(/DXMRIG_FEATURE_EMBEDDED_CONFIG)
endif()

if (WITH_HTTPD)
Expand Down Expand Up @@ -261,5 +310,9 @@ if (WITH_DEBUG_LOG)
add_definitions(/DAPP_DEBUG)
endif()

add_executable(${PROJECT_NAME} ${HEADERS} ${SOURCES} ${SOURCES_OS} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO} ${SOURCES_SYSLOG} ${HTTPD_SOURCES} ${TLS_SOURCES})
target_link_libraries(${PROJECT_NAME} ${OPENSSL_LIBRARIES} ${UV_LIBRARIES} ${MHD_LIBRARY} ${EXTRA_LIBS} ${LIBS})
if (WITH_INTERLEAVE_DEBUG_LOG)
add_definitions(/DAPP_INTERLEAVE_DEBUG)
endif()

add_executable(${CMAKE_PROJECT_NAME} ${HEADERS} ${SOURCES} ${SOURCES_OS} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO} ${SOURCES_SYSLOG} ${HTTPD_SOURCES} ${TLS_SOURCES} ${CN_GPU_SOURCES} ${XMRIG_ASM_SOURCES})
target_link_libraries(${CMAKE_PROJECT_NAME} ${XMRIG_ASM_LIBRARY} ${OPENSSL_LIBRARIES} ${UV_LIBRARIES} ${MHD_LIBRARY} ${EXTRA_LIBS} ${LIBS})
13 changes: 1 addition & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# XMRig AMD

:warning: **[Monero changed PoW algorithm on October 18](https://github.com/xmrig/xmrig/issues/753), all miners and proxy should be updated to [v2.8+](https://github.com/xmrig/xmrig-amd/releases/tag/v2.8.4)** :warning:

[![Github All Releases](https://img.shields.io/github/downloads/xmrig/xmrig-amd/total.svg)](https://github.com/xmrig/xmrig-amd/releases)
[![GitHub release](https://img.shields.io/github/release/xmrig/xmrig-amd/all.svg)](https://github.com/xmrig/xmrig-amd/releases)
[![GitHub Release Date](https://img.shields.io/github/release-date-pre/xmrig/xmrig-amd.svg)](https://github.com/xmrig/xmrig-amd/releases)
Expand All @@ -18,7 +16,7 @@ GPU mining part based on [Wolf9466](https://github.com/OhGodAPet) and [psychocry

:warning: Suggested values for GPU auto configuration can be not optimal or not working, you may need tweak your threads options. Please fell free open an [issue](https://github.com/xmrig/xmrig-amd/issues) if auto configuration suggest wrong values.

<img src="https://i.imgur.com/TFncsi7.png" width="696" >
<img src="https://xmrig.com/assets/img/screenshots/xmrig-amd-2.8.6.png" width="795" >

#### Table of contents
* [Features](#features)
Expand Down Expand Up @@ -99,15 +97,6 @@ Default donation 5% (5 minutes in 100 minutes) can be reduced to 1% via option `
* XMR: `48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8nLwEVsaSWJ4fhdUyZijBGUicoD`
* BTC: `1P7ujsXeX7GxQwHNnJsRMgAdNkFZmNVqJT`

## Release checksums
### SHA-256
```
32db95706c3d78c7e62c2dd5099413a86c088af5797ff1d79af7227ac2a7931d xmrig-amd-2.8.4-xenial-amd64.tar.gz/xmrig-amd-2.8.4/xmrig-amd
7492d31d4f7025486a93fdc9a8f4b8c6c965cdb8f65057ae8be3fcf91ae444cc xmrig-amd-2.8.4-xenial-amd64.tar.gz/xmrig-amd-2.8.4/xmrig-amd-notls
926d04f9529c427c4f6730cbf507d427d781206609e414646ff7271ac9c9d84e xmrig-amd-2.8.4-win64.zip/xmrig-amd.exe
5b538cc0d6fd4de9ee911e5c52dde3d46717673f8a9a2f6ee4c7260e7899f832 xmrig-amd-2.8.4-win64.zip/xmrig-amd-notls.exe
```

## Contacts
* [email protected]
* [reddit](https://www.reddit.com/user/XMRig/)
Expand Down
2 changes: 2 additions & 0 deletions cmake/OpenSSL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,6 @@ else()
set(TLS_SOURCES "")
set(OPENSSL_LIBRARIES "")
add_definitions(/DXMRIG_NO_TLS)

set(CMAKE_PROJECT_NAME "${CMAKE_PROJECT_NAME}-notls")
endif()
45 changes: 45 additions & 0 deletions cmake/asm.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
if (WITH_ASM AND NOT XMRIG_ARM AND CMAKE_SIZEOF_VOID_P EQUAL 8)
set(XMRIG_ASM_LIBRARY "xmrig-asm")

if (CMAKE_C_COMPILER_ID MATCHES MSVC)
enable_language(ASM_MASM)

if (MSVC_TOOLSET_VERSION GREATER_EQUAL 141)
set(XMRIG_ASM_FILES
"src/crypto/asm/cn_main_loop.asm"
"src/crypto/asm/CryptonightR_template.asm"
)
else()
set(XMRIG_ASM_FILES
"src/crypto/asm/win64/cn_main_loop.asm"
"src/crypto/asm/win64/CryptonightR_template.asm"
)
endif()

set_property(SOURCE ${XMRIG_ASM_FILES} PROPERTY ASM_MASM)
else()
enable_language(ASM)

if (WIN32 AND CMAKE_C_COMPILER_ID MATCHES GNU)
set(XMRIG_ASM_FILES
"src/crypto/asm/win64/cn_main_loop.S"
"src/crypto/asm/CryptonightR_template.S"
)
else()
set(XMRIG_ASM_FILES
"src/crypto/asm/cn_main_loop.S"
"src/crypto/asm/CryptonightR_template.S"
)
endif()

set_property(SOURCE ${XMRIG_ASM_FILES} PROPERTY C)
endif()

add_library(${XMRIG_ASM_LIBRARY} STATIC ${XMRIG_ASM_FILES})
set(XMRIG_ASM_SOURCES src/crypto/CryptonightR_gen.cpp)
set_property(TARGET ${XMRIG_ASM_LIBRARY} PROPERTY LINKER_LANGUAGE C)
else()
set(XMRIG_ASM_SOURCES "")
set(XMRIG_ASM_LIBRARY "")
add_definitions(/DXMRIG_NO_ASM)
endif()
23 changes: 23 additions & 0 deletions cmake/cn-gpu.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
if (WITH_CN_GPU AND CMAKE_SIZEOF_VOID_P EQUAL 8)

if (XMRIG_ARM)
set(CN_GPU_SOURCES src/crypto/cn_gpu_arm.cpp)

if (CMAKE_CXX_COMPILER_ID MATCHES GNU OR CMAKE_CXX_COMPILER_ID MATCHES Clang)
set_source_files_properties(src/crypto/cn_gpu_arm.cpp PROPERTIES COMPILE_FLAGS "-O2")
endif()
else()
set(CN_GPU_SOURCES src/crypto/cn_gpu_avx.cpp src/crypto/cn_gpu_ssse3.cpp)

if (CMAKE_CXX_COMPILER_ID MATCHES GNU OR CMAKE_CXX_COMPILER_ID MATCHES Clang)
set_source_files_properties(src/crypto/cn_gpu_avx.cpp PROPERTIES COMPILE_FLAGS "-O2 -mavx2")
set_source_files_properties(src/crypto/cn_gpu_ssse3.cpp PROPERTIES COMPILE_FLAGS "-O2")
elseif (CMAKE_CXX_COMPILER_ID MATCHES MSVC)
set_source_files_properties(src/crypto/cn_gpu_avx.cpp PROPERTIES COMPILE_FLAGS "/arch:AVX")
endif()
endif()
else()
set(CN_GPU_SOURCES "")

add_definitions(/DXMRIG_NO_CN_GPU)
endif()
Loading

0 comments on commit df31868

Please sign in to comment.