Separate bench and mo bench
This commit is contained in:
parent
5a8a726f69
commit
81b629acad
12 changed files with 25 additions and 33 deletions
|
@ -24,7 +24,7 @@ option(WITH_NVML "Enable NVML (NVIDIA Management Library) support (on
|
||||||
option(WITH_ADL "Enable ADL (AMD Display Library) or sysfs support (only if OpenCL backend enabled)" ON)
|
option(WITH_ADL "Enable ADL (AMD Display Library) or sysfs support (only if OpenCL backend enabled)" ON)
|
||||||
option(WITH_STRICT_CACHE "Enable strict checks for OpenCL cache" ON)
|
option(WITH_STRICT_CACHE "Enable strict checks for OpenCL cache" ON)
|
||||||
option(WITH_INTERLEAVE_DEBUG_LOG "Enable debug log for threads interleave" OFF)
|
option(WITH_INTERLEAVE_DEBUG_LOG "Enable debug log for threads interleave" OFF)
|
||||||
option(WITH_BENCHMARK "Enable Benchmark module and algo-perf feature (for MoneroOcean)" ON)
|
option(WITH_MO_BENCHMARK "Enable Benchmark module and algo-perf feature (for MoneroOcean)" ON)
|
||||||
option(WITH_PROFILING "Enable profiling for developers" OFF)
|
option(WITH_PROFILING "Enable profiling for developers" OFF)
|
||||||
option(WITH_SSE4_1 "Enable SSE 4.1 for Blake2" ON)
|
option(WITH_SSE4_1 "Enable SSE 4.1 for Blake2" ON)
|
||||||
option(WITH_BENCHMARK "Enable builtin RandomX benchmark and stress test" ON)
|
option(WITH_BENCHMARK "Enable builtin RandomX benchmark and stress test" ON)
|
||||||
|
@ -124,11 +124,11 @@ set(SOURCES_CRYPTO
|
||||||
src/crypto/common/VirtualMemory.cpp
|
src/crypto/common/VirtualMemory.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
if (WITH_BENCHMARK)
|
if (WITH_MO_BENCHMARK)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
src/core/MoBenchmark.cpp
|
src/core/MoBenchmark.cpp
|
||||||
)
|
)
|
||||||
add_definitions(/DXMRIG_FEATURE_BENCHMARK)
|
add_definitions(/DXMRIG_FEATURE_MO_BENCHMARK)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WITH_HWLOC)
|
if (WITH_HWLOC)
|
||||||
|
|
|
@ -89,7 +89,7 @@ int xmrig::App::exec()
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
m_controller->pre_start();
|
m_controller->pre_start();
|
||||||
m_controller->config()->benchmark().set_controller(m_controller);
|
m_controller->config()->benchmark().set_controller(m_controller);
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ const char *ocl_tag();
|
||||||
const char *cuda_tag();
|
const char *cuda_tag();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef XMRIG_FEATURE_BENCHMARK
|
#ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
const char *bm_tag();
|
const char *bm_tag();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -113,7 +113,7 @@ const char *xmrig::Tags::opencl()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef XMRIG_FEATURE_BENCHMARK
|
#ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
const char *xmrig::Tags::benchmark()
|
const char *xmrig::Tags::benchmark()
|
||||||
{
|
{
|
||||||
static const char *tag = BRIGHT_BLACK_BG(CYAN_BOLD_S " benchmk ");
|
static const char *tag = BRIGHT_BLACK_BG(CYAN_BOLD_S " benchmk ");
|
||||||
|
|
|
@ -57,7 +57,7 @@ public:
|
||||||
static const char *opencl();
|
static const char *opencl();
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
static const char *benchmark();
|
static const char *benchmark();
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
namespace xmrig {
|
namespace xmrig {
|
||||||
|
|
||||||
|
|
||||||
#ifdef XMRIG_FEATURE_BENCHMARK
|
#ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
const char *BaseConfig::kAlgoPerf = "algo-perf";
|
const char *BaseConfig::kAlgoPerf = "algo-perf";
|
||||||
#endif
|
#endif
|
||||||
const char *BaseConfig::kApi = "api";
|
const char *BaseConfig::kApi = "api";
|
||||||
|
@ -60,7 +60,7 @@ const char *BaseConfig::kApiId = "id";
|
||||||
const char *BaseConfig::kApiWorkerId = "worker-id";
|
const char *BaseConfig::kApiWorkerId = "worker-id";
|
||||||
const char *BaseConfig::kAutosave = "autosave";
|
const char *BaseConfig::kAutosave = "autosave";
|
||||||
const char *BaseConfig::kBackground = "background";
|
const char *BaseConfig::kBackground = "background";
|
||||||
#ifdef XMRIG_FEATURE_BENCHMARK
|
#ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
const char *BaseConfig::kBenchAlgoTime = "bench-algo-time";
|
const char *BaseConfig::kBenchAlgoTime = "bench-algo-time";
|
||||||
#endif
|
#endif
|
||||||
const char *BaseConfig::kColors = "colors";
|
const char *BaseConfig::kColors = "colors";
|
||||||
|
@ -69,16 +69,13 @@ const char *BaseConfig::kHttp = "http";
|
||||||
const char *BaseConfig::kLogFile = "log-file";
|
const char *BaseConfig::kLogFile = "log-file";
|
||||||
const char *BaseConfig::kPauseOnBattery = "pause-on-battery";
|
const char *BaseConfig::kPauseOnBattery = "pause-on-battery";
|
||||||
const char *BaseConfig::kPrintTime = "print-time";
|
const char *BaseConfig::kPrintTime = "print-time";
|
||||||
#ifdef XMRIG_FEATURE_BENCHMARK
|
#ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
const char *BaseConfig::kRebenchAlgo = "rebench-algo";
|
const char *BaseConfig::kRebenchAlgo = "rebench-algo";
|
||||||
#endif
|
#endif
|
||||||
const char *BaseConfig::kSyslog = "syslog";
|
const char *BaseConfig::kSyslog = "syslog";
|
||||||
const char *BaseConfig::kTitle = "title";
|
const char *BaseConfig::kTitle = "title";
|
||||||
const char *BaseConfig::kUserAgent = "user-agent";
|
const char *BaseConfig::kUserAgent = "user-agent";
|
||||||
const char *BaseConfig::kVerbose = "verbose";
|
const char *BaseConfig::kVerbose = "verbose";
|
||||||
#ifdef XMRIG_FEATURE_BENCHMARK
|
|
||||||
const char *BaseConfig::kVersion = "version";
|
|
||||||
#endif
|
|
||||||
const char *BaseConfig::kWatch = "watch";
|
const char *BaseConfig::kWatch = "watch";
|
||||||
|
|
||||||
|
|
||||||
|
@ -101,7 +98,7 @@ bool xmrig::BaseConfig::read(const IJsonReader &reader, const char *fileName)
|
||||||
m_autoSave = reader.getBool(kAutosave, m_autoSave);
|
m_autoSave = reader.getBool(kAutosave, m_autoSave);
|
||||||
m_background = reader.getBool(kBackground, m_background);
|
m_background = reader.getBool(kBackground, m_background);
|
||||||
m_dryRun = reader.getBool(kDryRun, m_dryRun);
|
m_dryRun = reader.getBool(kDryRun, m_dryRun);
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
m_rebenchAlgo = reader.getBool(kRebenchAlgo, m_rebenchAlgo);
|
m_rebenchAlgo = reader.getBool(kRebenchAlgo, m_rebenchAlgo);
|
||||||
# endif
|
# endif
|
||||||
m_syslog = reader.getBool(kSyslog, m_syslog);
|
m_syslog = reader.getBool(kSyslog, m_syslog);
|
||||||
|
@ -117,8 +114,7 @@ bool xmrig::BaseConfig::read(const IJsonReader &reader, const char *fileName)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
Log::setColors(reader.getBool(kColors, Log::isColors()));
|
Log::setColors(reader.getBool(kColors, Log::isColors()));
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
m_version = reader.getUint(kVersion);
|
|
||||||
m_benchAlgoTime = reader.getInt(kBenchAlgoTime, m_benchAlgoTime);
|
m_benchAlgoTime = reader.getInt(kBenchAlgoTime, m_benchAlgoTime);
|
||||||
# endif
|
# endif
|
||||||
setVerbose(reader.getValue(kVerbose));
|
setVerbose(reader.getValue(kVerbose));
|
||||||
|
|
|
@ -46,7 +46,7 @@ class IJsonReader;
|
||||||
class BaseConfig : public IConfig
|
class BaseConfig : public IConfig
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
static const char *kAlgoPerf;
|
static const char *kAlgoPerf;
|
||||||
# endif
|
# endif
|
||||||
static const char *kApi;
|
static const char *kApi;
|
||||||
|
@ -54,7 +54,7 @@ public:
|
||||||
static const char *kApiWorkerId;
|
static const char *kApiWorkerId;
|
||||||
static const char *kAutosave;
|
static const char *kAutosave;
|
||||||
static const char *kBackground;
|
static const char *kBackground;
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
static const char *kBenchAlgoTime;
|
static const char *kBenchAlgoTime;
|
||||||
# endif
|
# endif
|
||||||
static const char *kColors;
|
static const char *kColors;
|
||||||
|
@ -63,16 +63,13 @@ public:
|
||||||
static const char *kLogFile;
|
static const char *kLogFile;
|
||||||
static const char *kPauseOnBattery;
|
static const char *kPauseOnBattery;
|
||||||
static const char *kPrintTime;
|
static const char *kPrintTime;
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
static const char *kRebenchAlgo;
|
static const char *kRebenchAlgo;
|
||||||
# endif
|
# endif
|
||||||
static const char *kSyslog;
|
static const char *kSyslog;
|
||||||
static const char *kTitle;
|
static const char *kTitle;
|
||||||
static const char *kUserAgent;
|
static const char *kUserAgent;
|
||||||
static const char *kVerbose;
|
static const char *kVerbose;
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
|
||||||
static const char *kVersion;
|
|
||||||
# endif
|
|
||||||
static const char *kWatch;
|
static const char *kWatch;
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_TLS
|
# ifdef XMRIG_FEATURE_TLS
|
||||||
|
@ -95,7 +92,7 @@ public:
|
||||||
inline const Title &title() const { return m_title; }
|
inline const Title &title() const { return m_title; }
|
||||||
inline uint32_t printTime() const { return m_printTime; }
|
inline uint32_t printTime() const { return m_printTime; }
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
inline bool isRebenchAlgo() const { return m_rebenchAlgo; }
|
inline bool isRebenchAlgo() const { return m_rebenchAlgo; }
|
||||||
inline int benchAlgoTime() const { return m_benchAlgoTime; }
|
inline int benchAlgoTime() const { return m_benchAlgoTime; }
|
||||||
# endif
|
# endif
|
||||||
|
@ -131,8 +128,7 @@ protected:
|
||||||
Title m_title;
|
Title m_title;
|
||||||
uint32_t m_printTime = 60;
|
uint32_t m_printTime = 60;
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
uint32_t m_version = 0;
|
|
||||||
bool m_rebenchAlgo = false;
|
bool m_rebenchAlgo = false;
|
||||||
int m_benchAlgoTime = 10;
|
int m_benchAlgoTime = 10;
|
||||||
# endif
|
# endif
|
||||||
|
|
|
@ -253,7 +253,7 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch
|
||||||
# ifdef XMRIG_FEATURE_HTTP
|
# ifdef XMRIG_FEATURE_HTTP
|
||||||
case IConfig::DaemonPollKey: /* --daemon-poll-interval */
|
case IConfig::DaemonPollKey: /* --daemon-poll-interval */
|
||||||
# endif
|
# endif
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
||||||
# endif
|
# endif
|
||||||
return transformUint64(doc, key, static_cast<uint64_t>(strtol(arg, nullptr, 10)));
|
return transformUint64(doc, key, static_cast<uint64_t>(strtol(arg, nullptr, 10)));
|
||||||
|
@ -271,7 +271,7 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch
|
||||||
case IConfig::DaemonKey: /* --daemon */
|
case IConfig::DaemonKey: /* --daemon */
|
||||||
# endif
|
# endif
|
||||||
case IConfig::VerboseKey: /* --verbose */
|
case IConfig::VerboseKey: /* --verbose */
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
case IConfig::RebenchAlgoKey: /* --rebench-algo */
|
case IConfig::RebenchAlgoKey: /* --rebench-algo */
|
||||||
# endif
|
# endif
|
||||||
case IConfig::PauseOnBatteryKey: /* --pause-on-battery */
|
case IConfig::PauseOnBatteryKey: /* --pause-on-battery */
|
||||||
|
@ -333,7 +333,7 @@ void xmrig::BaseTransform::transformBoolean(rapidjson::Document &doc, int key, b
|
||||||
case IConfig::NoTitleKey: /* --no-title */
|
case IConfig::NoTitleKey: /* --no-title */
|
||||||
return set(doc, BaseConfig::kTitle, enable);
|
return set(doc, BaseConfig::kTitle, enable);
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
case IConfig::RebenchAlgoKey: /* --rebench-algo */
|
case IConfig::RebenchAlgoKey: /* --rebench-algo */
|
||||||
return set(doc, BaseConfig::kRebenchAlgo, enable);
|
return set(doc, BaseConfig::kRebenchAlgo, enable);
|
||||||
# endif
|
# endif
|
||||||
|
@ -374,7 +374,7 @@ void xmrig::BaseTransform::transformUint64(rapidjson::Document &doc, int key, ui
|
||||||
return add(doc, Pools::kPools, Pool::kDaemonPollInterval, arg);
|
return add(doc, Pools::kPools, Pool::kDaemonPollInterval, arg);
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
||||||
return set(doc, BaseConfig::kBenchAlgoTime, arg);
|
return set(doc, BaseConfig::kBenchAlgoTime, arg);
|
||||||
# endif
|
# endif
|
||||||
|
|
|
@ -85,7 +85,7 @@ public:
|
||||||
NicehashKey = 1006,
|
NicehashKey = 1006,
|
||||||
PrintTimeKey = 1007,
|
PrintTimeKey = 1007,
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
RebenchAlgoKey = 10001,
|
RebenchAlgoKey = 10001,
|
||||||
BenchAlgoTimeKey = 10002,
|
BenchAlgoTimeKey = 10002,
|
||||||
# endif
|
# endif
|
||||||
|
|
|
@ -59,7 +59,7 @@ int xmrig::Controller::init()
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef XMRIG_FEATURE_BENCHMARK
|
#ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
void xmrig::Controller::pre_start()
|
void xmrig::Controller::pre_start()
|
||||||
{
|
{
|
||||||
m_miner = new Miner(this);
|
m_miner = new Miner(this);
|
||||||
|
|
|
@ -47,7 +47,7 @@ public:
|
||||||
~Controller() override;
|
~Controller() override;
|
||||||
|
|
||||||
int init() override;
|
int init() override;
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
void pre_start();
|
void pre_start();
|
||||||
# endif
|
# endif
|
||||||
void start() override;
|
void start() override;
|
||||||
|
|
|
@ -210,7 +210,7 @@ void xmrig::Network::onLogin(IStrategy *, IClient *client, rapidjson::Document &
|
||||||
|
|
||||||
params.AddMember("algo", algo, allocator);
|
params.AddMember("algo", algo, allocator);
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
Value algo_perf(kObjectType);
|
Value algo_perf(kObjectType);
|
||||||
|
|
||||||
for (const auto &a : algorithms) {
|
for (const auto &a : algorithms) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue