From 1961b4b237083f4cfac9ca6b249c1d6cb665d149 Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Tue, 14 Jul 2026 17:29:02 +0200 Subject: Initial (refactor) --- arch/v1/client_plots.h | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 arch/v1/client_plots.h (limited to 'arch/v1/client_plots.h') diff --git a/arch/v1/client_plots.h b/arch/v1/client_plots.h new file mode 100644 index 0000000..4b2c3af --- /dev/null +++ b/arch/v1/client_plots.h @@ -0,0 +1,83 @@ +// file : arch/v1/client_plots.h +// project : Salis-VM +// author : Paul Oliver + +#pragma once + +// index: + +static std::array g_arch_traces = std::to_array>({ +#define ARCH_SPEC_INST(label, symbol, core) \ + {#label "_pop_" #core, #label}, \ + {#label "_exe_" #core, #label}, \ + {#label "_wrt_" #core, #label}, +#define FOR_CORE(i) \ + {"wmb0_" #i, "wmb0_" #i}, \ + {"wmb1_" #i, "wmb1_" #i}, \ + {"wdea_" #i, "wdea_" #i}, \ + {"hlts_" #i, "hlts_" #i}, \ + ARCH_SPEC_INST_SET(i) + FOR_CORES +#undef FOR_CORE +#undef ARCH_SPEC_INST +}); + +static std::array g_arch_traces_heatmaps = std::to_array>({ +#define FOR_CORE(i) \ + {"wev_" #i, "wev_" #i}, \ + {"xev_" #i, "xev_" #i}, + FOR_CORES +#undef FOR_CORE +}); + +static std::array g_arch_plots = std::to_array({ + {"wevs", "general", { +#define FOR_CORE(i) "wmb0_" #i, "wmb1_" #i, "wdea_" #i, + FOR_CORES +#undef FOR_CORE + }}, + + {"hlts", "general", { +#define FOR_CORE(i) "hlts_" #i, + FOR_CORES +#undef FOR_CORE + }} +}); + +static std::array g_arch_plots_stacked = std::to_array({ +#define ARCH_SPEC_INST(label, symbol, core) \ + #label "_pop_" #core, +#define FOR_CORE(i) \ + {"ipop%_" #i, "population", { ARCH_SPEC_INST_SET(i) }}, + FOR_CORES +#undef FOR_CORE +#undef ARCH_SPEC_INST + +#define ARCH_SPEC_INST(label, symbol, core) \ + #label "_exe_" #core, +#define FOR_CORE(i) \ + {"iexe%_" #i, "population", { ARCH_SPEC_INST_SET(i) }}, + FOR_CORES +#undef FOR_CORE +#undef ARCH_SPEC_INST + +#define ARCH_SPEC_INST(label, symbol, core) \ + #label "_wrt_" #core, +#define FOR_CORE(i) \ + {"iwrt%_" #i, "population", { ARCH_SPEC_INST_SET(i) }}, + FOR_CORES +#undef FOR_CORE +#undef ARCH_SPEC_INST +}); + +static std::array g_arch_plots_heatmaps = std::to_array({ +#define FOR_CORE(i) \ + {"wev_" #i, "heatmaps", "wev_" #i}, + FOR_CORES +#undef FOR_CORE + +#define FOR_CORE(i) \ + {"xev_" #i, "heatmaps", "xev_" #i}, + FOR_CORES +#undef FOR_CORE +}); -- cgit v1.2.1