Skip to content
Snippets Groups Projects
  1. Feb 07, 2021
  2. Feb 06, 2021
  3. Feb 01, 2021
  4. Jan 26, 2021
  5. Jan 21, 2021
  6. Jan 20, 2021
  7. 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
  8. Jan 15, 2021
  9. Dec 17, 2020
    • Yaman Umuroglu's avatar
      [Docs] bring back missing images · af783db8
      Yaman Umuroglu authored
      af783db8
    • Yaman Umuroglu's avatar
      [Docs] bring back missing img · 61e80f2d
      Yaman Umuroglu authored
      61e80f2d
    • Yaman Umuroglu's avatar
      4fee6ffd
    • Yaman Umuroglu's avatar
      [Docs] update README for v0.5b · e6236e38
      Yaman Umuroglu authored
      e6236e38
    • Yaman Umuroglu's avatar
      [Docs] apidocs updates · b7da30f7
      Yaman Umuroglu authored
      b7da30f7
    • Yaman Umuroglu's avatar
      [Docs] make stack image local · 5224f12a
      Yaman Umuroglu authored
      5224f12a
    • Yaman Umuroglu's avatar
      [Docs] round of updates · fafde712
      Yaman Umuroglu authored
      fafde712
    • Yaman Umuroglu's avatar
      be5fd122
    • alinavalinav's avatar
      Feature/cybersecurity notebook (#259) · 004475a4
      alinavalinav authored
      
      * Created cybersecurity notebook and downloaded data with wget
      
      * Reorganized the cybersecurity notebook
      
      * Read the entire dataset as a pytorch tensor and trained a simple MLP on the UNSW_NB15 dataset
      
      * small changes to markdown
      
      * Training and testing have the same integer encoding
      
      * Added debugger tool
      
      * added loss visualization
      
      * aded 1hot encoder and separated dataloader
      
      Added 1-hot encoder with scikit learn.
      Seperated the dataloader into a python file.
      
      * changes to get 99.998% accuracy
      
      * changed loss plot
      
      * accuracy at 70% after 50 epochs
      
      However, loss is not ok
      
      * got 75% accuracy
      
      * see loss
      
      * added scheduled statistics
      
      * added iterator over all possible parameters
      
      * updates on automation
      
      debugging model error
      
      * Delete cybersecurity-checkpoint.ipynb
      
      * Delete cybersecurity_2-checkpoint.ipynb
      
      * Delete exemplofixe-checkpoint.ipynb
      
      * Delete UNSW_NB15_testing-set.csv
      
      * Delete UNSW_NB15_train.csv
      
      * Delete UNSW_NB15_training-set.csv
      
      * Delete UNSW_NB15_val.csv
      
      * general cleanup
      
      * general cleanup
      
      * updates with 75.7238% accuracy
      
      * added quantization of the dataset
      
      * debugging the quantization of the dataset
      
      * added plots for the debugging
      
      * debugging the quantization. Show the differences
      
      * update debugging
      
      * updates on debugging
      
      * updates on debugging quantization
      
      * updates on debug, uint32 df added
      
      * updates on debugging
      
      * added 2 pictures for the debugging
      
      * Added quantization of the dataset
      
      * aded results for training the model with the quantized dataset
      
      * added quantization of the dataset
      
      * added new notebook with model definition with brevitas
      
      * cleaning up documents
      
      * modified the model definition
      
      * Changed the loss function
      
      * Added debug with pdb
      
      * Successfully created neural network with Brevitas
      
      * Correctly quantize the dataset
      
      * Added export of onnx model
      
      * Added FINN validation of the Brevitas model
      
      * improved dataloader
      
      * general cleanup
      
      * General Cleanup
      
      * General Cleanup
      
      * Completed verifying the FINN model against Brevitas
      
      * Added new layer to MLP - Debugging
      
      * verified that the MLP model with new layer (QuantIdentity) outputs the same in Brevitas and in FINN for all 82332 test inputs
      
      * verified that the MLP model with new layer (QuantIdentity) outputs the same in Brevitas and in FINN for all 82332 test inputs
      
      * verified that model with new layer (QuantIdentity) outputs the same in Brevitas and in FINN for all 82332 inputs
      
      * verified that model with new layer and input shifted to accept {-1,1}, outputs the same in Brevitas (input is in {-1,+1}) and in FINN (input is in {-1,+1})  for the 82332 inputs
      
      * General cleanup and added text
      
      * General cleanup: improved text
      
      * General cleanup: fixed text typos
      
      * General cleanup: Added text
      
      * Delete cybersecurity.ipynb
      
      * Delete dataloader.py
      
      * Rename cybersecurity_Brevitas_1bit.ipynb to 1-cybersecurity-Brevitas-1bit.ipynb
      
      * Rename cybersecurity_Brevitas_Verification.ipynb to 2-cybersecurity-finn-verification.ipynb
      
      * Added the last notebook
      
      * Added last notebook describing the finn build
      
      * Added changed parameters to see differences
      
      * Added changed parameters and added text
      
      * Fixed typo
      
      * [Notebooks] reorganize into folders, add README for cybsec
      
      * [Notebook] add license header and refs to cybsec dataset quantizer
      
      * [Notebooks] rename cybsec notebook files
      
      * [Notebook] first pass thru cybsec part 1
      
      * [Notebook] refactor more of cybsec part 1
      
      * [Notebook] add option to use pretrained weights
      
      * fixed outline and typo
      
      * [Notebook] update cybsec notebook #2 and gitignore
      
      * [Notebook] start refactoring cybsec part 3
      
      * [ConvertToHLS] allow out_scale=2 for bipolar MT
      
      * [Build] add alternative set of steps for estimation only
      
      * [Transform] attempt to handle padding for IODMAs
      
      * [Transform] explicitly ignore IODMA nodes for InsertDWC
      
      * [Notebook] full pass over cybsec notebook 3
      
      * [Util] move vivado utils into finn-base
      
      * fixed outline
      
      * [HLSCustomOp] better err msg on ipgen failure
      
      Co-authored-by: default avatarAlina Vasilciuc <alinav@xlnx.xilinx.com>
      Co-authored-by: default avatarYaman Umuroglu <yamanu@xilinx.com>
      004475a4
  10. Dec 16, 2020
  11. Dec 14, 2020
  12. Dec 13, 2020
    • Yaman Umuroglu's avatar
      0fdc690b
    • Yaman Umuroglu's avatar
      [Driver] handle case with no rt weights · 72bd1487
      Yaman Umuroglu authored
      72bd1487
    • Yaman Umuroglu's avatar
      Driver data packing + improvements (#261) · e202bca2
      Yaman Umuroglu authored
      * [Driver] add driver_base.py as own template file + comments
      
      * [Driver] also move validation to won template + use in transform
      
      * [Driver] more comments
      
      * [Driver] suggested updates from PYNQ team + async mode exec_on_buffers
      
      * [Driver] allow smaller batchsize in execute_on_buffers
      
      * [Driver] optimize buffer alloc a bit
      
      * [Driver] wait condition fix
      
      * [Deps] update finn-base
      
      * [Deps] update finn-base
      
      * [Driver] enable fast_mode, expose more benchmarks
      
      * [Deps] update finn-base
      e202bca2
    • 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
  13. Dec 09, 2020
  14. Dec 08, 2020
    • Yaman Umuroglu's avatar
    • Yaman Umuroglu's avatar
    • Yaman Umuroglu's avatar
    • Yaman Umuroglu's avatar
      [Build] add verification to build steps · 4d496031
      Yaman Umuroglu authored
      4d496031
    • Yaman Umuroglu's avatar
    • Yaman Umuroglu's avatar
      f7bc42b1
    • 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
  15. 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
    • Tobi-Alonso's avatar
      Set vivado DWC input width explicitly as by default a block will have a 1 byte... · b9300a8d
      Tobi-Alonso authored
      Set vivado DWC input width explicitly as by default a block will have a 1 byte input which probably will cause a bottleneck (#254)
      
      b9300a8d
  16. Dec 01, 2020
    • Yaman Umuroglu's avatar
      [Build] update build.py example · 4e7f3fba
      Yaman Umuroglu authored
      4e7f3fba
    • 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
  17. Nov 24, 2020
Loading