Refactor GAP8 backend, unifying the following code in a Common folder:
Tilers
Non-layer templates (makefile, network.c/h, etc)
DMA and utility code
Parsers
HW Pattern rewriter
DMA driver is simplified and streamlined based on @lukamac 's code.
The following keys were introduced in HW_description.json:
double_buffering: Set to 2 for double-buffering, 1 for no double buffering (i.e., GAP8_board backend)
split_ints: if true, checksums will be calculated by DORY as the sum of the uint8 representation of the results - even for int32 outputs (i.e., an int32 will be "split" into 4 uint8's)
blocking_dma_transfers: if true, insert barriers after pushing 2D transfers in 3D and HWC-to-CHW modes (otherwise the GAP8 board freezes)
Tests are passing, some examples tested on GAPuino as well.
Refactor GAP8 backend, unifying the following code in a
Common
folder:HW_description.json
:double_buffering
: Set to 2 for double-buffering, 1 for no double buffering (i.e.,GAP8_board
backend)split_ints
: iftrue
, checksums will be calculated by DORY as the sum of the uint8 representation of the results - even for int32 outputs (i.e., an int32 will be "split" into 4 uint8's)blocking_dma_transfers
: if true, insert barriers after pushing 2D transfers in 3D and HWC-to-CHW modes (otherwise the GAP8 board freezes) Tests are passing, some examples tested on GAPuino as well.