Separate bench and mo bench

This commit is contained in:
MoneroOcean 2020-10-25 04:20:01 +00:00
parent 5a8a726f69
commit 81b629acad
12 changed files with 25 additions and 33 deletions

View file

@ -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_STRICT_CACHE "Enable strict checks for OpenCL cache" ON)
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_SSE4_1 "Enable SSE 4.1 for Blake2" ON)
option(WITH_BENCHMARK "Enable builtin RandomX benchmark and stress test" ON)
@ -124,11 +124,11 @@ set(SOURCES_CRYPTO
src/crypto/common/VirtualMemory.cpp
)
if (WITH_BENCHMARK)
if (WITH_MO_BENCHMARK)
list(APPEND SOURCES
src/core/MoBenchmark.cpp
)
add_definitions(/DXMRIG_FEATURE_BENCHMARK)
add_definitions(/DXMRIG_FEATURE_MO_BENCHMARK)
endif()
if (WITH_HWLOC)

View file

@ -89,7 +89,7 @@ int xmrig::App::exec()
return 0;
}
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
m_controller->pre_start();
m_controller->config()->benchmark().set_controller(m_controller);

View file

@ -46,7 +46,7 @@ const char *ocl_tag();
const char *cuda_tag();
#endif
#ifdef XMRIG_FEATURE_BENCHMARK
#ifdef XMRIG_FEATURE_MO_BENCHMARK
const char *bm_tag();
#endif

View file

@ -113,7 +113,7 @@ const char *xmrig::Tags::opencl()
#endif
#ifdef XMRIG_FEATURE_BENCHMARK
#ifdef XMRIG_FEATURE_MO_BENCHMARK
const char *xmrig::Tags::benchmark()
{
static const char *tag = BRIGHT_BLACK_BG(CYAN_BOLD_S " benchmk ");

View file

@ -57,7 +57,7 @@ public:
static const char *opencl();
# endif
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
static const char *benchmark();
# endif

View file

@ -52,7 +52,7 @@
namespace xmrig {
#ifdef XMRIG_FEATURE_BENCHMARK
#ifdef XMRIG_FEATURE_MO_BENCHMARK
const char *BaseConfig::kAlgoPerf = "algo-perf";
#endif
const char *BaseConfig::kApi = "api";
@ -60,7 +60,7 @@ const char *BaseConfig::kApiId = "id";
const char *BaseConfig::kApiWorkerId = "worker-id";
const char *BaseConfig::kAutosave = "autosave";
const char *BaseConfig::kBackground = "background";
#ifdef XMRIG_FEATURE_BENCHMARK
#ifdef XMRIG_FEATURE_MO_BENCHMARK
const char *BaseConfig::kBenchAlgoTime = "bench-algo-time";
#endif
const char *BaseConfig::kColors = "colors";
@ -69,16 +69,13 @@ const char *BaseConfig::kHttp = "http";
const char *BaseConfig::kLogFile = "log-file";
const char *BaseConfig::kPauseOnBattery = "pause-on-battery";
const char *BaseConfig::kPrintTime = "print-time";
#ifdef XMRIG_FEATURE_BENCHMARK
#ifdef XMRIG_FEATURE_MO_BENCHMARK
const char *BaseConfig::kRebenchAlgo = "rebench-algo";
#endif
const char *BaseConfig::kSyslog = "syslog";
const char *BaseConfig::kTitle = "title";
const char *BaseConfig::kUserAgent = "user-agent";
const char *BaseConfig::kVerbose = "verbose";
#ifdef XMRIG_FEATURE_BENCHMARK
const char *BaseConfig::kVersion = "version";
#endif
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_background = reader.getBool(kBackground, m_background);
m_dryRun = reader.getBool(kDryRun, m_dryRun);
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
m_rebenchAlgo = reader.getBool(kRebenchAlgo, m_rebenchAlgo);
# endif
m_syslog = reader.getBool(kSyslog, m_syslog);
@ -117,8 +114,7 @@ bool xmrig::BaseConfig::read(const IJsonReader &reader, const char *fileName)
# endif
Log::setColors(reader.getBool(kColors, Log::isColors()));
# ifdef XMRIG_FEATURE_BENCHMARK
m_version = reader.getUint(kVersion);
# ifdef XMRIG_FEATURE_MO_BENCHMARK
m_benchAlgoTime = reader.getInt(kBenchAlgoTime, m_benchAlgoTime);
# endif
setVerbose(reader.getValue(kVerbose));

View file

@ -46,7 +46,7 @@ class IJsonReader;
class BaseConfig : public IConfig
{
public:
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
static const char *kAlgoPerf;
# endif
static const char *kApi;
@ -54,7 +54,7 @@ public:
static const char *kApiWorkerId;
static const char *kAutosave;
static const char *kBackground;
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
static const char *kBenchAlgoTime;
# endif
static const char *kColors;
@ -63,16 +63,13 @@ public:
static const char *kLogFile;
static const char *kPauseOnBattery;
static const char *kPrintTime;
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
static const char *kRebenchAlgo;
# endif
static const char *kSyslog;
static const char *kTitle;
static const char *kUserAgent;
static const char *kVerbose;
# ifdef XMRIG_FEATURE_BENCHMARK
static const char *kVersion;
# endif
static const char *kWatch;
# ifdef XMRIG_FEATURE_TLS
@ -95,7 +92,7 @@ public:
inline const Title &title() const { return m_title; }
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 int benchAlgoTime() const { return m_benchAlgoTime; }
# endif
@ -131,8 +128,7 @@ protected:
Title m_title;
uint32_t m_printTime = 60;
# ifdef XMRIG_FEATURE_BENCHMARK
uint32_t m_version = 0;
# ifdef XMRIG_FEATURE_MO_BENCHMARK
bool m_rebenchAlgo = false;
int m_benchAlgoTime = 10;
# endif

View file

@ -253,7 +253,7 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch
# ifdef XMRIG_FEATURE_HTTP
case IConfig::DaemonPollKey: /* --daemon-poll-interval */
# endif
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
# endif
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 */
# endif
case IConfig::VerboseKey: /* --verbose */
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
case IConfig::RebenchAlgoKey: /* --rebench-algo */
# endif
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 */
return set(doc, BaseConfig::kTitle, enable);
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
case IConfig::RebenchAlgoKey: /* --rebench-algo */
return set(doc, BaseConfig::kRebenchAlgo, enable);
# endif
@ -374,7 +374,7 @@ void xmrig::BaseTransform::transformUint64(rapidjson::Document &doc, int key, ui
return add(doc, Pools::kPools, Pool::kDaemonPollInterval, arg);
# endif
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
return set(doc, BaseConfig::kBenchAlgoTime, arg);
# endif

View file

@ -85,7 +85,7 @@ public:
NicehashKey = 1006,
PrintTimeKey = 1007,
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
RebenchAlgoKey = 10001,
BenchAlgoTimeKey = 10002,
# endif

View file

@ -59,7 +59,7 @@ int xmrig::Controller::init()
return 0;
}
#ifdef XMRIG_FEATURE_BENCHMARK
#ifdef XMRIG_FEATURE_MO_BENCHMARK
void xmrig::Controller::pre_start()
{
m_miner = new Miner(this);

View file

@ -47,7 +47,7 @@ public:
~Controller() override;
int init() override;
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
void pre_start();
# endif
void start() override;

View file

@ -210,7 +210,7 @@ void xmrig::Network::onLogin(IStrategy *, IClient *client, rapidjson::Document &
params.AddMember("algo", algo, allocator);
# ifdef XMRIG_FEATURE_BENCHMARK
# ifdef XMRIG_FEATURE_MO_BENCHMARK
Value algo_perf(kObjectType);
for (const auto &a : algorithms) {