Skip to content

Conversation

@iksnagreb
Copy link
Contributor

This includes HWCustomOp and HLSBackend specializations of the operators aiming for full ONNX compliance. Adds infrastructure for converting the standard ONNX version of the operators to the FINN dialect, which mostly means transplanting the node into the FINN domain and setting a few type and shape attributes. Adds unit tests in Python, C++ and RTL simulation as well as a simple integration test starting from PyTorch model export.

Proposes a new scheme for registering and importing custom operators into their corresponding module namespace, i.e., the 'custom_op' dictionary used to lookup operators by ONNX domain. This is the same as already proposed in #1040.

Support for these operators might seem unnecessary as they have no real effect on the stream/dataflow. However, they can be useful as a workaround for adapting between datalayouts, for example when combining convolutions (assuming 4-dimensional layouts) and attention operations (working on 3-dimensional, or rather 2-dimensional layouts). I will link some example presenting this later...

iksnagreb and others added 3 commits August 7, 2024 15:21
This includes HWCustomOp and HLSBackend specializations of the operators
aiming for full ONNX compliance. Adds infrastructure for converting the
standard ONNX version of the operators to the FINN dialect, which mostly
means transplanting the node into the FINN domain and setting a few type
and shape attributes. Adds unit tests in Python, C++ and RTL simulation
as well as a simple integration test starting from PyTorch model export.
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