Xilinx / finn

Dataflow compiler for QNN inference on FPGAs
https://xilinx.github.io/finn
BSD 3-Clause "New" or "Revised" License
714 stars 226 forks source link

Support for sample-parallelism (MMV) #789

Open fpjentzsch opened 1 year ago

fpjentzsch commented 1 year ago

Overview

Introduces support for additional parallelism along the spatial feature map dimension, i.e., processing multiple 'pixels' or 'samples' simultaneously. For some layers (e.g., MVAU), this functionality already existed in the HLS back-end and is now integrated on the compiler side. For others (e.g., RTL SWG), back-end functionality is extended.

Currently, this parallelism is controlled by the M attribute and requires existing folding factors (SIMD, PE, parallel_window) to be maxed out first.

Components

Tests

Integration into existing unit tests:

New: