diff --git a/src/finn/transformation/fpgadataflow/templates.py b/src/finn/transformation/fpgadataflow/templates.py index 81cb954bb4503c8daf18bad5881661018e9d17b7..4a7845ee4f6f43edb067351352925d6c8bcb4fce 100644 --- a/src/finn/transformation/fpgadataflow/templates.py +++ b/src/finn/transformation/fpgadataflow/templates.py @@ -85,6 +85,7 @@ pynq_driver_template = """ from pynq import Overlay import numpy as np from pynq import allocate +import time from finn.util.data_packing import ( finnpy_to_packed_bytearray, packed_bytearray_to_finnpy @@ -129,12 +130,21 @@ np.copyto(ibuf_packed_device, ibuf_packed) # allocate a PYNQ buffer for the returned packed output buffer obuf_packed = allocate(shape=oshape_packed, dtype=np.uint8) +# measure runtime of network +start = time.time() + # set up the DMA and wait until all transfers complete dma.sendchannel.transfer(ibuf_packed_device) dma.recvchannel.transfer(obuf_packed) dma.sendchannel.wait() dma.recvchannel.wait() +end = time.time() +runtime = end - start +file = open("nw_runtime.txt", "w") +file.write(str(runtime)) +file.close() + # unpack the packed output buffer from accelerator obuf_folded = packed_bytearray_to_finnpy( obuf_packed, odt, oshape_folded, reverse_endian=True, reverse_inner=True