Skip to content

Commit 9438fcb

Browse files
authored
feat(core): runner gets extra args for running engine (#47)
* feat(core): runner gets extra args for running engine * feat(engines): saver extra args * perf: remove temporal print for debugging
1 parent 538b4b5 commit 9438fcb

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

kaprese/bin/kaprese_run.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,12 @@ def main(
301301
help='benchmark to run (see "kaprese benchmark list")',
302302
)
303303

304+
parser.add_argument(
305+
"extra_args",
306+
nargs="*",
307+
help="extra arguments for engine (e.g. -- -j4)",
308+
)
309+
304310
# Branching to pass type checking
305311
args = parser.parse_args(argv, namespace=args) if args else parser.parse_args(argv)
306312

@@ -369,7 +375,7 @@ def main(
369375

370376
# Start preparing
371377
row.prepare_start()
372-
runner = Runner(bench, engine, args.output)
378+
runner = Runner(bench, engine, args.output, args.extra_args)
373379
prepared = runner.prepare(force=args.rebuild_runner)
374380
row.prepare_done(prepared)
375381
if not prepared:

kaprese/core/runner.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,17 @@
1616

1717
class Runner:
1818
def __init__(
19-
self, benchmark: Benchmark, engine: Engine, output_dir: str | None = None
19+
self,
20+
benchmark: Benchmark,
21+
engine: Engine,
22+
output_dir: str | None = None,
23+
extra_args: str | list[str] = "",
2024
):
2125
self.benchmark = benchmark
2226
self.engine = engine
27+
self.extra_args = (
28+
extra_args if isinstance(extra_args, str) else " ".join(extra_args)
29+
)
2330

2431
self.output_dir = Path(
2532
f"{output_dir or 'kaprese-out'}/{engine.name}/{benchmark.name}"

kaprese/engines/saver.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ def register_saver(overwrite: bool = False) -> None:
1414
exec_commands=[
1515
"make clean -j$(nproc) >/dev/null",
1616
"infer capture -- make -j$(nproc) >/dev/null",
17-
'infer saver --error-report report.json $([ -e api.json ] && echo \\"--resource-api-spec api.json\\")',
17+
'infer saver --error-report report.json $([ -e api.json ] && echo \\"--resource-api-spec api.json\\") {runner.extra_args}',
1818
"export RETURN_CODE=$?",
1919
"cp -r infer-out/* {runner.mount_dir}/",
2020
"chown -R {runner.uid}:{runner.gid} {runner.mount_dir}",

0 commit comments

Comments
 (0)