various buildbitstream fixes for CI

This commit is contained in:
Sagar Karandikar 2023-06-16 04:28:36 -07:00
parent 1930fff8a2
commit 09e643e5d6
3 changed files with 13 additions and 58 deletions

View File

@ -18,54 +18,10 @@ def run_agfi_buildbitstream():
with prefix(f'cd {manager_fsim_dir} && source sourceme-manager.sh'):
rc = 0
# unique tag based on the ci workflow and filename is needed to ensure
# run farm is unique to each linux-poweroff test
with prefix(f"export FIRESIM_BUILDFARM_PREFIX={ci_env['GITHUB_RUN_ID']}-{Path(__file__).stem}"):
with settings(warn_only=True):
# pty=False needed to avoid issues with screen -ls stalling in fabric
build_result = run("timeout 10h firesim buildbitstream --forceterminate", pty=False)
rc = build_result.return_code
if rc != 0:
log_lines = 200
print(f"Buildbitstream failed. Printing {log_lines} of last log file:")
run(f"""LAST_LOG=$(ls | tail -n1) && if [ -f "$LAST_LOG" ]; then tail -n{log_lines} $LAST_LOG; fi""")
sys.exit(rc)
else:
if True:
# parse the output yamls, replace the sample hwdb's agfi line only
sample_hwdb_filename = f"{manager_fsim_dir}/{relative_hwdb_path}"
hwdb_entry_dir = f"{manager_fsim_dir}/deploy/built-hwdb-entries"
built_hwdb_entries = [x for x in os.listdir(hwdb_entry_dir) if os.path.isfile(os.path.join(hwdb_entry_dir, x))]
for hwdb in built_hwdb_entries:
print(f"Printing {hwdb}")
run(f"cat {hwdb_entry_dir}/{hwdb}")
sample_hwdb_lines = open(sample_hwdb_filename).read().split('\n')
with open(sample_hwdb_filename, "w") as sample_hwdb_file:
match_agfi = False
for line in sample_hwdb_lines:
if hwdb in line.strip().split(' ')[0].replace(':', ''):
# hwdb entry matches key name
match_agfi = True
sample_hwdb_file.write(line + '\n')
elif match_agfi == True and ("agfi:" in line.strip().split(' ')[0]):
# only replace this agfi
match_agfi = False
new_agfi_line = open(f"{hwdb_entry_dir}/{hwdb}").read().split("\n")[1]
print(f"Replacing {line.strip()} with {new_agfi_line}")
# print out the agfi line
sample_hwdb_file.write(new_agfi_line + '\n')
else:
# if no match print other lines
sample_hwdb_file.write(line + '\n')
if match_agfi == True:
sys.exit("::ERROR:: Unable to find matching AGFI key for HWDB entry")
print(f"Printing {sample_hwdb_filename}...")
run(f"cat {sample_hwdb_filename}")

View File

@ -240,7 +240,7 @@ def run_local_buildbitstreams():
# hwdb_entry_name, platform_name, buildtool:version
batch_hwdbs_in = [
("vitis_firesim_rocket_singlecore_no_nic", "vitis", "vitis:2022.1"),
("vitis_firesim_gemmini_rocket_singlecore_no_nic", "vitis", "vitis:2022.1"),
("nitefury_firesim_rocket_singlecore_no_nic", "rhsresearch_nitefury_ii", "vitis:2022.1"),
("alveo_u250_firesim_rocket_singlecore_no_nic", "xilinx_alveo_u250", "vivado:2021.1"),
("xilinx_vcu118_firesim_rocket_singlecore_4GB_no_nic", "xilinx_vcu118", "vivado:2019.1"),
]
@ -249,7 +249,6 @@ def run_local_buildbitstreams():
batch_hwdbs_in = [
("alveo_u280_firesim_rocket_singlecore_no_nic", "xilinx_alveo_u280", "vivado:2021.1"),
("nitefury_firesim_rocket_singlecore_no_nic", "rhsresearch_nitefury_ii", "vitis:2022.1"),
]
do_builds(batch_hwdbs_in)

View File

@ -11,48 +11,48 @@
# DOCREF START: Example HWDB Entry
firesim_boom_singlecore_nic_l2_llc4mb_ddr3:
agfi: agfi-0aa8fe3200cf9db3d
agfi: agfi-0aac270576e64693c
deploy_quintuplet_override: null
custom_runtime_config: null
# DOCREF END: Example HWDB Entry
firesim_boom_singlecore_no_nic_l2_llc4mb_ddr3:
agfi: agfi-0530142e58845b3f9
agfi: agfi-02f92e7c011ef6e19
deploy_quintuplet_override: null
custom_runtime_config: null
firesim_gemmini_printf_rocket_singlecore_no_nic:
agfi: agfi-0c15946be9bfc2c48
agfi: agfi-0ace16d35c5758893
deploy_quintuplet_override: null
custom_runtime_config: null
firesim_gemmini_rocket_singlecore_no_nic:
agfi: agfi-0dc78322bfb382604
agfi: agfi-05eec5fb565f7cfa3
deploy_quintuplet_override: null
custom_runtime_config: null
firesim_rocket_quadcore_nic_l2_llc4mb_ddr3:
agfi: agfi-0f9ffd31182ccbca2
agfi: agfi-0455e4c2892076c1a
deploy_quintuplet_override: null
custom_runtime_config: null
firesim_rocket_quadcore_no_nic_l2_llc4mb_ddr3:
agfi: agfi-0a75c790c49e4fbca
agfi: agfi-09eeb63f4fae0929e
deploy_quintuplet_override: null
custom_runtime_config: null
firesim_rocket_singlecore_no_nic_l2_lbp:
agfi: agfi-012479b511e2e2841
agfi: agfi-0cfc97258aa8389f0
deploy_quintuplet_override: null
custom_runtime_config: null
firesim_rocket_singlecore_sha3_nic_l2_llc4mb_ddr3:
agfi: agfi-0269d5f8cf362680f
agfi: agfi-02e4056f9bec5a240
deploy_quintuplet_override: null
custom_runtime_config: null
firesim_rocket_singlecore_sha3_no_nic_l2_llc4mb_ddr3:
agfi: agfi-04ac4491551142bc2
agfi: agfi-0d8abef077c23a4de
deploy_quintuplet_override: null
custom_runtime_config: null
firesim_rocket_singlecore_sha3_no_nic_l2_llc4mb_ddr3_printf:
agfi: agfi-010978fdc38c83f59
agfi: agfi-033e840230f51668f
deploy_quintuplet_override: null
custom_runtime_config: null
firesim_supernode_rocket_singlecore_nic_l2_lbp:
agfi: agfi-069185a0e597d9b14
agfi: agfi-0d215a3250e0afabb
deploy_quintuplet_override: null
custom_runtime_config: null
vitis_firesim_rocket_singlecore_no_nic: