5959 sweep
6060"""
6161
62- import argparse
62+ import jsonargparse
6363import json
6464import os
6565import sys
@@ -260,13 +260,13 @@ def parse_arguments():
260260 """
261261 Parse arguments from command line.
262262 """
263- parser = argparse .ArgumentParser ()
263+ parser = jsonargparse .ArgumentParser ()
264+ tune_parser = jsonargparse .ArgumentParser ()
265+ sweep_parser = jsonargparse .ArgumentParser ()
264266
265- subparsers = parser .add_subparsers (
266- help = "mode of execution" , dest = "mode" , required = True
267- )
268- tune_parser = subparsers .add_parser ("tune" )
269- _ = subparsers .add_parser ("sweep" )
267+ subcommands = parser .add_subcommands (dest = "mode" )
268+ subcommands .add_subcommand ("tune" , tune_parser )
269+ subcommands .add_subcommand ("sweep" , sweep_parser )
270270
271271 # DUT
272272 parser .add_argument (
@@ -285,13 +285,6 @@ def parse_arguments():
285285 )
286286
287287 # Experiment Setup
288- parser .add_argument (
289- "--config" ,
290- type = str ,
291- metavar = "<path>" ,
292- required = True ,
293- help = "Configuration file that sets which knobs to use for Autotuning." ,
294- )
295288 parser .add_argument (
296289 "--experiment" ,
297290 type = str ,
@@ -307,14 +300,30 @@ def parse_arguments():
307300 default = None ,
308301 help = "Time limit (in hours) for each trial run. Default is no limit." ,
309302 )
303+
304+ # Sweep-specific
305+ sweep_parser .add_argument (
306+ "--config" ,
307+ type = str ,
308+ metavar = "<path>" ,
309+ required = True ,
310+ help = "Configuration file that sets which knobs to use for Autotuning." ,
311+ )
312+
313+ # Tune-Specific
310314 tune_parser .add_argument (
311315 "--resume" ,
312316 action = "store_true" ,
313317 help = "Resume previous run. Note that you must also set a unique experiment\
314318 name identifier via `--experiment NAME` to be able to resume." ,
315319 )
316-
317- # ML
320+ tune_parser .add_argument (
321+ "--config" ,
322+ type = str ,
323+ metavar = "<path>" ,
324+ required = True ,
325+ help = "Configuration file that sets which knobs to use for Autotuning." ,
326+ )
318327 tune_parser .add_argument (
319328 "--algorithm" ,
320329 type = str ,
0 commit comments