From 3ed5583ed22b8287602ae32b32961374932893b3 Mon Sep 17 00:00:00 2001 From: tlopex <820958424@qq.com> Date: Fri, 10 Apr 2026 00:47:21 -0400 Subject: [PATCH 1/3] fninish1 --- docs/reference/api/python/arith.rst | 22 +++++++++++++++ docs/reference/api/python/contrib.rst | 14 ++++++++++ docs/reference/api/python/exec.rst | 22 +++++++++++++++ docs/reference/api/python/index.rst | 4 +++ docs/reference/api/python/ir.rst | 6 +++++ docs/reference/api/python/target.rst | 6 +++++ docs/reference/api/python/testing.rst | 22 +++++++++++++++ docs/reference/api/python/tirx/backend.rst | 31 ++++++++++++++++++++++ docs/reference/api/python/topi.rst | 24 +++++++++++++++++ 9 files changed, 151 insertions(+) create mode 100644 docs/reference/api/python/arith.rst create mode 100644 docs/reference/api/python/exec.rst create mode 100644 docs/reference/api/python/testing.rst create mode 100644 docs/reference/api/python/tirx/backend.rst diff --git a/docs/reference/api/python/arith.rst b/docs/reference/api/python/arith.rst new file mode 100644 index 000000000000..742fbf5aef68 --- /dev/null +++ b/docs/reference/api/python/arith.rst @@ -0,0 +1,22 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +.. http://www.apache.org/licenses/LICENSE-2.0 + +.. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +tvm.arith +--------- +.. automodule:: tvm.arith + :members: + :imported-members: diff --git a/docs/reference/api/python/contrib.rst b/docs/reference/api/python/contrib.rst index ebe96910af97..f16da9ecb962 100644 --- a/docs/reference/api/python/contrib.rst +++ b/docs/reference/api/python/contrib.rst @@ -113,3 +113,17 @@ tvm.contrib.xcode ~~~~~~~~~~~~~~~~~ .. automodule:: tvm.contrib.xcode :members: + + +tvm.contrib.cutlass +~~~~~~~~~~~~~~~~~~~ +.. automodule:: tvm.contrib.cutlass + :members: + :imported-members: + + +tvm.contrib.hexagon +~~~~~~~~~~~~~~~~~~~ +.. automodule:: tvm.contrib.hexagon + :members: + :imported-members: diff --git a/docs/reference/api/python/exec.rst b/docs/reference/api/python/exec.rst new file mode 100644 index 000000000000..42976fc484bb --- /dev/null +++ b/docs/reference/api/python/exec.rst @@ -0,0 +1,22 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +.. http://www.apache.org/licenses/LICENSE-2.0 + +.. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +tvm.exec +-------- +.. automodule:: tvm.exec + :members: + :imported-members: diff --git a/docs/reference/api/python/index.rst b/docs/reference/api/python/index.rst index c826a87e893b..21d2d8bb32e1 100644 --- a/docs/reference/api/python/index.rst +++ b/docs/reference/api/python/index.rst @@ -24,10 +24,13 @@ Python API error ir + arith instrument transform target driver + testing + exec .. toctree:: :maxdepth: 1 @@ -62,6 +65,7 @@ Python API tirx/analysis tirx/stmt_functor tirx/transform + tirx/backend .. toctree:: :maxdepth: 1 diff --git a/docs/reference/api/python/ir.rst b/docs/reference/api/python/ir.rst index 1f0dc0c5e23c..a8d39e7b0163 100644 --- a/docs/reference/api/python/ir.rst +++ b/docs/reference/api/python/ir.rst @@ -21,3 +21,9 @@ tvm.ir :members: :imported-members: :autosummary: + +tvm.ir.diagnostics +~~~~~~~~~~~~~~~~~~ +.. automodule:: tvm.ir.diagnostics + :members: + :imported-members: diff --git a/docs/reference/api/python/target.rst b/docs/reference/api/python/target.rst index b3e763379ab6..9ccfb248d8ee 100644 --- a/docs/reference/api/python/target.rst +++ b/docs/reference/api/python/target.rst @@ -21,3 +21,9 @@ tvm.target :members: :imported-members: :autosummary: + +tvm.target.tag +~~~~~~~~~~~~~~ +.. automodule:: tvm.target.tag + :members: + :imported-members: diff --git a/docs/reference/api/python/testing.rst b/docs/reference/api/python/testing.rst new file mode 100644 index 000000000000..5ef7181fd7c3 --- /dev/null +++ b/docs/reference/api/python/testing.rst @@ -0,0 +1,22 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +.. http://www.apache.org/licenses/LICENSE-2.0 + +.. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +tvm.testing +----------- +.. automodule:: tvm.testing + :members: + :imported-members: diff --git a/docs/reference/api/python/tirx/backend.rst b/docs/reference/api/python/tirx/backend.rst new file mode 100644 index 000000000000..c4e6689bfe21 --- /dev/null +++ b/docs/reference/api/python/tirx/backend.rst @@ -0,0 +1,31 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +.. http://www.apache.org/licenses/LICENSE-2.0 + +.. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +tvm.tirx.backend +================ + +tvm.tirx.backend +***************** +.. automodule:: tvm.tirx.backend + :members: + :imported-members: + +tvm.tirx.backend.adreno +*********************** +.. automodule:: tvm.tirx.backend.adreno + :members: + :imported-members: diff --git a/docs/reference/api/python/topi.rst b/docs/reference/api/python/topi.rst index e8ba9edd5f8a..55f65785093a 100644 --- a/docs/reference/api/python/topi.rst +++ b/docs/reference/api/python/topi.rst @@ -37,3 +37,27 @@ tvm.topi.image :members: :imported-members: :autosummary: + +tvm.topi.vision +~~~~~~~~~~~~~~~ +.. automodule:: tvm.topi.vision + :members: + :imported-members: + +tvm.topi.gpu +~~~~~~~~~~~~ +.. automodule:: tvm.topi.gpu + :members: + :imported-members: + +tvm.topi.cpp +~~~~~~~~~~~~ +.. automodule:: tvm.topi.cpp + :members: + :imported-members: + +tvm.topi.testing +~~~~~~~~~~~~~~~~ +.. automodule:: tvm.topi.testing + :members: + :imported-members: From 506a9da4c930844838e87a0cde5430b0164ec9d2 Mon Sep 17 00:00:00 2001 From: tlopex <820958424@qq.com> Date: Fri, 10 Apr 2026 02:02:31 -0400 Subject: [PATCH 2/3] fnish2 --- docs/reference/api/python/topi.rst | 2 + python/tvm/arith/bound.py | 6 +- python/tvm/arith/iter_affine_map.py | 55 ++++++++------- python/tvm/contrib/hexagon/tools.py | 4 +- python/tvm/testing/utils.py | 14 ++-- .../tvm/topi/testing/strided_slice_python.py | 9 +-- python/tvm/topi/vision/nms.py | 18 ++--- python/tvm/topi/vision/nms_util.py | 67 ++++++++++--------- 8 files changed, 98 insertions(+), 77 deletions(-) diff --git a/docs/reference/api/python/topi.rst b/docs/reference/api/python/topi.rst index 55f65785093a..65bc1a7e172c 100644 --- a/docs/reference/api/python/topi.rst +++ b/docs/reference/api/python/topi.rst @@ -43,12 +43,14 @@ tvm.topi.vision .. automodule:: tvm.topi.vision :members: :imported-members: + :noindex: tvm.topi.gpu ~~~~~~~~~~~~ .. automodule:: tvm.topi.gpu :members: :imported-members: + :noindex: tvm.topi.cpp ~~~~~~~~~~~~ diff --git a/python/tvm/arith/bound.py b/python/tvm/arith/bound.py index 9eb53d22b587..2abe386e1db2 100644 --- a/python/tvm/arith/bound.py +++ b/python/tvm/arith/bound.py @@ -24,16 +24,16 @@ def deduce_bound(var, cond, hint_map, relax_map): Parameters ---------- - var : Var + var : tvm.tir.Var The target variable to be deduced. cond : PrimExpr The condition - hint_map : Map[Var, IntSet] + hint_map : Map[tvm.tir.Var, IntSet] Domain of variables used to help deduction. - relax_map : Map[Var, IntSet] + relax_map : Map[tvm.tir.Var, IntSet] The fomain of the variables to be relaxed using the provided domain. """ diff --git a/python/tvm/arith/iter_affine_map.py b/python/tvm/arith/iter_affine_map.py index b2548fc66991..8371d368eec3 100644 --- a/python/tvm/arith/iter_affine_map.py +++ b/python/tvm/arith/iter_affine_map.py @@ -137,7 +137,7 @@ def detect_iter_map( indices : List[PrimExpr] The input indices - input_iters : Map[Var, Range] + input_iters : Map[tvm.tir.Var, Range] The domain of each input iterators. predicate : PrimExpr @@ -178,7 +178,7 @@ def normalize_to_iter_sum(index, input_iters): index : PrimExpr The input index - input_iters : Map[Var, Range] + input_iters : Map[tvm.tir.Var, Range] The domain of each input iterators. Returns @@ -211,7 +211,7 @@ def iter_map_simplify( indices : List[PrimExpr] The input indices - input_iters : Map[Var, Range] + input_iters : Map[tvm.tir.Var, Range] The domain of each input iterators. predicate : PrimExpr @@ -265,28 +265,34 @@ def subspace_divide( simplify_trivial_iterators=True, ): """Detect if bindings can be written as - [a_0*e_0 + b_0 + c_0, a_1*e_1 + b_1, ..., a_n*e_n + b_n] - where a = some-quasi-affine-iter-map(input_iters set_minus sub_iters) - b = some-quasi-affine-iter-map(sub_iters) - c is constant symbols - e is the extent of b - For example, z*12 + y*3 + x + c = (z*4+y)*3 + x - bindings = [z*12 + y*3 + x + c] - input_iters = [z, y, x] - sub_iter = [x] - Then the result will be [a, b] where - a = [z*4 + y] - b = [x] + ``[a_0*e_0 + b_0 + c_0, a_1*e_1 + b_1, ..., a_n*e_n + b_n]`` + + where:: + + a = some-quasi-affine-iter-map(input_iters set_minus sub_iters) + b = some-quasi-affine-iter-map(sub_iters) + c is constant symbols + e is the extent of b + + For example:: + + z*12 + y*3 + x + c = (z*4+y)*3 + x + bindings = [z*12 + y*3 + x + c] + input_iters = [z, y, x] + sub_iter = [x] + Then the result will be [a, b] where + a = [z*4 + y] + b = [x] Parameters ---------- bindings : List[PrimExpr] The input bindings - input_iters : Map[Var, Range] + input_iters : Map[tvm.tir.Var, Range] The domain of input iterator, which is the basis of the whole space - sub_iters : Array[Var] + sub_iters : Array[tvm.tir.Var] The subset of input_iters, which is the basis of the subspace predicate : PrimExpr @@ -302,12 +308,13 @@ def subspace_divide( Returns ------- results : List[List[PrimExpr]] - The result list has length len(bindings) + 1 - [0, len(bindings)): The iter map matching result. The inner list is of length 2. - The first expr is the basis of the quotient space. - The second expr is the basis of the subspace. - len(bindings): the predicate of outer space and inner space - Empty array if no match can be found. + The result list has length ``len(bindings) + 1``. + + - ``[0, len(bindings))``: The iter map matching result. + The inner list is of length 2. The first expr is the basis + of the quotient space. The second expr is the basis of the subspace. + - ``len(bindings)``: the predicate of outer space and inner space. + - Empty array if no match can be found. """ if isinstance(check_level, str): check_level = IterMapLevel.from_str(check_level) @@ -337,7 +344,7 @@ def inverse_affine_iter_map(iter_map, outputs): Returns ------- - results : Map[Var, PrimExpr] + results : Map[tvm.tir.Var, PrimExpr] The map from the input to the transformed result. """ return _ffi_api.InverseAffineIterMap(iter_map, outputs) diff --git a/python/tvm/contrib/hexagon/tools.py b/python/tvm/contrib/hexagon/tools.py index bf7913cf6235..632149391f0f 100644 --- a/python/tvm/contrib/hexagon/tools.py +++ b/python/tvm/contrib/hexagon/tools.py @@ -115,7 +115,7 @@ def link_shared(so_name, objs, extra_args=None): ---------- so_name : str Name of the shared library file. - objs : list[str,StringImm] + objs : list[str, tvm.tirx.StringImm] extra_args : dict (str->str) or Map Additional arguments: 'hex_arch' - Hexagon architecture, e.g. v68 @@ -187,7 +187,7 @@ def link_shared_macos(so_name, objs, extra_args=None): ---------- so_name : str Name of the shared library file. - objs : list[str,StringImm] + objs : list[str, tvm.tirx.StringImm] extra_args : dict (str->str) or Map Additional arguments: 'hex_arch' - Hexagon architecture, e.g. v68 diff --git a/python/tvm/testing/utils.py b/python/tvm/testing/utils.py index 125fa9586b03..f15768858bb0 100644 --- a/python/tvm/testing/utils.py +++ b/python/tvm/testing/utils.py @@ -281,12 +281,14 @@ def check_bool_expr_is_true(bool_expr, vranges, cond=None): """Check that bool_expr holds given the condition cond for every value of free variables from vranges. - for example, 2x > 4y solves to x > 2y given x in (0, 10) and y in (0, 10) - here bool_expr is x > 2y, vranges is {x: (0, 10), y: (0, 10)}, cond is 2x > 4y - We creates iterations to check, - for x in range(10): - for y in range(10): - assert !(2x > 4y) || (x > 2y) + For example, ``2x > 4y`` solves to ``x > 2y`` given ``x in (0, 10)`` + and ``y in (0, 10)``. Here bool_expr is ``x > 2y``, + vranges is ``{x: (0, 10), y: (0, 10)}``, cond is ``2x > 4y``. + We create iterations to check:: + + for x in range(10): + for y in range(10): + assert !(2x > 4y) || (x > 2y) Parameters ---------- diff --git a/python/tvm/topi/testing/strided_slice_python.py b/python/tvm/topi/testing/strided_slice_python.py index 3843d0996777..54e041bf03f8 100644 --- a/python/tvm/topi/testing/strided_slice_python.py +++ b/python/tvm/topi/testing/strided_slice_python.py @@ -36,10 +36,11 @@ def strided_slice_python(data, begin, end, strides, slice_mode="end", axes=None) slice_mode : str, optional The slice mode [end, size]. - end: The default slice mode, ending indices for the slice. - size: The input strides will be ignored, input end in this mode indicates - the sizeof a slice starting at the location specified by begin. If end[i] is -1, - all remaining elements in that dimension are included in the slice. + + - ``"end"``: The default slice mode, ending indices for the slice. + - ``"size"``: The input strides will be ignored, input end in this mode indicates + the size of a slice starting at the location specified by begin. If end[i] is -1, + all remaining elements in that dimension are included in the slice. axes : list, optional Axes along which slicing is applied diff --git a/python/tvm/topi/vision/nms.py b/python/tvm/topi/vision/nms.py index b69e9c2aa1e3..a602527fcc8d 100644 --- a/python/tvm/topi/vision/nms.py +++ b/python/tvm/topi/vision/nms.py @@ -787,20 +787,22 @@ def all_class_non_max_suppression( """Non-maximum suppression operator for object detection, corresponding to ONNX NonMaxSuppression and TensorFlow combined_non_max_suppression. NMS is performed for each class separately. + Parameters ---------- boxes : tvm.te.Tensor 3-D tensor with shape (batch_size, num_boxes, 4) - scores: tvm.te.Tensor + scores : tvm.te.Tensor 3-D tensor with shape (batch_size, num_classes, num_boxes) max_output_boxes_per_class : int or tvm.te.Tensor, optional The maxinum number of output selected boxes per class - iou_threshold : float or tvm.te.Tensor, optionaIl + iou_threshold : float or tvm.te.Tensor, optional IoU test threshold score_threshold : float or tvm.te.Tensor, optional Score threshold to filter out low score boxes early output_format : str, optional "onnx" or "tensorflow", see below. + Returns ------- out : list of tvm.te.Tensor @@ -819,12 +821,12 @@ def all_class_non_max_suppression( may contain garbage values. When comparing with ONNX Runtime or other implementations that output dynamic shapes, you should only compare the first `num_total_detection` rows. - Example: - ```python - selected_indices, valid_count = nms_output - actual_count = int(valid_count.numpy()[0]) - valid_indices = selected_indices.numpy()[:actual_count, :] - ``` + Example:: + + selected_indices, valid_count = nms_output + actual_count = int(valid_count.numpy()[0]) + valid_indices = selected_indices.numpy()[:actual_count, :] + If `output_format` is "tensorflow", the output is three tensors, the first is `indices` of size `(batch_size, num_class * num_boxes , 2)`, the second is `scores` of size `(batch_size, num_class * num_boxes)`, and the third is `num_total_detection` of size diff --git a/python/tvm/topi/vision/nms_util.py b/python/tvm/topi/vision/nms_util.py index a4b4c78363a3..f9bb460bc840 100644 --- a/python/tvm/topi/vision/nms_util.py +++ b/python/tvm/topi/vision/nms_util.py @@ -134,21 +134,23 @@ def collect_selected_indices( num_total_detections=None, input_image_size=None, ): - """Collect selected indices from the core NMS loop into one linear output + """Collect selected indices from the core NMS loop into one linear output. + Parameters ---------- num_class : int - selected_indices: tvm.te.Tensor + selected_indices : tvm.te.Tensor 2-D tensor with shape (batch_size * num_classes, num_boxes), representing the indices of selected boxes by the core NMS loop. - num_detections tvm.te.Tensor + num_detections : tvm.te.Tensor 1-D tensor with shape (batch_size * num_classes,), representing - the number of boxes selected by the core NMS loop, per batch and class - row_offsets tvm.te.Tensor + the number of boxes selected by the core NMS loop, per batch and class. + row_offsets : tvm.te.Tensor 1-D tensor with shape (batch_size * num_classes,), this should be the exclusive scan - of num_detections + of num_detections. ir : function - A function to generate IR for CPU or GPU, see its usage in vision/nms.py and cuda/nms.py + A function to generate IR for CPU or GPU, see its usage in vision/nms.py and cuda/nms.py. + Returns ------- out : tvm.te.Tensor @@ -243,24 +245,27 @@ def collect_selected_indices( def collect_selected_indices_and_scores( selected_indices, selected_scores, num_detections, row_offsets, num_total_detections, ir ): - """Collect selected indices and scores from the core NMS loop into one linear output + """Collect selected indices and scores from the core NMS loop into one linear output. + Parameters ---------- - num_class : int - selected_indices: tvm.te.Tensor + selected_indices : tvm.te.Tensor 2-D tensor with shape (batch_size * num_classes, num_boxes), representing the indices of selected boxes by the core NMS loop. - selected_indices: tvm.te.Tensor + selected_scores : tvm.te.Tensor 2-D tensor with shape (batch_size * num_classes, num_boxes), representing the scores of selected boxes by the core NMS loop. - num_detections tvm.te.Tensor + num_detections : tvm.te.Tensor 2-D tensor with shape (batch_size, num_classes), representing - the number of boxes selected by the core NMS loop, per batch and class - row_offsets tvm.te.Tensor + the number of boxes selected by the core NMS loop, per batch and class. + row_offsets : tvm.te.Tensor 2-D tensor with shape (batch_size, num_classes), this should be the exclusive scan - of num_detections along axis 1 + of num_detections along axis 1. + num_total_detections : tvm.te.Tensor + Total number of detections. ir : function - A function to generate IR for CPU or GPU, see its usage in vision/nms.py and cuda/nms.py + A function to generate IR for CPU or GPU, see its usage in vision/nms.py and cuda/nms.py. + Returns ------- out : [tvm.te.Tensor, tvm.te.Tensor] @@ -379,28 +384,30 @@ def run_all_class_nms( return_scores=False, score_threshold=None, ): - """The core all class NMS routine + """The core all class NMS routine. + Parameters ---------- boxes : tvm.te.Tensor 3-D tensor with shape (batch_size, num_boxes, 4) - sorted_scores: tvm.te.Tensor - 2-D tensor with shape (batch_size * num_classes, num_boxes) - One of the outputs from argsort - sorted_indices: tvm.te.Tensor - 2-D tensor with shape (batch_size * num_classes, num_boxes) - The other output from argsort - valid_count: tvm.te.Tensor + sorted_scores : tvm.te.Tensor + 2-D tensor with shape (batch_size * num_classes, num_boxes). + One of the outputs from argsort. + sorted_indices : tvm.te.Tensor + 2-D tensor with shape (batch_size * num_classes, num_boxes). + The other output from argsort. + valid_count : tvm.te.Tensor 1-D tensor with shape (batch_size * num_classes,), representing - the number of boxes whose score is above score_threshold, per batch and class - max_output_boxes_per_class : int or tvm.te.Tensor, optional - The maxinum number of output selected boxes per class - iou_threshold : float or tvm.te.Tensor, optionaIl - IoU test threshold + the number of boxes whose score is above score_threshold, per batch and class. + max_output_size_per_class : int or tvm.te.Tensor, optional + The maxinum number of output selected boxes per class. + iou_threshold : float or tvm.te.Tensor, optional + IoU test threshold. nms_loop : function - A core NMS loop, see its usage in vision/nms.py and cuda/nms.py + A core NMS loop, see its usage in vision/nms.py and cuda/nms.py. return_scores : bool, optional Whether or not to return selected scores, needed by the tensorflow output format. + Returns ------- out : a list of tvm.te.Tensor From 39bdb31be77d40c9423f2313e18f30a1f793a3f6 Mon Sep 17 00:00:00 2001 From: tlopex <820958424@qq.com> Date: Fri, 10 Apr 2026 02:57:05 -0400 Subject: [PATCH 3/3] finish3 --- docs/reference/api/python/instrument.rst | 1 + python/tvm/arith/int_set.py | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/reference/api/python/instrument.rst b/docs/reference/api/python/instrument.rst index 56897b2cfadd..7008dec70fd3 100644 --- a/docs/reference/api/python/instrument.rst +++ b/docs/reference/api/python/instrument.rst @@ -20,3 +20,4 @@ tvm.ir.instrument .. automodule:: tvm.ir.instrument :members: :imported-members: + :exclude-members: Path diff --git a/python/tvm/arith/int_set.py b/python/tvm/arith/int_set.py index 28694edfb753..746390187bec 100644 --- a/python/tvm/arith/int_set.py +++ b/python/tvm/arith/int_set.py @@ -102,7 +102,7 @@ def estimate_region_lower_bound(region, var_dom, predicate): region : List[Range] The region to be analyzed. - var_dom : Dict[Var, Range] + var_dom : Dict[tvm.tir.Var, Range] The ranges of the variables predicate : PrimExpr @@ -125,7 +125,7 @@ def estimate_region_strict_bound(region, var_dom, predicate): region : List[Range] The region to be analyzed. - var_dom : Dict[Var, Range] + var_dom : Dict[tvm.tir.Var, Range] The ranges of the variables predicate : PrimExpr @@ -149,7 +149,7 @@ def estimate_region_upper_bound(region, var_dom, predicate): region : List[Range] The region to be analyzed. - var_dom : Dict[Var, Range] + var_dom : Dict[tvm.tir.Var, Range] The ranges of the variables predicate : PrimExpr @@ -168,7 +168,7 @@ def pos_inf(): Returns ---------- - pos_inf : Var + pos_inf : tvm.tir.Var A symbolic var that indicates positive infinity """ return _ffi_api.PosInf() @@ -179,7 +179,7 @@ def neg_inf(): Returns ---------- - neg_inf : Var + neg_inf : tvm.tir.Var A symbolic var that indicates positive infinity """ return _ffi_api.NegInf()