Skip to content

Commit 34f103a

Browse files
committed
debug task.py
1 parent 1300a52 commit 34f103a

File tree

1 file changed

+134
-125
lines changed
  • vtr_flow/scripts/python_libs/vtr

1 file changed

+134
-125
lines changed

vtr_flow/scripts/python_libs/vtr/task.py

Lines changed: 134 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def __init__(
6868
self.pass_requirements_file = pass_requirements_file
6969
self.sdc_dir = sdc_dir
7070
self.noc_traffics = noc_traffic_list_add
71-
self.noc_traffics_dir = noc_traffics_dir
71+
self.noc_traffic_dir = noc_traffics_dir
7272
self.place_constr_dir = place_constr_dir
7373
self.qor_parse_file = qor_parse_file
7474
self.cmos_tech_behavior = cmos_tech_behavior
@@ -332,127 +332,154 @@ def create_jobs(args, configs, after_run=False):
332332
"""
333333
jobs = []
334334
for config in configs:
335-
for arch, circuit, noc_file in itertools.product(config.archs, config.circuits, config.noc_traffics):
336-
print(f"{arch}, {circuit}, {noc_file}")
337-
golden_results = load_parse_results(
338-
str(PurePath(config.config_dir).joinpath("golden_results.txt"))
339-
)
340-
abs_arch_filepath = resolve_vtr_source_file(config, arch, config.arch_dir)
341-
abs_circuit_filepath = resolve_vtr_source_file(config, circuit, config.circuit_dir)
342-
work_dir = str(PurePath(arch).joinpath(circuit))
343-
344-
run_dir = (
345-
str(Path(get_latest_run_dir(find_task_dir(config, args.alt_tasks_dir))) / work_dir)
346-
if after_run
347-
else str(
348-
Path(get_next_run_dir(find_task_dir(config, args.alt_tasks_dir))) / work_dir
335+
for arch, circuit in itertools.product(config.archs, config.circuits):
336+
noc_traffic = []
337+
if config.noc_traffics:
338+
noc_traffics = config.noc_traffics
339+
else:
340+
noc_traffics = [None]
341+
for noc_traffic in noc_traffics:
342+
golden_results = load_parse_results(
343+
str(PurePath(config.config_dir).joinpath("golden_results.txt"))
349344
)
350-
)
351-
352-
# Collect any extra script params from the config file
353-
cmd = [abs_circuit_filepath, abs_arch_filepath]
354-
355-
# Resolve and collect all include paths in the config file
356-
# as -include ["include1", "include2", ..]
357-
includes = []
358-
if config.includes:
359-
cmd += ["-include"]
360-
for include in config.includes:
361-
abs_include_filepath = resolve_vtr_source_file(
362-
config, include, config.include_dir
345+
abs_arch_filepath = resolve_vtr_source_file(config, arch, config.arch_dir)
346+
abs_circuit_filepath = resolve_vtr_source_file(config, circuit, config.circuit_dir)
347+
work_dir = str(PurePath(arch).joinpath(circuit))
348+
349+
run_dir = (
350+
str(Path(get_latest_run_dir(find_task_dir(config, args.alt_tasks_dir))) / work_dir)
351+
if after_run
352+
else str(
353+
Path(get_next_run_dir(find_task_dir(config, args.alt_tasks_dir))) / work_dir
363354
)
364-
includes.append(abs_include_filepath)
365-
366-
cmd += includes
367-
368-
# Check if additional architectural data files are present
369-
if config.additional_files_list_add:
370-
for additional_file in config.additional_files_list_add:
371-
flag, file_name = additional_file.split(",")
372-
373-
cmd += [flag]
374-
cmd += [resolve_vtr_source_file(config, file_name, config.arch_dir)]
375-
376-
if hasattr(args, "show_failures") and args.show_failures:
377-
cmd += ["-show_failures"]
378-
cmd += config.script_params if config.script_params else []
379-
cmd += config.script_params_common if config.script_params_common else []
380-
cmd += (
381-
args.shared_script_params
382-
if hasattr(args, "shared_script_params") and args.shared_script_params
383-
else []
384-
)
355+
)
385356

386-
# Apply any special config based parameters
387-
if config.cmos_tech_behavior:
388-
cmd += [
389-
"-cmos_tech",
390-
resolve_vtr_source_file(config, config.cmos_tech_behavior, "tech"),
391-
]
392-
393-
cmd += (
394-
["--fix_pins", resolve_vtr_source_file(config, config.pad_file)]
395-
if config.pad_file
396-
else []
397-
)
357+
# Collect any extra script params from the config file
358+
cmd = [abs_circuit_filepath, abs_arch_filepath]
359+
360+
# Resolve and collect all include paths in the config file
361+
# as -include ["include1", "include2", ..]
362+
includes = []
363+
if config.includes:
364+
cmd += ["-include"]
365+
for include in config.includes:
366+
abs_include_filepath = resolve_vtr_source_file(
367+
config, include, config.include_dir
368+
)
369+
includes.append(abs_include_filepath)
370+
371+
cmd += includes
372+
373+
# Check if additional architectural data files are present
374+
if config.additional_files_list_add:
375+
for additional_file in config.additional_files_list_add:
376+
flag, file_name = additional_file.split(",")
377+
378+
cmd += [flag]
379+
cmd += [resolve_vtr_source_file(config, file_name, config.arch_dir)]
380+
381+
if hasattr(args, "show_failures") and args.show_failures:
382+
cmd += ["-show_failures"]
383+
cmd += config.script_params if config.script_params else []
384+
cmd += config.script_params_common if config.script_params_common else []
385+
cmd += (
386+
args.shared_script_params
387+
if hasattr(args, "shared_script_params") and args.shared_script_params
388+
else []
389+
)
398390

399-
if config.sdc_dir:
400-
sdc_name = "{}.sdc".format(Path(circuit).stem)
401-
sdc_file = resolve_vtr_source_file(config, sdc_name, config.sdc_dir)
391+
# Apply any special config based parameters
392+
if config.cmos_tech_behavior:
393+
cmd += [
394+
"-cmos_tech",
395+
resolve_vtr_source_file(config, config.cmos_tech_behavior, "tech"),
396+
]
397+
398+
cmd += (
399+
["--fix_pins", resolve_vtr_source_file(config, config.pad_file)]
400+
if config.pad_file
401+
else []
402+
)
402403

403-
cmd += ["-sdc_file", "{}".format(sdc_file)]
404+
if config.sdc_dir:
405+
sdc_name = "{}.sdc".format(Path(circuit).stem)
406+
sdc_file = resolve_vtr_source_file(config, sdc_name, config.sdc_dir)
404407

405-
if config.place_constr_dir:
406-
place_constr_name = "{}.place".format(Path(circuit).stem)
407-
place_constr_file = resolve_vtr_source_file(
408-
config, place_constr_name, config.place_constr_dir
409-
)
408+
cmd += ["-sdc_file", "{}".format(sdc_file)]
410409

411-
cmd += ["--fix_clusters", "{}".format(place_constr_file)]
412-
413-
parse_cmd = None
414-
second_parse_cmd = None
415-
qor_parse_command = None
416-
if config.parse_file:
417-
parse_cmd = [
418-
resolve_vtr_source_file(
419-
config,
420-
config.parse_file,
421-
str(PurePath("parse").joinpath("parse_config")),
410+
if config.place_constr_dir:
411+
place_constr_name = "{}.place".format(Path(circuit).stem)
412+
place_constr_file = resolve_vtr_source_file(
413+
config, place_constr_name, config.place_constr_dir
422414
)
423-
]
424-
425-
if config.second_parse_file:
426-
second_parse_cmd = [
427-
resolve_vtr_source_file(
428-
config,
429-
config.second_parse_file,
430-
str(PurePath("parse").joinpath("parse_config")),
431-
)
432-
]
433-
434-
if config.qor_parse_file:
435-
qor_parse_command = [
436-
resolve_vtr_source_file(
437-
config,
438-
config.qor_parse_file,
439-
str(PurePath("parse").joinpath("qor_config")),
440-
)
441-
]
442-
# We specify less verbosity to the sub-script
443-
# This keeps the amount of output reasonable
444-
if hasattr(args, "verbosity") and max(0, args.verbosity - 1):
445-
cmd += ["-verbose"]
446-
if config.script_params_list_add:
447-
for value in config.script_params_list_add:
415+
416+
cmd += ["--fix_clusters", "{}".format(place_constr_file)]
417+
418+
parse_cmd = None
419+
second_parse_cmd = None
420+
qor_parse_command = None
421+
if config.parse_file:
422+
parse_cmd = [
423+
resolve_vtr_source_file(
424+
config,
425+
config.parse_file,
426+
str(PurePath("parse").joinpath("parse_config")),
427+
)
428+
]
429+
430+
if config.second_parse_file:
431+
second_parse_cmd = [
432+
resolve_vtr_source_file(
433+
config,
434+
config.second_parse_file,
435+
str(PurePath("parse").joinpath("parse_config")),
436+
)
437+
]
438+
439+
if config.qor_parse_file:
440+
qor_parse_command = [
441+
resolve_vtr_source_file(
442+
config,
443+
config.qor_parse_file,
444+
str(PurePath("parse").joinpath("qor_config")),
445+
)
446+
]
447+
# We specify less verbosity to the sub-script
448+
# This keeps the amount of output reasonable
449+
if hasattr(args, "verbosity") and max(0, args.verbosity - 1):
450+
cmd += ["-verbose"]
451+
452+
if noc_traffic:
453+
cmd += ["--noc_flows_file", resolve_vtr_source_file(config, noc_traffic, config.noc_traffic_dir)]
454+
455+
if config.script_params_list_add:
456+
for value in config.script_params_list_add:
457+
jobs.append(
458+
create_job(
459+
args,
460+
config,
461+
circuit,
462+
includes,
463+
arch,
464+
value,
465+
cmd,
466+
parse_cmd,
467+
second_parse_cmd,
468+
qor_parse_command,
469+
work_dir,
470+
run_dir,
471+
golden_results,
472+
)
473+
)
474+
else:
448475
jobs.append(
449476
create_job(
450477
args,
451478
config,
452479
circuit,
453480
includes,
454481
arch,
455-
value,
482+
None,
456483
cmd,
457484
parse_cmd,
458485
second_parse_cmd,
@@ -462,24 +489,6 @@ def create_jobs(args, configs, after_run=False):
462489
golden_results,
463490
)
464491
)
465-
else:
466-
jobs.append(
467-
create_job(
468-
args,
469-
config,
470-
circuit,
471-
includes,
472-
arch,
473-
None,
474-
cmd,
475-
parse_cmd,
476-
second_parse_cmd,
477-
qor_parse_command,
478-
work_dir,
479-
run_dir,
480-
golden_results,
481-
)
482-
)
483492

484493
return jobs
485494

0 commit comments

Comments
 (0)