Support runtime weights & thresholds in generated driver (#256)
* [Build] add a deployment_package step * [Build] typo fix in build examples * [Build] fix deployment_package step * [Analysis] ensure python integers in fpgadataflow analysis passes * [Build] report generation and other minor improvements * [Docs] update build_dataflow docs * [Build] latency est. fix * [Build] check if fold config is None * [Build] add ooc synthesis step * [Deps] update finn-base * [Util] out_of_context_synth: remove remote, use launch_process_helper * [Build] include all outputs in examples configs * [Docs] update build flow docs * [Deps] update finn-base * [Util] bugfix in launch_process_helper call * [Docker] use interactive mode for builds * [Build] enable pdb debugging for builds * [Refactor] move build functions to own submodule * [Test] build_dataflow: fix expected files * [Build] report estimated resource total * [Infra] remove old eggs * [HLSCustomOp] introduce get_op_counts only implemented for MVAU and VVAU for now * [HLSCustomOp] extend get_op_counts to include params too * [Analysis] introduce op_and_param_counts pass * [Build] generate op/param counts as part of estimates + add doc * [HLSCustomOp] assert if ap_int_max_w is too large * [StreamingFC] fix ap_int_max_w calculation * [Build] minor fix in step_generate_estimate_reports * [StreamingFC] enable decoupled URAM weights * [StreamingFC export 0-valued .dat for decoupled uram * [Zynq] bugfix: AXI MM and lite IF counts were switched around * [Zynq] support wiring up multiple AXI lites in shell * [Deps] update finn-base * [HLSCustomOp] introduce uram_efficiency_estimation * [StreamingFC] implement uram eff est * [FIFO] fix ip packaging problems * [Thres] better integer check for thresholds * [HLSCustomOp] rework infer_node_datatype to be more flexible allow re-setting of inputDataType if it changed during datatype inference * [Thres] bugfix in integer thres check * [Thres] bugfix in integer thres check * [Docker] relax instance name, only fwd ports in notebook mode * [Driver] generate runtime weight files for appropriate layers * [Driver] draft a first version of load_runtime_weights * [Driver] fixes&enhancements to load_runtime_weights * [Driver] typo fix in split * [Test] use runtime weights for tfc end2end * [Build] bugfix in ooc step * [Driver] also handle runtime-writable thresholds * [Thresholding] implement get_op_and_param_counts * [Test] use tfc-w1a1 as standalone thresholds end2end testcase * [Build] add option for standalone thresholds * [Driver] update comments * [Driver] overhaul driver, split up template * [Test] fix test_res_estimate expectation * [Driver] fix varname in template
Showing
- docker/finn_entrypoint.sh 1 addition, 1 deletiondocker/finn_entrypoint.sh
- run-docker.sh 5 additions, 6 deletionsrun-docker.sh
- src/finn/builder/build_dataflow_config.py 6 additions, 0 deletionssrc/finn/builder/build_dataflow_config.py
- src/finn/builder/build_dataflow_steps.py 16 additions, 14 deletionssrc/finn/builder/build_dataflow_steps.py
- src/finn/custom_op/fpgadataflow/addstreams_batch.py 12 additions, 6 deletionssrc/finn/custom_op/fpgadataflow/addstreams_batch.py
- src/finn/custom_op/fpgadataflow/downsampler.py 11 additions, 4 deletionssrc/finn/custom_op/fpgadataflow/downsampler.py
- src/finn/custom_op/fpgadataflow/duplicatestreams_batch.py 11 additions, 1 deletionsrc/finn/custom_op/fpgadataflow/duplicatestreams_batch.py
- src/finn/custom_op/fpgadataflow/fmpadding_batch.py 11 additions, 5 deletionssrc/finn/custom_op/fpgadataflow/fmpadding_batch.py
- src/finn/custom_op/fpgadataflow/globalaccpool_batch.py 11 additions, 1 deletionsrc/finn/custom_op/fpgadataflow/globalaccpool_batch.py
- src/finn/custom_op/fpgadataflow/hlscustomop.py 6 additions, 0 deletionssrc/finn/custom_op/fpgadataflow/hlscustomop.py
- src/finn/custom_op/fpgadataflow/iodma.py 11 additions, 6 deletionssrc/finn/custom_op/fpgadataflow/iodma.py
- src/finn/custom_op/fpgadataflow/streamingdatawidthconverter_batch.py 11 additions, 3 deletions...stom_op/fpgadataflow/streamingdatawidthconverter_batch.py
- src/finn/custom_op/fpgadataflow/streamingfclayer_batch.py 62 additions, 7 deletionssrc/finn/custom_op/fpgadataflow/streamingfclayer_batch.py
- src/finn/custom_op/fpgadataflow/streamingfifo.py 13 additions, 3 deletionssrc/finn/custom_op/fpgadataflow/streamingfifo.py
- src/finn/custom_op/fpgadataflow/streamingmaxpool_batch.py 11 additions, 3 deletionssrc/finn/custom_op/fpgadataflow/streamingmaxpool_batch.py
- src/finn/custom_op/fpgadataflow/templates.py 1 addition, 0 deletionssrc/finn/custom_op/fpgadataflow/templates.py
- src/finn/custom_op/fpgadataflow/thresholding_batch.py 24 additions, 6 deletionssrc/finn/custom_op/fpgadataflow/thresholding_batch.py
- src/finn/custom_op/fpgadataflow/vector_vector_activate_batch.py 9 additions, 4 deletions...nn/custom_op/fpgadataflow/vector_vector_activate_batch.py
- src/finn/qnn-data/build_dataflow/dataflow_build_config.json 1 addition, 0 deletionssrc/finn/qnn-data/build_dataflow/dataflow_build_config.json
- src/finn/transformation/fpgadataflow/make_pynq_driver.py 40 additions, 21 deletionssrc/finn/transformation/fpgadataflow/make_pynq_driver.py
Loading
Please register or sign in to comment