Skip to content

Commit 09bd728

Browse files
committed
Merge branch 'fixes' into out-of-sample-testing
* fixes: Allowing model to fit on different target cols Moved argparse to main block and calling main from there Added more ignores Fixes the hetzner download
2 parents 5da4e03 + 682b42b commit 09bd728

3 files changed

Lines changed: 24 additions & 16 deletions

File tree

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,7 @@ Mkfile.old
5252
dkms.conf
5353
__pycache__
5454
venv/
55+
sftp-config.json
56+
procpower.sublime-project
57+
procpower.sublime-workspace
58+
TODOS.md

tools/benchmark.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ FILE_MB=512
3434
MEM_MB=512
3535
CPU_WORKERS="$(nproc)"
3636
WAKEUP_THREADS="$(nproc)"
37-
NET_URL="https://speed.hetzner.de/100MB.bin"
37+
NET_URL="https://nbg1-speed.hetzner.com/100MB.bin"
3838

3939
while [[ $# -gt 0 ]]; do
4040
case "$1" in

tools/model.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class FeatureSpec:
3535
FeatureSpec("tx", "w_net_tx_packets", 1.0, True),
3636
]
3737

38-
TARGET_COL = "rapl_psys_sum_uj"
38+
TARGET_COL = None # will be overridden later
3939
FEATURE_COLS = [f.param_name for f in FEATURES]
4040
BASELINE_WEIGHTS = {
4141
"w_cpu_ns": 5.0,
@@ -392,19 +392,9 @@ def print_metrics(label: str, metrics: dict[str, float]) -> None:
392392
print(f"MAPE : {metrics['mape_pct']:.3f} %" if np.isfinite(metrics["mape_pct"]) else "MAPE : n/a")
393393

394394

395-
def main() -> None:
396-
parser = argparse.ArgumentParser(
397-
description="Train nonlinear PSYS model and distill to kernel-friendly linear+multi-LUT params."
398-
)
399-
parser.add_argument("logfiles", nargs="+", type=Path)
400-
parser.add_argument("--test-data", type=Path, help="Optional separate dataset for testing")
401-
parser.add_argument("--mode", choices=("delta",), default="delta")
402-
parser.add_argument("--alpha", type=float, default=10.0, help="L2 strength for non-negative linear fit")
403-
parser.add_argument("--test-frac", type=float, default=0.2)
404-
parser.add_argument("--min-target-uj", type=float, default=1.0)
405-
parser.add_argument("--trim-upper-quantile", type=float, default=0.999)
406-
parser.add_argument("--random-seed", type=int, default=42)
407-
args = parser.parse_args()
395+
def main(args) -> None:
396+
global TARGET_COL
397+
TARGET_COL = args.target
408398

409399
# Check all files exist
410400
for path in args.logfiles:
@@ -579,4 +569,18 @@ def main() -> None:
579569

580570

581571
if __name__ == "__main__":
582-
main()
572+
parser = argparse.ArgumentParser(
573+
description="Train nonlinear PSYS model and distill to kernel-friendly linear+multi-LUT params."
574+
)
575+
parser.add_argument("logfiles", nargs="+", type=Path)
576+
parser.add_argument("--mode", choices=("delta",), default="delta")
577+
parser.add_argument("--alpha", type=float, default=10.0, help="L2 strength for non-negative linear fit")
578+
parser.add_argument("--test-frac", type=float, default=0.2)
579+
parser.add_argument("--min-target-uj", type=float, default=1.0)
580+
parser.add_argument("--trim-upper-quantile", type=float, default=0.999)
581+
parser.add_argument("--random-seed", type=int, default=42)
582+
parser.add_argument("--target", type=str, choices=["rapl_psys_sum_uj", "rapl_core_sum_uj"], default="rapl_psys_sum_uj")
583+
584+
args = parser.parse_args()
585+
586+
main(args)

0 commit comments

Comments
 (0)