From d2be2418724e467027cf0f4191ff57d2aeb8b28a Mon Sep 17 00:00:00 2001 From: auphelia <jakobapk@web.de> Date: Tue, 28 Jan 2020 12:43:32 +0000 Subject: [PATCH] [Analysis pass] Added resource estimation analysis pass --- .../analysis/fpgadataflow/res_estimation.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/finn/analysis/fpgadataflow/res_estimation.py diff --git a/src/finn/analysis/fpgadataflow/res_estimation.py b/src/finn/analysis/fpgadataflow/res_estimation.py new file mode 100644 index 000000000..8004e2798 --- /dev/null +++ b/src/finn/analysis/fpgadataflow/res_estimation.py @@ -0,0 +1,20 @@ +import finn.custom_op.registry as registry +import finn.core.utils as util + +def res_estimation(model): + """Estimates the resources needed for the given model. + Returns {node op_type : resource estimation}""" + + res_dict = {} + for node in model.graph.node: + if node.domain == "finn": + backend_attribute = util.get_by_name(node.attribute, "backend") + if backend_attribute is None: + continue + backend_value = backend_attribute.s.decode("UTF-8") + if backend_value == "fpgadataflow": + op_type = node.op_type + inst = registry.custom_op[op_type](node) + res_dict[op_type] = inst.node_res_estimation() + + return res_dict -- GitLab