From 05d52334ca76781cb529f90d50b5d044a583bd9b Mon Sep 17 00:00:00 2001
From: Yaman Umuroglu <maltanar@gmail.com>
Date: Tue, 6 Oct 2020 16:23:26 +0200
Subject: [PATCH] [CustomOp] ensure all cycle estimates are int

---
 src/finn/custom_op/fpgadataflow/fmpadding_batch.py        | 2 +-
 src/finn/custom_op/fpgadataflow/globalaccpool_batch.py    | 2 +-
 src/finn/custom_op/fpgadataflow/streamingmaxpool_batch.py | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/finn/custom_op/fpgadataflow/fmpadding_batch.py b/src/finn/custom_op/fpgadataflow/fmpadding_batch.py
index f9a9dc434..95ecc5f10 100644
--- a/src/finn/custom_op/fpgadataflow/fmpadding_batch.py
+++ b/src/finn/custom_op/fpgadataflow/fmpadding_batch.py
@@ -48,7 +48,7 @@ class FMPadding_Batch(HLSCustomOp):
         simd = self.get_nodeattr("SIMD")
         batch_size = self.get_nodeattr("numInputVectors")
         exp_cycles = (channels / simd) * batch_size * odim * odim
-        return exp_cycles
+        return int(exp_cycles)
 
     def get_normal_input_shape(self):
         idim = self.get_nodeattr("ImgDim")
diff --git a/src/finn/custom_op/fpgadataflow/globalaccpool_batch.py b/src/finn/custom_op/fpgadataflow/globalaccpool_batch.py
index 1a7585888..56f1a9d56 100644
--- a/src/finn/custom_op/fpgadataflow/globalaccpool_batch.py
+++ b/src/finn/custom_op/fpgadataflow/globalaccpool_batch.py
@@ -187,7 +187,7 @@ class GlobalAccPool_Batch(HLSCustomOp):
         ch = self.get_nodeattr("NumChannels")
         pe = self.get_nodeattr("PE")
         folds = int(ch / pe)
-        return np.prod(self.get_folded_input_shape()[:-1]) + folds
+        return int(np.prod(self.get_folded_input_shape()[:-1]) + folds)
 
     def execute_node(self, context, graph):
         mode = self.get_nodeattr("exec_mode")
diff --git a/src/finn/custom_op/fpgadataflow/streamingmaxpool_batch.py b/src/finn/custom_op/fpgadataflow/streamingmaxpool_batch.py
index 4c7723586..53bcab993 100644
--- a/src/finn/custom_op/fpgadataflow/streamingmaxpool_batch.py
+++ b/src/finn/custom_op/fpgadataflow/streamingmaxpool_batch.py
@@ -99,7 +99,7 @@ class StreamingMaxPool_Batch(HLSCustomOp):
         # derived from StreamingMaxPool_Batch loop nest
         k = self.get_nodeattr("PoolDim")
         ifm_dim = self.get_nodeattr("ImgDim")
-        return ifm_dim * (ifm_dim + (ifm_dim / k))
+        return int(ifm_dim * (ifm_dim + (ifm_dim / k)))
 
     def get_instream_width(self):
         dt_bits = self.get_input_datatype().bitwidth()
-- 
GitLab