Multi-FPGA Integration#23
Draft
bwintermann wants to merge 133 commits into
Draft
Conversation
Author
|
TODOs moved. |
…ct/finn-plus into feature/vitis_build_improved
2 tasks
…data, added new step to builder
…e deprecation warning
…ultiFPGA. Improved typing and class organization. End2End tests. Updated existing tests
…ented. Small new test and a simple fix
…creation. Test bugfix
… node names. Additional tests.
…me + Import fixes. Aurora Single Package Doctest. Resource estimation test.
…one. Tests scaffold.
… QSFP SLR assignment into platforms module.
…various other tests, removed unnecessary test file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR merges Multi-FPGA capabilities. The goal is to enable Multi-FPGA without requiring a fixed communication technology or topology. Everything is customizable and optional. The flow should integrate seamlessly into existing FINN+ build flows. As soon as a
PartitioningConfigurationis added to the build configuration, Multi-FPGA steps are automatically used.Functionality:
Tests:
Create MultiFPGA SDPs could theoretically fail in cases in which the device changes in branches, since it currently is based on the order of nodes. Check for this (e.g. device changes between nodes requires neither of them to be a fork or join) (Should be fixed implicitly in MF 2.0)(Fixed by new clustering algorithm)separate_iodmassetting for both single and Multi-FPGADocumentation:
Integration / Code Organization:
communication_kernel_argumentsin the partitioning config)step_deployment_packageFinal re-check before merging:
CHANGELOG.md(after having merged from dev one last time) (add changelog for the changedfinn testcommand)README.mdFuture:
vitis_dummy_kernel) ( Depends on WIP: Enable unidirectional links pc2/AuroraFlow#47) (Maybe future PR)considered_resources(This depends on having both analysis estimates and available resources for the platforms and could be integrated together with Index platform resource data by type #211. For now, this is moved to a future PR.)finn-experimentals partitioner?Replace own(Unlikely, since the mentioned function also considers non-synthesizable IOs of the model as nodes.)networkxconversion with the one fromonnx-passes: iksnagreb/onnx-passes@989d670 (as soon as it's merged into dev)