Skip to content

Pooling.consolidation - #1740

Draft
preusser-amd wants to merge 12 commits into
devfrom
pooling.consolidation
Draft

preusser-amd wants to merge 12 commits into
devfrom
pooling.consolidation

Conversation

@preusser-amd

Copy link
Copy Markdown
Collaborator

This PR should be merged after #1728.

This PR fuses the pooling pipeline into a single customized HLS kernel. It abandons the explicit decomposition into optional padding, im2col and the actual pooling node within the model graph. Instead the data ingestion order becomes an internal implementation detail of the Pool CustomOp. The interfaces exposed by the node are solely described by the feature map geometry.
The different HLS backend functions have been consolidated into a standard pool<> template that is fed and controlled by a preceding input_gen<> instance. They are assembled, possibly with an optional input pad<>, into a single dataflow kernel as part of the kernel instantiation. The pool_global<> template facilitates and optimizes global pooling by implementing a ring buffer of accumulators. It provides functional specialization by using the same flexible pooling operators as the standard pool<> template.

This branch has not been deployed

No deployments
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