From cbc08e696ff6579237c6a9f987ab889e88f8ae56 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 17b40ac4ad9f5c15c8801236976ac0efa7190e67 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 9ad174c1296699fc04bb860a453e15e6f70b343c 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 f96538dfba1125dcd10f78eb8b0fb3264c43783a 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 8e9e8cd16960a785732fdcfe182c91e09c75e42c 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 427b6516e0550200c17ca28675118f0fffcc323f 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 919a6c0cc4af9b943a8f0ac0655f71777fd50bf1 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 da39ed2ce0be607baefc9a748777292d94760615 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 3badeb56a0c0b7e83bd1497d3979bf9b1c41af23 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); }