Skip to content
Snippets Groups Projects
  1. Apr 20, 2021
  2. Apr 19, 2021
  3. Apr 18, 2021
  4. Apr 15, 2021
  5. Apr 14, 2021
  6. Apr 12, 2021
  7. Apr 09, 2021
  8. Mar 04, 2021
  9. Feb 23, 2021
  10. Feb 06, 2021
  11. Jan 29, 2021
  12. Jan 17, 2021
    • Yaman Umuroglu's avatar
      Switch hlslib comparison functions (#263) · 8497814b
      Yaman Umuroglu authored
      * [Test] add lfc to end2end tests
      
      * [Deps] update hlslib to get comp:: fxns
      
      * [HLS] use comp:: comparators instead of std::
      
      * [VVAU] hlslib now uses inner prod dim instead of K
      
      * [Thres] manually workaround vivado_hls bug for T[0][0]=0
      8497814b
  13. Dec 17, 2020
  14. Dec 13, 2020
    • Yaman Umuroglu's avatar
      Build step: measure rtlsim performance (#262) · 72b11ca6
      Yaman Umuroglu authored
      * [Build] introduce step_measure_rtlsim_performance
      
      * [Docs] document the rtlsim performance step
      
      * [Docs] add comments on CPU/RAM/storage recommandations
      
      * [Build, Test] enable rtlsim perf as part of build test too
      
      * [Build] print where intermediate outputs are generated
      
      * [Docs] remove ghpages content, add note
      
      * [Docker] use -c continue for build_custom mode
      
      * [Docs] minor fixes
      72b11ca6
  15. Dec 08, 2020
    • Yaman Umuroglu's avatar
    • Yaman Umuroglu's avatar
      Support runtime weights & thresholds in generated driver (#256) · 3cfa1896
      Yaman Umuroglu authored
      * [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
      3cfa1896
  16. Dec 03, 2020
    • Yaman Umuroglu's avatar
      Dataflow build additions (#253) · 884cb146
      Yaman Umuroglu authored
      * [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
      884cb146
  17. Dec 01, 2020
    • Lucian Petrica's avatar
      Automatically set folding attributes (#251) · 0e3f663b
      Lucian Petrica authored
      
      * Added transform and test for auto-folding to throughput target
      
      * [SetFolding] improve comments
      
      * [SetFolding] allow customizing mvau_wwidth_max
      
      * [SetFolding] put ops into groups to reduce code redundancy
      
      * [SetFolding] add a two-pass relaxation option
      
      * [LabelSelect] implement get_exp_cycles
      
      * [SetFolding] handle LabelSelect too
      
      * [SetFolding] extra comment
      
      * [SetFolding] fix swg setting, add warning
      
      * [SetFolding] call GiveUniqueNodeNames before AnnotateCycles
      
      * [Build] add build config option to target FPS
      
      * [Test] use target_fps for example dataflow build config file
      
      Co-authored-by: default avatarYaman Umuroglu <yamanu@xilinx.com>
      0e3f663b
    • Yaman Umuroglu's avatar
      MobileNet-v1 on Alveo (#252) · 620b96f3
      Yaman Umuroglu authored
      
      * [Util] Add mobilenet to test.py in util
      
      * [Test] Add first draft of brevitas export unit test into test suite
      
      * [Test] Shorten import of mobilenet and add example picture
      
      * [Docker] Temporarily set brevitas commit version to auphelia brevitas fork
      
      * [Test] Add transformation and execution function to mobilnet test
      
      * [Docker] Change brevitas repo back to Xilinx repo
      
      * [Test] Add transformations and execution to mobilenet test
      
      * [Docker] Update brevitas commit version
      
      * [Test] Insert Topk into mobilenet test
      
      * [Test] Use Top5 to verify mobilenet functionality of execution in FINN
      
      * [CustomOp] Remove rounding in QuantAvgPool2d
      
      * [Test] Add first streamlining transformations to mobilenet test
      
      * [Notebook] Add end2end notebook for mobilenet-v1
      
      * [Test] Add transformation to streamline mobilenet-v1
      
      * [Test & Notebook] Update streamlining and lowering of mobilenet-v1
      
      * [Test] Add test setup for move flatten transformation
      
      * [Test] Add tidy up trafo mobilenet test
      
      * [Streamline] Add reorder fct to move flatten past matmul, mul or add
      
      * [Test] Update test to check functional verification after MoveFlatten trafo
      
      * [Test] Add new trafos to mobilenet test
      
      * [Streamline] Add drafts for move transformations to reorder trafos
      
      * [Test] Delete obsolete test and update mobilenet test
      
      * [Streamline] Fix missing return in MoveTransposePastScalarMul
      
      * [Test] Update mobilenet test with new transformations
      
      * [Test] Add mul value to make model outputs comparable (mobilenet-v1)
      
      * [Test&Notebook] Update mobilenet-v1 streamlining
      
      * [Test] Add preprocessing as exportable pytorch module for mobilenet and merge models
      
      * [Util] Add pytorch modules for imagenet normalize preprocessing
      
      * [Util] Add functions to resize and centercrop a PIL image
      
      * [Test] Refactor mobilenet test
      
      * [Test] Set input finn dtype and fix bug with saving onnx checkpoints
      
      * [Test] First draft of end2end test mobilenet (prepare model for flow)
      
      * [Test] Add streamlining and lowering to end2end mobilenet test
      
      * [Test] Add hls conversion and dataflow partitioning to mobilenet end2end test
      
      * [Transform] ConvertToHLSLayers add support for QuantAvgPool2d with data layout NHWC
      
      * [Test] Save golden output for end2end mobilenet
      
      * [Test] Add folding and draft for verification to end2end mobilenet
      
      * [Transform] Fix bug in insertion of pool batch node
      
      * [Test] Add time measurement to end2end mobilenet
      
      * [Test] Add ip gen and rtlsim to end2end mobilenet test
      
      * [Transform] Add missing import HLS conversion
      
      * [Test] Clean dataflow partition of mobilenet before saving
      
      * [Docker] mount imgnet val if specified
      
      * [Util] add some ImageNet val utils
      
      * [Test] add validation test for MobileNet-v1
      
      * [Util] support logging QuantTensors in forward hook
      
      * [Test] add debug option for tensorwise comparison in validate_mobilenet
      
      * [Test] Delete streamlining part from mobilenet export test
      
      * [Test] pre-commit test_brevitas_mobilenet
      
      * [Util] Set resample=0 in PIL resize function
      
      * [Doc] document the imagenet val env.var
      
      * [Test] mark mobilenet val test as xfail
      
      * [Test] correct typo in MobileNet-v1 val test
      
      * [Test] fix MobileNet-v1 validation test for multiple imgs
      
      * [Util] fix get_val_images for ImageNet validation
      
      * [Util] more ImageNet testing utils
      
      * [Test] use new utils in MobileNet-v1 tests
      
      * [Util] update ImageNet utils to use torchvision utils
      
      * [Test] test preproc only in test_brevitas_mobilenet_preproc
      
      * [Util] add option to control get_val_images order
      
      * [Test] different classes for mobilenet comparison
      
      * [StreamingFC] clip thresholds larger than acc
      
      * [VVAU] add accumulator minimization and threshold clipping
      
      * [HLSCustomOp] clip thresholds on both sides if needed
      
      * [Transform] call acc minimization for VVAU too
      
      * [Test] reorder tests for end2end mobilenet
      
      * [Test] fixes to MobileNet validation after merge
      
      * [Test] MobileNet-v1: temp fix for export + add fifo set and build
      
      * [Transform] fix num inp vectors for InferLabelSelect
      
      * [Test] MobileNet: bring back labelselect, use dataflow partition
      
      * [Deps] update Brevitas to get mobilenet export fix
      
      * [Test] bring back export for mobilenet-v1 end2end
      
      * [Test] MobileNet-v1: add extra_fold, reorder tests
      
      * [Test] MobileNet-v1: additional marks + bugfix
      
      * [Test] MobileNet-v1: fix build dir
      
      * [LabelSelect] fix cppsim bug
      
      * [SetFIFODepths] allow overriding auto for large FIFOs
      
      * [Test] MobileNet-v1: add more config options to mnv1 end2end test
      
      * [Vitis] enable Vivado physopts with PERFORMANCE_BEST
      
      * [Test] MobileNet-v1 edn2end: aim for higher perf
      
      * [Build] add more build options + minor improvements
      
      including Vitis build strategy, large FIFO mem mode + ability to
      spec custom fifo depths
      
      * [Docker] minor improvements in run-docker.sh
      
      * [Docker] new attempt at handling XRT deps
      
      * [Test] mark semi-failing MNv1 tests as xfail
      
      * [Infra] fix entrypoint script working dirs
      
      * [Build] allow specifying fxns as build steps
      
      * [Build] print build log location
      
      * [InsertFIFO] allow creating shallow FIFOs if desired
      
      * [Build] create shallow FIFOs to use ApplyConfig, then remove as needed
      
      * [Infra] use abspath for Dockerfile
      
      * Revert "[Infra] use abspath for Dockerfile"
      
      This reverts commit 010fb910b140e7539e1599862681a4d520171388.
      
      * [Infra] better solution for run-docker.sh from outside
      
      * [HLSCustomOp] add directory check after running IPGenBuilder
      
      * [Build] rename to step_set_fifo_depths, fix non-auto depth case
      
      * [Build] typo fix
      
      Co-authored-by: default avatarauphelia <jakobapk@web.de>
      620b96f3
  18. Nov 23, 2020
    • Yaman Umuroglu's avatar
      Single-function and command-line for dataflow builds (#250) · 46653dc9
      Yaman Umuroglu authored
      * [Build] initial commit for a build util fxn
      
      * [Build] flesh out build_dataflow
      
      * [Build] bugfixes+partitioning for dataflow build
      
      * [Build] support from/to steps, add some verbosity
      
      * [Build] use explicit strings for config enums
      
      * [Deps] add clize and dataclasses-json
      
      * [Build] add cmdline entry for building folder, mixin json to cfg
      
      * [Build] cd into specified dir for build_dataflow
      
      * [Infra] add new build_dataflow entrypoint to run_docker.sh
      
      * [Build] let Python do exception handling in build_dataflow
      
      * [Infra] add new run-docker.sh entrypoint for build_custom
      
      * [Deps, Infra] update finn-base, set FINN_BUILD_DIR envvar
      
      * [Test] fix manual /tmp usage in tests
      
      * [Infra] avoid manual setting of build dir for now
      
      breaks in IP stitching for some reason
      
      * [Docs, Build] rename to build_dataflow + add some docs
      
      * [GHA] fix missing env.var.
      
      * [Build] allow specifying steps by name
      
      * [Build] add logging support in build_dataflow
      
      * [Zynq] use impl resources, add close_project
      
      still looking for ways around Vivado randomly hanging and not exiting 
      after synth finish
      
      * [Build] make more outputs available from build_dataflow
      
      * [Zynq] use vivado -batch for tcl call to synth
      
      * [Deps] update pyverilator
      
      * [Build] use abspath
      
      * [Test] add test_build_dataflow_directory
      
      * [Build] add build.py example
      
      * [Docs] add docs about command line entry
      
      * [Setup] include finn-base in install_requires
      
      this is needed to build readthedocs properly
      46653dc9
  19. Oct 30, 2020
    • Lucian Petrica's avatar
      Updates to resource estimates (#213) · 07e7955a
      Lucian Petrica authored
      
      * Added transform to set mem modes
      
      * Add transform to set folding (SIMD/PE)
      
      * Implemented resource allocation transform and test
      
      * Reverted to version in dev
      
      * Updated expected resource counts in res estimate test
      
      * Added URAM and DSP resource estimates; changed FC layer resType to lut/dsp, made it optional, and made lut the default
      
      * Correct handling of URAM
      
      * Fixed resource estimation for fc layer
      
      * Fixed uram estimation in SWU
      
      * Fixed res estimate test
      
      * Added resource estimation to VVAU, and changed resType to same pattern in FClayer; fixed DSP estimation in FClayer
      
      * Fixes for VVAU resource estimation
      
      * Updated SWU memory estimate; modified folding transform for correct depthwise SWU folding
      
      * Moved folding transforms out of PR branch
      
      * Removed files added by mistake in merge
      
      * Fixed test
      
      * [Deps, Refactor] update finn-base, move create.py back into finn
      
      * [Deps] update finn-base to get optional, restricted-value attributes
      
      * [HLSCustomOp] specify allowed values for HLSCustomOps where appropriate
      
      * [Deps] update finn-base and Brevitas
      
      Co-authored-by: default avatarYaman Umuroglu <maltanar@gmail.com>
      07e7955a
  20. Oct 28, 2020
    • Yaman Umuroglu's avatar
      Refactor custom op system (#245) · 4225faac
      Yaman Umuroglu authored
      * [Refactor] use getCustomOp instead of direct registry access
      
      * [Refactor] move HLSCustomOp base to own file
      
      * [Refactor] register all HLSCustomOps in new style
      
      * [Refactor] use correct domain for custom ops acc. to new style
      
      * [Deps] update finn-base to get new-style customop domains
      
      * [Refactor] more domain fixes
      
      * [Test] fix ipstitch expected io values in rtlsim
      
      * [Deps] update finn-base and brevitas
      
      * [Docs] link to CustomOp reorg PR
      4225faac
  21. Oct 26, 2020
    • Yaman Umuroglu's avatar
      Decoupled and runtime-writable thresholds (#244) · 2fcb3f1b
      Yaman Umuroglu authored
      * [CustomOp] groundwork for decoupled Thresholding op
      
      * [Thresholding] more decoupled mode preparation
      
      - new attributes for "weight" (really threshold) datatype + n_steps
      - move thres datatype into acc minimization function and call in convert_to_hls
      - other helper functions
      
      * [Refactor] add make_weight_file for Thresholding layer + wire up
      
      * [Threshold] first attempt at Thresholding_Stream_Batch
      
      * [Threshold] wire up more decoupled functionality, add test
      
      test does not yet pass for multi-PE
      
      * [Threshold] use 2 layers of slicers, all decoupled cppsim passes now
      
      * [Threshold] more decoupled fixes, most rtlsim tests pass
      
      * [Threshold] add unroll to decoupled thresholding, remove unused vars
      
      * [ConvertToHLS] allow specifying mem_mode in InferThresholdingLayer
      
      * [Threshold] expose interfaces for runtime weight writing
      
      * [Test] add runtime threshold test
      
      not yet passing
      
      * [Threshold] use std::less_equal also for decoupled
      
      * [Threshold] use flipped PE axis for decoupled-more rtl thresholds
      
      * [Test] runtime threshold reading works
      
      * [Test] runtime writable thresholds test working
      
      * [ConvertToHLS] fix threshold shape
      2fcb3f1b
  22. Oct 21, 2020
    • Yaman Umuroglu's avatar
      Runtime weight utils (#242) · 1dd6abf4
      Yaman Umuroglu authored
      * [StreamingFC] introduce make_weight_file helper function
      
      not yet wired into the rest of the class
      
      * [Test] use make_weight_file helper in runtime weight test
      
      * [Test] make runtime weight test work with different aspect ratio
      
      * [Refactor] StreamingFC: use make_weight_file in generate_params
      1dd6abf4
  23. Oct 19, 2020
  24. Oct 14, 2020
  25. Oct 13, 2020
  26. Oct 12, 2020
  27. Oct 10, 2020
  28. Oct 08, 2020
  29. Oct 06, 2020
  30. Sep 26, 2020
Loading