diff options
Diffstat (limited to 'ethosu/vela/insert_dma.py')
-rw-r--r-- | ethosu/vela/insert_dma.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ethosu/vela/insert_dma.py b/ethosu/vela/insert_dma.py index 703ab9d7..b1b89856 100644 --- a/ethosu/vela/insert_dma.py +++ b/ethosu/vela/insert_dma.py @@ -21,6 +21,7 @@ from .operation import Operation from .tensor import MemArea from .tensor import TensorPurpose +binary_elementwise_op = set(("AddAct", "MulAct", "SubAct", "Maximum", "Minimum")) def insert_dma_cmd(op, arch): if op.type == "DMA": @@ -28,7 +29,9 @@ def insert_dma_cmd(op, arch): for idx, tens in enumerate(op.inputs): if tens.mem_area in (MemArea.Dram, MemArea.OffChipFlash) and tens.mem_area != arch.fast_storage_mem_area: - if tens.purpose == TensorPurpose.Weights: + if (tens.purpose == TensorPurpose.Weights or + (tens.purpose == TensorPurpose.FeatureMap and + op.type in binary_elementwise_op)): only_vector_product_consumers = True for oper in tens.consumers(): if oper is None or oper.attrs.get("npu_block_type") != NpuBlockType.VectorProduct: |