adding system info to benchmark display
This commit is contained in:
@@ -281,10 +281,21 @@ for results_dir, is_rpc_source in RESULT_SOURCES:
|
|||||||
}
|
}
|
||||||
runs.append(run)
|
runs.append(run)
|
||||||
|
|
||||||
|
# Read system_info.json
|
||||||
|
sys_info = {}
|
||||||
|
if RESULT_SOURCES:
|
||||||
|
si_path = os.path.join(RESULT_SOURCES[0][0], "system_info.json")
|
||||||
|
if os.path.exists(si_path):
|
||||||
|
try:
|
||||||
|
with open(si_path) as f:
|
||||||
|
sys_info = json.load(f)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
# Meta
|
# Meta
|
||||||
meta = {
|
meta = {
|
||||||
"generated_at": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()),
|
"generated_at": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()),
|
||||||
"os_kernel": "Fedora 42 — Linux 6.15.9-201.fc42.x86_64 (Sat Aug 2 11:37:34 UTC 2025)",
|
"system_info": sys_info,
|
||||||
"llamacpp_builds": [{"hash": h, "number": n} for (h, n) in sorted(builds)],
|
"llamacpp_builds": [{"hash": h, "number": n} for (h, n) in sorted(builds)],
|
||||||
"environments": sorted(envs),
|
"environments": sorted(envs),
|
||||||
"notes": "pp512 = prompt processing; tg128 = text generation; t/s = tokens/second",
|
"notes": "pp512 = prompt processing; tg128 = text generation; t/s = tokens/second",
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"distro": "Fedora Linux 42 (Workstation Edition)",
|
||||||
|
"kernel": "6.18.3-100.fc42.x86_64",
|
||||||
|
"linux_firmware": "linux-firmware-20251111-1.fc42.noarch",
|
||||||
|
"timestamp": "09 Jan 2026"
|
||||||
|
}
|
||||||
@@ -5,6 +5,41 @@ MODEL_DIR="$(realpath models)"
|
|||||||
RESULTDIR="results"
|
RESULTDIR="results"
|
||||||
mkdir -p "$RESULTDIR"
|
mkdir -p "$RESULTDIR"
|
||||||
|
|
||||||
|
# Capture system info
|
||||||
|
if [[ ! -f "$RESULTDIR/system_info.json" ]]; then
|
||||||
|
python3 -c '
|
||||||
|
import platform, json, datetime
|
||||||
|
def get_distro():
|
||||||
|
try:
|
||||||
|
with open("/etc/os-release") as f:
|
||||||
|
for line in f:
|
||||||
|
if line.startswith("PRETTY_NAME="):
|
||||||
|
return line.split("=", 1)[1].strip().strip("\"")
|
||||||
|
except:
|
||||||
|
return "Linux"
|
||||||
|
return "Linux"
|
||||||
|
|
||||||
|
def get_linux_firmware():
|
||||||
|
try:
|
||||||
|
import subprocess
|
||||||
|
result = subprocess.run(["rpm", "-q", "linux-firmware"], capture_output=True, text=True)
|
||||||
|
if result.returncode == 0:
|
||||||
|
return result.stdout.strip()
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
return "unknown"
|
||||||
|
|
||||||
|
info = {
|
||||||
|
"distro": get_distro(),
|
||||||
|
"kernel": platform.release(),
|
||||||
|
"linux_firmware": get_linux_firmware(),
|
||||||
|
"timestamp": datetime.datetime.now().strftime("%d %b %Y")
|
||||||
|
}
|
||||||
|
print(json.dumps(info))
|
||||||
|
' > "$RESULTDIR/system_info.json"
|
||||||
|
echo "Captured system info to $RESULTDIR/system_info.json"
|
||||||
|
fi
|
||||||
|
|
||||||
# Pick exactly one .gguf per model: either
|
# Pick exactly one .gguf per model: either
|
||||||
# - any .gguf without "-000*-of-" (single-file models)
|
# - any .gguf without "-000*-of-" (single-file models)
|
||||||
# - or the first shard "*-00001-of-*.gguf"
|
# - or the first shard "*-00001-of-*.gguf"
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|||||||
try {
|
try {
|
||||||
const res = await fetch("results.json");
|
const res = await fetch("results.json");
|
||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
|
updateHeader(data.meta || {});
|
||||||
prepareData(data?.runs || []);
|
prepareData(data?.runs || []);
|
||||||
initializeControls();
|
initializeControls();
|
||||||
renderTables();
|
renderTables();
|
||||||
@@ -765,3 +766,28 @@ function setupResizeOverlay(tableWrap, backendList, table) {
|
|||||||
resizeObserver.observe(tableWrap);
|
resizeObserver.observe(tableWrap);
|
||||||
tableWrap._overlayResize = resizeObserver;
|
tableWrap._overlayResize = resizeObserver;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateHeader(meta) {
|
||||||
|
const sysInfo = document.getElementById("sys-info");
|
||||||
|
const runInfo = document.getElementById("run-info");
|
||||||
|
const info = meta.system_info || {};
|
||||||
|
|
||||||
|
let buildStr = "llama.cpp build unknown";
|
||||||
|
if (meta.llamacpp_builds && meta.llamacpp_builds.length > 0) {
|
||||||
|
const b = meta.llamacpp_builds[meta.llamacpp_builds.length - 1];
|
||||||
|
buildStr = `llama.cpp build ${b.hash} (${b.number})`;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sysInfo && (info.distro || info.kernel)) {
|
||||||
|
const parts = [];
|
||||||
|
if (info.distro) parts.push(info.distro);
|
||||||
|
if (info.kernel) parts.push(`Linux ${info.kernel}`);
|
||||||
|
if (info.linux_firmware) parts.push(info.linux_firmware);
|
||||||
|
parts.push(buildStr);
|
||||||
|
sysInfo.textContent = parts.join(" · ");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (runInfo && info.timestamp) {
|
||||||
|
runInfo.innerHTML = `Benchmarks captured ${info.timestamp} · Repo: <a href="https://github.com/kyuz0/amd-strix-halo-toolboxes" target="_blank" rel="noreferrer">kyuz0/amd-strix-halo-toolboxes</a>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
+4
-3
@@ -12,9 +12,10 @@
|
|||||||
<header>
|
<header>
|
||||||
<h1>AMD Ryzen AI MAX+ 395 “Strix Halo” — Benchmark Grid</h1>
|
<h1>AMD Ryzen AI MAX+ 395 “Strix Halo” — Benchmark Grid</h1>
|
||||||
<p>Framework Desktop · AMD Ryzen AI MAX 395+ · 128GB unified RAM</p>
|
<p>Framework Desktop · AMD Ryzen AI MAX 395+ · 128GB unified RAM</p>
|
||||||
<p>Fedora 42 · Linux 6.18.0-0.rc5.243.vanilla.fc42.x86_64 · llama.cpp build 1c398dc9e (7034)</p>
|
<p id="sys-info">Fedora 42 · Linux 6.18.0-0.rc5.243.vanilla.fc42.x86_64 · llama.cpp build 1c398dc9e (7034)</p>
|
||||||
<p>Benchmarks captured 14 Nov 2025 · Repo: <a href="https://github.com/kyuz0/amd-strix-halo-toolboxes"
|
<p id="run-info">Benchmarks captured 14 Nov 2025 · Repo: <a
|
||||||
target="_blank" rel="noreferrer">kyuz0/amd-strix-halo-toolboxes</a></p>
|
href="https://github.com/kyuz0/amd-strix-halo-toolboxes" target="_blank"
|
||||||
|
rel="noreferrer">kyuz0/amd-strix-halo-toolboxes</a></p>
|
||||||
<div class="legend">
|
<div class="legend">
|
||||||
<label>Legend</label>
|
<label>Legend</label>
|
||||||
<div class="legend-pills">
|
<div class="legend-pills">
|
||||||
|
|||||||
+7
-2
@@ -1,7 +1,12 @@
|
|||||||
{
|
{
|
||||||
"meta": {
|
"meta": {
|
||||||
"generated_at": "2026-01-10T10:27:18Z",
|
"generated_at": "2026-01-11T10:01:18Z",
|
||||||
"os_kernel": "Fedora 42 \u2014 Linux 6.15.9-201.fc42.x86_64 (Sat Aug 2 11:37:34 UTC 2025)",
|
"system_info": {
|
||||||
|
"distro": "Fedora Linux 42 (Workstation Edition)",
|
||||||
|
"kernel": "6.18.3-100.fc42.x86_64",
|
||||||
|
"linux_firmware": "linux-firmware-20251111-1.fc42.noarch",
|
||||||
|
"timestamp": "09 Jan 2026"
|
||||||
|
},
|
||||||
"llamacpp_builds": [
|
"llamacpp_builds": [
|
||||||
{
|
{
|
||||||
"hash": "9c142e3a2",
|
"hash": "9c142e3a2",
|
||||||
|
|||||||
Reference in New Issue
Block a user