Skip to content

Conversation

@mdanilow
Copy link

  • The MoveOpPastFork() transformation is more flexible because it uses deepcopies of an original node (the get_attrs_fxn parameter is not needed anymore)

  • Some transformations (MoveScalarLinearPastInvariants, MakeMaxPoolNHWC, MakeScaleResizeNHWC) are fixed to check whether the node to be moved is a fork node, in which case the MoveOpPastFork would be called

  • InferDuplicateStreamsLayer() transform in src/finn/transformation/fpgadataflow/convert_to_hw_layers.py is fixed and every output of a fork node is checked (the transform used to be applying the transform just for the first output of a node)

  • InsertFIFO() transform in src/finn/transformation/fpgadataflow/insert_fifo.py is fixed for the case of the last node in the graph being a fork node (the transform was breaking the graph in such a case)

Michal Danilowicz added 3 commits September 20, 2024 16:12
…eNHWC transformations are checking whether the node to be moved is a fork node, in which case the MoveOpPastFork is called. MoveOpPastFork uses deepcopies of the original node.
@mdanilow mdanilow force-pushed the fix/branched_structures branch from 7473569 to 6223abe Compare September 20, 2024 15:20
@auphelia auphelia merged commit ab1c721 into Xilinx:dev Sep 26, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants