Merge xmrig v6.16.0 into master
This commit is contained in:
commit
9afe95e454
84 changed files with 72411 additions and 233 deletions
|
@ -67,6 +67,11 @@
|
|||
#endif
|
||||
|
||||
|
||||
#ifdef XMRIG_ALGO_GHOSTRIDER
|
||||
# include "crypto/ghostrider/ghostrider.h"
|
||||
#endif
|
||||
|
||||
|
||||
namespace xmrig {
|
||||
|
||||
|
||||
|
@ -334,6 +339,11 @@ public:
|
|||
# endif
|
||||
|
||||
|
||||
# ifdef XMRIG_ALGO_GHOSTRIDER
|
||||
inline void initGhostRider() const { ghostrider::benchmark(); }
|
||||
# endif
|
||||
|
||||
|
||||
Algorithm algorithm;
|
||||
Algorithms algorithms;
|
||||
bool active = false;
|
||||
|
@ -553,6 +563,12 @@ void xmrig::Miner::setJob(const Job &job, bool donate)
|
|||
constexpr const bool ready = true;
|
||||
# endif
|
||||
|
||||
# ifdef XMRIG_ALGO_GHOSTRIDER
|
||||
if (job.algorithm().family() == Algorithm::GHOSTRIDER) {
|
||||
d_ptr->initGhostRider();
|
||||
}
|
||||
# endif
|
||||
|
||||
mutex.unlock();
|
||||
|
||||
d_ptr->active = true;
|
||||
|
|
|
@ -113,32 +113,33 @@ void MoBenchmark::read(const rapidjson::Value &value)
|
|||
|
||||
double MoBenchmark::get_algo_perf(Algorithm::Id algo) const {
|
||||
switch (algo) {
|
||||
case Algorithm::CN_CCX: return m_bench_algo_perf[BenchAlgo::CN_CCX];
|
||||
case Algorithm::CN_0: return m_bench_algo_perf[BenchAlgo::CN_CCX] / 2;
|
||||
case Algorithm::CN_1: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_2: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_R: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_RTO: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_XAO: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_FAST: return m_bench_algo_perf[BenchAlgo::CN_R] * 2;
|
||||
case Algorithm::CN_HALF: return m_bench_algo_perf[BenchAlgo::CN_R] * 2;
|
||||
case Algorithm::CN_RWZ: return m_bench_algo_perf[BenchAlgo::CN_R] / 3 * 4;
|
||||
case Algorithm::CN_ZLS: return m_bench_algo_perf[BenchAlgo::CN_R] / 3 * 4;
|
||||
case Algorithm::CN_DOUBLE: return m_bench_algo_perf[BenchAlgo::CN_R] / 2;
|
||||
case Algorithm::CN_LITE_0: return m_bench_algo_perf[BenchAlgo::CN_LITE_1];
|
||||
case Algorithm::CN_LITE_1: return m_bench_algo_perf[BenchAlgo::CN_LITE_1];
|
||||
case Algorithm::CN_HEAVY_XHV: return m_bench_algo_perf[BenchAlgo::CN_HEAVY_XHV];
|
||||
case Algorithm::CN_PICO_0: return m_bench_algo_perf[BenchAlgo::CN_PICO_0];
|
||||
case Algorithm::CN_PICO_TLO: return m_bench_algo_perf[BenchAlgo::CN_PICO_0];
|
||||
case Algorithm::CN_GPU: return m_bench_algo_perf[BenchAlgo::CN_GPU];
|
||||
case Algorithm::AR2_CHUKWA_V2: return m_bench_algo_perf[BenchAlgo::AR2_CHUKWA_V2];
|
||||
case Algorithm::ASTROBWT_DERO: return m_bench_algo_perf[BenchAlgo::ASTROBWT_DERO];
|
||||
case Algorithm::KAWPOW_RVN: return m_bench_algo_perf[BenchAlgo::KAWPOW_RVN];
|
||||
case Algorithm::RX_0: return m_bench_algo_perf[BenchAlgo::RX_0];
|
||||
case Algorithm::RX_SFX: return m_bench_algo_perf[BenchAlgo::RX_0];
|
||||
case Algorithm::RX_GRAFT: return m_bench_algo_perf[BenchAlgo::RX_GRAFT];
|
||||
case Algorithm::RX_ARQ: return m_bench_algo_perf[BenchAlgo::RX_ARQ];
|
||||
case Algorithm::RX_XLA: return m_bench_algo_perf[BenchAlgo::RX_XLA];
|
||||
case Algorithm::CN_CCX: return m_bench_algo_perf[BenchAlgo::CN_CCX];
|
||||
case Algorithm::CN_0: return m_bench_algo_perf[BenchAlgo::CN_CCX] / 2;
|
||||
case Algorithm::CN_1: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_2: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_R: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_RTO: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_XAO: return m_bench_algo_perf[BenchAlgo::CN_R];
|
||||
case Algorithm::CN_FAST: return m_bench_algo_perf[BenchAlgo::CN_R] * 2;
|
||||
case Algorithm::CN_HALF: return m_bench_algo_perf[BenchAlgo::CN_R] * 2;
|
||||
case Algorithm::CN_RWZ: return m_bench_algo_perf[BenchAlgo::CN_R] / 3 * 4;
|
||||
case Algorithm::CN_ZLS: return m_bench_algo_perf[BenchAlgo::CN_R] / 3 * 4;
|
||||
case Algorithm::CN_DOUBLE: return m_bench_algo_perf[BenchAlgo::CN_R] / 2;
|
||||
case Algorithm::CN_LITE_0: return m_bench_algo_perf[BenchAlgo::CN_LITE_1];
|
||||
case Algorithm::CN_LITE_1: return m_bench_algo_perf[BenchAlgo::CN_LITE_1];
|
||||
case Algorithm::CN_HEAVY_XHV: return m_bench_algo_perf[BenchAlgo::CN_HEAVY_XHV];
|
||||
case Algorithm::CN_PICO_0: return m_bench_algo_perf[BenchAlgo::CN_PICO_0];
|
||||
case Algorithm::CN_PICO_TLO: return m_bench_algo_perf[BenchAlgo::CN_PICO_0];
|
||||
case Algorithm::CN_GPU: return m_bench_algo_perf[BenchAlgo::CN_GPU];
|
||||
case Algorithm::AR2_CHUKWA_V2: return m_bench_algo_perf[BenchAlgo::AR2_CHUKWA_V2];
|
||||
case Algorithm::ASTROBWT_DERO: return m_bench_algo_perf[BenchAlgo::ASTROBWT_DERO];
|
||||
case Algorithm::KAWPOW_RVN: return m_bench_algo_perf[BenchAlgo::KAWPOW_RVN];
|
||||
case Algorithm::RX_0: return m_bench_algo_perf[BenchAlgo::RX_0];
|
||||
case Algorithm::RX_SFX: return m_bench_algo_perf[BenchAlgo::RX_0];
|
||||
case Algorithm::RX_GRAFT: return m_bench_algo_perf[BenchAlgo::RX_GRAFT];
|
||||
case Algorithm::RX_ARQ: return m_bench_algo_perf[BenchAlgo::RX_ARQ];
|
||||
case Algorithm::RX_XLA: return m_bench_algo_perf[BenchAlgo::RX_XLA];
|
||||
case Algorithm::GHOSTRIDER_RTM: return m_bench_algo_perf[BenchAlgo::GHOSTRIDER_RTM];
|
||||
default: return 0.0f;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,19 +34,20 @@ class Job;
|
|||
class MoBenchmark : public IJobResultListener {
|
||||
|
||||
enum BenchAlgo : int {
|
||||
CN_R, // "cn/r" CryptoNightR (Monero's variant 4).
|
||||
CN_LITE_1, // "cn-lite/1" CryptoNight-Lite variant 1.
|
||||
CN_HEAVY_XHV, // "cn-heavy/xhv" CryptoNight-Heavy (modified, Haven Protocol only).
|
||||
CN_PICO_0, // "cn-pico" CryptoNight-Pico.
|
||||
CN_CCX, // "cn/ccx" Conceal (CCX).
|
||||
CN_GPU, // "cn/gpu" CryptoNight-GPU (Ryo).
|
||||
AR2_CHUKWA_V2, // "argon2/chukwav2" Argon2id (Chukwa v2).
|
||||
KAWPOW_RVN, // "kawpow/rvn" KawPow (RVN)
|
||||
ASTROBWT_DERO, // "astrobwt" AstroBWT (Dero).
|
||||
RX_0, // "rx/0" RandomX (Monero).
|
||||
RX_GRAFT, // "rx/graft" RandomGraft (Graft).
|
||||
RX_ARQ, // "rx/arq" RandomARQ (Arqma).
|
||||
RX_XLA, // "panthera" Panthera (Scala2).
|
||||
CN_R, // "cn/r" CryptoNightR (Monero's variant 4).
|
||||
CN_LITE_1, // "cn-lite/1" CryptoNight-Lite variant 1.
|
||||
CN_HEAVY_XHV, // "cn-heavy/xhv" CryptoNight-Heavy (modified, Haven Protocol only).
|
||||
CN_PICO_0, // "cn-pico" CryptoNight-Pico.
|
||||
CN_CCX, // "cn/ccx" Conceal (CCX).
|
||||
CN_GPU, // "cn/gpu" CryptoNight-GPU (Ryo).
|
||||
AR2_CHUKWA_V2, // "argon2/chukwav2" Argon2id (Chukwa v2).
|
||||
KAWPOW_RVN, // "kawpow/rvn" KawPow (RVN)
|
||||
ASTROBWT_DERO, // "astrobwt" AstroBWT (Dero).
|
||||
RX_0, // "rx/0" RandomX (Monero).
|
||||
RX_GRAFT, // "rx/graft" RandomGraft (Graft).
|
||||
RX_ARQ, // "rx/arq" RandomARQ (Arqma).
|
||||
RX_XLA, // "panthera" Panthera (Scala2).
|
||||
//GHOSTRIDER_RTM, // "ghostrider" GhostRider
|
||||
MAX,
|
||||
MIN = 0,
|
||||
INVALID = -1,
|
||||
|
@ -66,6 +67,7 @@ class MoBenchmark : public IJobResultListener {
|
|||
Algorithm::RX_GRAFT,
|
||||
Algorithm::RX_ARQ,
|
||||
Algorithm::RX_XLA,
|
||||
//Algorithm::GHOSTRIDER_RTM,
|
||||
};
|
||||
|
||||
Job* m_bench_job[BenchAlgo::MAX];
|
||||
|
|
|
@ -272,6 +272,7 @@ void xmrig::ConfigTransform::transform(rapidjson::Document &doc, int key, const
|
|||
case IConfig::BenchSeedKey: /* --seed */
|
||||
case IConfig::BenchHashKey: /* --hash */
|
||||
case IConfig::UserKey: /* --user */
|
||||
case IConfig::RotationKey: /* --rotation */
|
||||
return transformBenchmark(doc, key, arg);
|
||||
# endif
|
||||
|
||||
|
@ -361,6 +362,9 @@ void xmrig::ConfigTransform::transformBenchmark(rapidjson::Document &doc, int ke
|
|||
case IConfig::UserKey: /* --user */
|
||||
return set(doc, BenchConfig::kBenchmark, BenchConfig::kUser, arg);
|
||||
|
||||
case IConfig::RotationKey: /* --rotation */
|
||||
return set(doc, BenchConfig::kBenchmark, BenchConfig::kRotation, arg);
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -76,6 +76,7 @@ static const option options[] = {
|
|||
{ "hugepage-size", 1, nullptr, IConfig::HugePageSizeKey },
|
||||
{ "huge-pages-jit", 0, nullptr, IConfig::HugePagesJitKey },
|
||||
{ "hugepages-jit", 0, nullptr, IConfig::HugePagesJitKey },
|
||||
{ "rotation", 1, nullptr, IConfig::RotationKey },
|
||||
{ "pass", 1, nullptr, IConfig::PasswordKey },
|
||||
{ "print-time", 1, nullptr, IConfig::PrintTimeKey },
|
||||
{ "retries", 1, nullptr, IConfig::RetriesKey },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue