    def __call__(self, x: Tensor) -> Tensor:
        """call the function"""
        self._attrs["inputs"] = [x]
        self._set_depth()
        output_shape = self._infer_shapes(x)
        output = Tensor(output_shape, src_ops={self}, dtype="int64")
        boxes_num = x._attrs["shape"][0]._attrs["values"][0]
        col_blocks = int((boxes_num + 64 - 1) / 64)
        tmp_space = col_blocks * boxes_num
        tmp_c = _create_host_zero_tensor(
            [IntImm(tmp_space)], dst_ops={self}, dtype="int64"
        )
        self._attrs["inputs"].append(tmp_c)
        self._attrs["outputs"] = [output]
        return output
call the function
python/aitemplate/compiler/ops/vision_ops/nms/batched_nms.py