SPB Git

spb/wp40_uqo

Public MIT
1.1 KB · 34 lines cpp
1// ExperimentManifest — everything needed to reproduce a run: host, toolchain, library version, plan, seeds, inputs.2#pragma once3#include <string>4#include <vector>5#include <map>6#include <nlohmann/json.hpp>7#include "raid/core/types.hpp"8#include "raid/core/plan.hpp"910namespace raid {1112struct ExperimentManifest {13  std::string experiment;             // e.g. "E1.batched_rv"14  std::string created_at_utc;15  std::string raid_version;16  std::string git_commit;17  nlohmann::json host;                // from host_info()18  nlohmann::json plan;                // ExecutionPlan::to_json19  u64 seed{0};20  std::map<std::string, std::string> inputs;       // name → sha25621  std::map<std::string, std::string> parameters;22  std::vector<nlohmann::json> records;             // raw benchmark / result records23  nlohmann::json to_json() const;24  void save(const std::string& path) const;25};2627/// Host information gathered at run time (no secrets): chip, cores, memory, OS, compiler, load, thermal state, power.28nlohmann::json host_info();29std::string now_utc_iso();30/// Peak resident set size in bytes (ru_maxrss), for memory metrics.31u64 peak_rss_bytes();3233}  // namespace raid34
Files · f82ea5cc1b8ea301bc056ee35ba9c755df76f43f
Menu

Theme