From 623ac0ab640a57cc42ddb3c0285afadf198cbd84 Mon Sep 17 00:00:00 2001 From: Matthew Sembinelli Date: Fri, 20 Sep 2019 14:06:38 -0600 Subject: [PATCH 1/9] Improve grammar and spelling on usage section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ee499d47..51a470ea 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ XMRig is a high performance RandomX and CryptoNight CPU miner, with official sup * Clone with `git clone https://github.com/xmrig/xmrig.git` :hammer: [Build instructions](https://github.com/xmrig/xmrig/wiki/Build). ## Usage -Preferend way to configure miner is [JSON config file](src/config.json) as more flexible and human frendly, command line interface not cover all features, for example mining profiles for different algorithms. Most impotant options can be changed in runtime without miner restart by editing config or via API. +The preferred way to configure the miner is the [JSON config file](src/config.json) as it is more flexible and human friendly. The command line interface does not cover all features, such as mining profiles for different algorithms. Important options can be changed during runtime without miner restart by editing the config file or executing API calls. ### Options ``` From ea148d9aad9d0012f7818e5c0e64890bf48cbe89 Mon Sep 17 00:00:00 2001 From: XMRig Date: Sat, 28 Sep 2019 03:40:53 +0700 Subject: [PATCH 2/9] v3.2.0-dev --- CHANGELOG.md | 4 ++++ src/version.h | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a3cda0c..45eb61bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# v3.2.0 +- Added per pool option `coin` with single possible value `monero` for pools without algorithm negotiation, for upcoming Monero fork. +- [#1183](https://github.com/xmrig/xmrig/issues/1183) Fixed compatibility with systemd. + # v3.1.3 - [#1180](https://github.com/xmrig/xmrig/issues/1180) Fixed possible duplicated shares after algorithm switching. - Fixed wrong config file permissions after write (only gcc builds on recent Windows 10 affected). diff --git a/src/version.h b/src/version.h index 81e2bcce..9e2cdcc5 100644 --- a/src/version.h +++ b/src/version.h @@ -28,15 +28,15 @@ #define APP_ID "xmrig" #define APP_NAME "XMRig" #define APP_DESC "XMRig CPU miner" -#define APP_VERSION "3.1.4-dev" +#define APP_VERSION "3.2.0-dev" #define APP_DOMAIN "xmrig.com" #define APP_SITE "www.xmrig.com" #define APP_COPYRIGHT "Copyright (C) 2016-2019 xmrig.com" #define APP_KIND "cpu" #define APP_VER_MAJOR 3 -#define APP_VER_MINOR 1 -#define APP_VER_PATCH 4 +#define APP_VER_MINOR 2 +#define APP_VER_PATCH 0 #ifdef _MSC_VER # if (_MSC_VER >= 1920) From 1806b1025724da5f12e899c1bdfdaff674ae1630 Mon Sep 17 00:00:00 2001 From: xmrig Date: Sat, 28 Sep 2019 08:28:31 +0700 Subject: [PATCH 3/9] Update ALGORITHMS.md --- doc/ALGORITHMS.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/ALGORITHMS.md b/doc/ALGORITHMS.md index aff8b3bf..73ae3fb5 100644 --- a/doc/ALGORITHMS.md +++ b/doc/ALGORITHMS.md @@ -25,10 +25,9 @@ Since version 3 mining [algorithm](#algorithm-names) should specified for each p | Name | Memory | Version | Notes | |------|--------|---------|-------| +| `rx/0` | 2 MB | 3.2.0+ | RandomX (Monero). | | `argon2/chukwa` | 512 KB | 3.1.0+ | Argon2id (Chukwa). | | `argon2/wrkz` | 256 KB | 3.1.0+ | Argon2id (WRKZ) | -| `rx/test` | 2 MB | 3.0.0+ | RandomX (reference configuration). | -| `rx/0` | 2 MB | 3.0.0+ | RandomX (reference configuration), reserved for future use. | | `rx/wow` | 1 MB | 3.0.0+ | RandomWOW. | | `rx/loki` | 2 MB | 3.0.0+ | RandomXL. | | `cn/fast` | 2 MB | 3.0.0+ | CryptoNight variant 1 with half iterations. | From 213c318aaaea667d577bbba5f1c090b6806296bc Mon Sep 17 00:00:00 2001 From: xmrig Date: Sat, 28 Sep 2019 08:43:31 +0700 Subject: [PATCH 4/9] Update ALGORITHMS.md --- doc/ALGORITHMS.md | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/doc/ALGORITHMS.md b/doc/ALGORITHMS.md index 73ae3fb5..ab22468d 100644 --- a/doc/ALGORITHMS.md +++ b/doc/ALGORITHMS.md @@ -1,27 +1,12 @@ # Algorithms -Since version 3 mining [algorithm](#algorithm-names) should specified for each pool separately (`algo` option), earlier versions was use one global `algo` option and per pool `variant` option (this option was removed in v3). If your pool support [mining algorithm negotiation](https://github.com/xmrig/xmrig-proxy/issues/168) you may not specify this option at all. - -#### Example -```json -{ - "pools": [ - { - "url": "...", - "algo": "cn/r", - ... - } - ], - ... -} -``` +Algorithm can be defined in 3 ways: -#### Pools with mining algorithm negotiation support. +1. By pool, using algorithm negotiation, in this case no need specify algorithm on miner side. +2. Per pool `coin` option, currently only usable value for this option is `monero`. +3. Per pool `algo` option. - * [www.hashvault.pro](https://www.hashvault.pro/) - * [moneroocean.stream](https://moneroocean.stream) - - ## Algorithm names +## Algorithm names | Name | Memory | Version | Notes | |------|--------|---------|-------| @@ -49,3 +34,21 @@ Since version 3 mining [algorithm](#algorithm-names) should specified for each p | `cn-lite/1` | 1 MB | 2.5.0+ | CryptoNight-Lite variant 1. | | `cn-lite/0` | 1 MB | 0.8.0+ | CryptoNight-Lite variant 0. | | `cn/0` | 2 MB | 0.5.0+ | CryptoNight (original). | + +## Migration to v3 +Since version 3 mining [algorithm](#algorithm-names) should specified for each pool separately (`algo` option), earlier versions was use one global `algo` option and per pool `variant` option (this option was removed in v3). If your pool support [mining algorithm negotiation](https://github.com/xmrig/xmrig-proxy/issues/168) you may not specify this option at all. + +#### Example +```json +{ + "pools": [ + { + "url": "...", + "algo": "cn/r", + "coin": null + ... + } + ], + ... +} +``` From 49c22010f69689c53266038ef560a88078aee0b5 Mon Sep 17 00:00:00 2001 From: xmrig Date: Sat, 28 Sep 2019 09:00:50 +0700 Subject: [PATCH 5/9] Update ALGORITHMS.md --- doc/ALGORITHMS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/ALGORITHMS.md b/doc/ALGORITHMS.md index ab22468d..c31ad6c7 100644 --- a/doc/ALGORITHMS.md +++ b/doc/ALGORITHMS.md @@ -6,6 +6,8 @@ Algorithm can be defined in 3 ways: 2. Per pool `coin` option, currently only usable value for this option is `monero`. 3. Per pool `algo` option. +Option `coin` useful for pools without algorithm negotiation support or daemon to allow automatically switch algorithm in next hard fork. + ## Algorithm names | Name | Memory | Version | Notes | From 84e69d316b5e042e52625ba41a65c1baba938887 Mon Sep 17 00:00:00 2001 From: XMRig Date: Sat, 28 Sep 2019 23:03:12 +0700 Subject: [PATCH 6/9] v3.2.0 --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 9e2cdcc5..36d89e61 100644 --- a/src/version.h +++ b/src/version.h @@ -28,7 +28,7 @@ #define APP_ID "xmrig" #define APP_NAME "XMRig" #define APP_DESC "XMRig CPU miner" -#define APP_VERSION "3.2.0-dev" +#define APP_VERSION "3.2.0" #define APP_DOMAIN "xmrig.com" #define APP_SITE "www.xmrig.com" #define APP_COPYRIGHT "Copyright (C) 2016-2019 xmrig.com" From 959d0686983275a93c28a32e7579afed02825c5b Mon Sep 17 00:00:00 2001 From: xmrig Date: Sun, 29 Sep 2019 04:10:38 +0700 Subject: [PATCH 7/9] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 51a470ea..be1ed702 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # XMRig +**:warning: [Monero will change PoW algorithm to RandomX on November 30.](https://github.com/xmrig/xmrig/issues/1204)** + [![Github All Releases](https://img.shields.io/github/downloads/xmrig/xmrig/total.svg)](https://github.com/xmrig/xmrig/releases) [![GitHub release](https://img.shields.io/github/release/xmrig/xmrig/all.svg)](https://github.com/xmrig/xmrig/releases) [![GitHub Release Date](https://img.shields.io/github/release-date-pre/xmrig/xmrig.svg)](https://github.com/xmrig/xmrig/releases) From 76f1ae83bba928bea58d9d3038f41646e17c5490 Mon Sep 17 00:00:00 2001 From: XMRig Date: Sun, 29 Sep 2019 04:25:35 +0700 Subject: [PATCH 8/9] v3.2.1-dev --- src/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.h b/src/version.h index 36d89e61..c92b3377 100644 --- a/src/version.h +++ b/src/version.h @@ -28,7 +28,7 @@ #define APP_ID "xmrig" #define APP_NAME "XMRig" #define APP_DESC "XMRig CPU miner" -#define APP_VERSION "3.2.0" +#define APP_VERSION "3.2.1-dev" #define APP_DOMAIN "xmrig.com" #define APP_SITE "www.xmrig.com" #define APP_COPYRIGHT "Copyright (C) 2016-2019 xmrig.com" @@ -36,7 +36,7 @@ #define APP_VER_MAJOR 3 #define APP_VER_MINOR 2 -#define APP_VER_PATCH 0 +#define APP_VER_PATCH 1 #ifdef _MSC_VER # if (_MSC_VER >= 1920) From aaddfbe7799057e88d0453ae6d77af3cca5d1df3 Mon Sep 17 00:00:00 2001 From: XMRig Date: Tue, 1 Oct 2019 07:19:13 +0700 Subject: [PATCH 9/9] Fixed support for systems where total count of NUMA nodes not equal usable count. --- src/backend/cpu/platform/HwlocCpuInfo.cpp | 2 +- src/crypto/rx/Rx.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/cpu/platform/HwlocCpuInfo.cpp b/src/backend/cpu/platform/HwlocCpuInfo.cpp index 9e503742..244e6cd3 100644 --- a/src/backend/cpu/platform/HwlocCpuInfo.cpp +++ b/src/backend/cpu/platform/HwlocCpuInfo.cpp @@ -178,7 +178,7 @@ xmrig::HwlocCpuInfo::HwlocCpuInfo() : BasicCpuInfo(), m_threads = countByType(m_topology, HWLOC_OBJ_PU); m_cores = countByType(m_topology, HWLOC_OBJ_CORE); - m_nodes = std::max(countByType(m_topology, HWLOC_OBJ_NUMANODE), 1); + m_nodes = std::max(hwloc_bitmap_weight(hwloc_topology_get_complete_nodeset(m_topology)), 1); m_packages = countByType(m_topology, HWLOC_OBJ_PACKAGE); if (m_nodes > 1) { diff --git a/src/crypto/rx/Rx.cpp b/src/crypto/rx/Rx.cpp index 8e757ddf..8e3730ad 100644 --- a/src/crypto/rx/Rx.cpp +++ b/src/crypto/rx/Rx.cpp @@ -246,7 +246,7 @@ xmrig::RxDataset *xmrig::Rx::dataset(const Job &job, uint32_t nodeId) return nullptr; } - return d_ptr->datasets.at(d_ptr->isNUMA() ? nodeId : 0); + return d_ptr->datasets.at(d_ptr->isNUMA() ? (d_ptr->datasets.count(nodeId) ? nodeId : HwlocCpuInfo::nodeIndexes().front()) : 0); }