diff --git a/llvm/projects/hpvm-tensor-rt/tensor_runtime/src/tensor_runtime.cu b/llvm/projects/hpvm-tensor-rt/tensor_runtime/src/tensor_runtime.cu
index 67c56aec3caf63b40e0ab499fa87a5e8cacfca6e..54a3bed286ba2cdc2bc29a760d6bfbcdd861540d 100644
--- a/llvm/projects/hpvm-tensor-rt/tensor_runtime/src/tensor_runtime.cu
+++ b/llvm/projects/hpvm-tensor-rt/tensor_runtime/src/tensor_runtime.cu
@@ -1691,7 +1691,8 @@ void* wrapper_ConvLayer(const char* hpvm_node_id,
                            conv_stride_h, //s_h
                            conv_stride_w, //s_w
                            param, //voltage_swing
-                           1 /*patch_factor*/);
+                           filter_tensor_cast->dims.dim_sizes[2] *
+                             filter_tensor_cast->dims.dim_sizes[3] /*patch_factor: k_h*k_w*/);
         RC->addToCurrentIterationComputeTime("ConvLayer_PROMISE", pinfo.first);
         RC->addToCurrentIterationComputeEnergy("ConvLayer_PROMISE", pinfo.second);
         void* t_out;