From a93ba758c19e89542ea51f259b17d79f908e46a3 Mon Sep 17 00:00:00 2001 From: Yaman Umuroglu <yamanu@xilinx.com> Date: Fri, 8 Oct 2021 10:22:22 +0200 Subject: [PATCH] [Build] save autogenerated folding config to .json --- src/finn/builder/build_dataflow_steps.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/finn/builder/build_dataflow_steps.py b/src/finn/builder/build_dataflow_steps.py index b9c065ed2..4c8247717 100644 --- a/src/finn/builder/build_dataflow_steps.py +++ b/src/finn/builder/build_dataflow_steps.py @@ -289,7 +289,9 @@ def step_create_dataflow_partition(model: ModelWrapper, cfg: DataflowBuildConfig def step_target_fps_parallelization(model: ModelWrapper, cfg: DataflowBuildConfig): """If target_fps was specified, use the SetFolding transformation to determine - parallelization attributes.""" + parallelization attributes. The auto-generated config will be saved under + auto_folding_config.json under the outputs, which can serve as a basis for + customizing the folding factors further.""" target_cycles_per_frame = cfg._resolve_cycles_per_frame() if target_cycles_per_frame is not None: @@ -300,6 +302,19 @@ def step_target_fps_parallelization(model: ModelWrapper, cfg: DataflowBuildConfi two_pass_relaxation=cfg.folding_two_pass_relaxation, ) ) + # extract the suggested configuration and save it as json + hw_attrs = [ + "PE", + "SIMD", + "ram_style", + "resType", + "mem_mode", + "runtime_writeable_weights", + ] + extract_model_config_to_json( + model, cfg.output_dir + "/auto_folding_config.json", hw_attrs + ) + return model -- GitLab