Opens a larger view. Escape closes it.

hardware-counters

explore.py

import pandas as pd, numpy as np
pd.set_option("display.width", 200)

df = pd.read_csv("/work/project/project/user/data/runs.csv")
df = df[df.app != "cp2k"]                      # no runtime, excluded
print("shape:", df.shape)

ctr = [c for c in df.columns if c[0].isupper()]
print("\n--- missingness per counter (n=%d rows) ---" % len(df))
miss = df[ctr].isna().sum().sort_values()
for k, v in miss.items():
    print("  %-58s %2d missing" % (k, v))

print("\n--- counters complete for ALL rows ---")
full = [c for c in ctr if df[c].isna().sum() == 0]
for c in full:
    print("  ", c)
print("count:", len(full))

print("\n--- runtime spread by app ---")
print(df.groupby("app").runtime_s.agg(["min", "max", "mean", "count"]))

print("\n--- wall-time variance across the 5 counter sets (repeatability) ---")
w = df[["wall_A", "wall_B", "wall_C", "wall_D", "wall_E"]]
rel = (w.std(axis=1) / w.mean(axis=1) * 100)
df2 = df.assign(cv=rel)
print(df2.groupby("app").cv.agg(["mean", "max"]).round(1))