Skip to content

v0.26.0.rc0

Pre-release
Pre-release

Choose a tag to compare

@MasterJH5574 MasterJH5574 released this 05 Aug 18:02
c7b458e

What's Changed

  • [release][Dont Squash] Update version to 0.24.0 and 0.25.0.dev on main branch by @ysh329 in #19446
  • [Relax][Frontend] Add ParameterList and ParameterDict containers by @mshr-h in #19495
  • [Relax][Frontend][TFLite] Add segment operator mappings by @Aharrypotter in #19491
  • [BUGFIX][TIR] Skip bool-typed expressions in CSE by @tqchen in #19502
  • [Relax][Frontend][TFLite] Add tests coverage for SPACE_TO_BATCH_ND and BATCH_TO_SPACE_ND by @rknastenka in #19499
  • [BugFix][Relax] Fix scatter_elements and scatter_nd CUDA compilation by @as4230 in #19497
  • [BugFix][Relax][ONNX] Resolve param Vars in Concat to handle mixed Shape/Tensor inputs by @swjng in #19498
  • [Web] Add support for OPFS by @akaashrp in #19494
  • [BugFix][Relax][Torch] Honor multi-axis dims in torch.flip converter by @swjng in #19511
  • [BugFix][Relax][Torch] Honor correction in std/var converter by @swjng in #19512
  • [BugFix][S-TIR] Wrap bare scalar bodies in DefaultGPUSchedule to avoid root-block crash by @swjng in #19514
  • [Relax][TFLite] Add gather frontend expected IRModule tests by @weicheng-hsu in #19516
  • [Relax][PyTorch] Fix segfault in from_exported_program when model uses index_put_ with tuple output by @cchung100m in #19488
  • [Relax][Frontend][TFLite] Add Conv3D support by @weicheng-hsu in #19523
  • [REFACTOR][IR] Remove dead AttrFunctor template by @tqchen in #19528
  • [Relax][ONNX] Normalize negative indices before the take call for Gather operator by @cchung100m in #19525
  • [Relax][Frontend] Add TFLite Frontend Support for CONV_3D_TRANSPOSE by @weicheng-hsu in #19530
  • [TIR] Add cooperative_tensor builtins and metal.cooperative_tensor storage scope by @oraluben in #19423
  • [Relax][Frontend][TFLite] Add initial StableHLO builtin operator support by @Aharrypotter in #19536
  • [Contrib] Fix CUDA contrib build after FFI/header cleanups by @MasterJH5574 in #19539
  • [BugFix][Relax]: handle ONNX ScatterElements reduction by @THINKER-ONLY in #19527
  • [Fix][Relax]: ONNX Clip NaN bounds and preserve input NaN (ORT parity) by @ConvolutedDog in #19535
  • [Fix][CI]: remove astral-sh/setup-uv from lint workflow by @ConvolutedDog in #19554
  • [Relax][ONNX] Set max_output_boxes_per_class default value to 0 for NonMaxSuppression by @cchung100m in #19547
  • [Relax][ONNX] Add ONNX Backend Tests for systematic frontend coverage by @Aharrypotter in #19515
  • [Fix][Relax] Lower bool prod as logical all by @ConvolutedDog in #19557
  • [Relax][ONNX] Prevent Div divide-by-zero crashes by @cchung100m in #19566
  • [TIRx] Bringup TIRx Infrastructure by @spectrometerHBH in #19581
  • [BugFix][Target][LLVM] Use libm for asin/acos instead of buggy inline Taylor by @swjng in #19567
  • [RFC][CodeGen][CUDA]: Gate fast math intrinsic lowering behind target option by @ConvolutedDog in #19565
  • [TVMScript] Handle undefined functions when dumping IRModule by @ConvolutedDog in #19583
  • [BugFix][Target][LLVM] Route sinh/cosh/atan/asinh/erf through libm extern by @swjng in #19568
  • [Relax][ONNX] Fix TopK scalar K extraction in from_onnx by @javierdejesusda in #19573
  • [Relax][Frontend][TFLite] Support StableHLO region-based ops and multi-subgraph models by @Aharrypotter in #19587
  • [ONNX] Add RMSNormalization converter for ONNX opset 23 by @q55180514 in #19590
  • [BUILD] Modularize device runtime into per-backend DSOs by @tqchen in #19594
  • [Relax] Normalize negative concat axis in ReorderPermuteDimsAfterConcat by @cchung100m in #19588
  • [RPC][Tracker] Bound msg_size to MAX_TRACKER_MSG_BYTES to prevent unbounded buffer growth by @bl4cksku11 in #19586
  • [CodeGen][CUDA] Move fast math intrinsic lowering option to PassContext by @tlopex in #19596
  • [IR] Add annotations to Call nodes by @tlopex in #19597
  • [REFACTOR][RELAX] Fold CalleeCollector into relax DeadCodeElimination by @tqchen in #19603
  • [Relax][Frontend][TFLite] Support quantized TFLite import via QDQ decomposition by @Aharrypotter in #19538
  • Fix PytestUnknownMarkWarning: Unknown pytest.mark.adreno_clml by @cchung100m in #19602
  • [REFACTOR][IR] Cleanup attrs.h: drop NullValue, AttrsNodeReflAdapter, legacy BaseAttrsNode methods by @tqchen in #19607
  • [Docs] Reorganize development guide content by @tlopex in #19606
  • [REFACTOR] Move src/ir/script_printer.cc to src/script/printer/ by @tqchen in #19611
  • [REFACTOR][IR] Phase out src/ir/structural_{hash,equal}.cc to tvm-ffi by @tqchen in #19613
  • [REFACTOR][IR] Inline ApplyPassToFunction into relax decompose_ops, delete the util by @tqchen in #19612
  • [REFACTOR][TIR][ARITH] Phase out ControlFlowGraph, NarrowPredicateExpression, and rename Simplify to StmtSimplify by @tqchen in #19604
  • [REFACTOR][IR] Phase out class Integer and class Bool in Attrs and PassConfig by @tqchen in #19614
  • [CMAKE][RUNTIME] Link tvm_rpc with all backend runtime libraries by @cbalint13 in #19617
  • [REFACTOR][IR] attrs.h follow-up cleanup: drop legacy vtable / rename / phase out AttrFieldInfo by @tqchen in #19615
  • [REFACTOR][TIR] Tie AnnotateDeviceRegions/SplitHostDevice/LowerDeviceKernelLaunch together by @tqchen in #19605
  • [Relax][Frontend][TFLite] Support control-flow multi-subgraph operators by @Aharrypotter in #19616
  • [Relax][Frontend][TFLite] Add UNIDIRECTIONAL_SEQUENCE_RNN converter by @LudovicoYIN in #19601
  • [IR] Rename Call annotations to attrs by @tlopex in #19618
  • [REFACTOR][RUNTIME] Phase out tvm::runtime::regex_match by @tqchen in #19620
  • [REFACTOR][RUNTIME] Remove leftover microTVM/CRT crumbs by @tqchen in #19622
  • [REFACTOR][RUNTIME] Relocate nvtx.h to tvm/support/cuda and make it header-only by @tqchen in #19621
  • [REFACTOR][PYTHON] Lift compiler/CLI/process modules from tvm.contrib to tvm.support by @tqchen in #19624
  • [REFACTOR][IR][FFI] Bump tvm-ffi (+ SEqHashDef migration) and phase out tvm/ir/repr.h by @tqchen in #19627
  • [REFACTOR][IR] Inline ReplaceGlobalVars into AttachGlobalSymbol by @tqchen in #19625
  • [BugFix][Vulkan][CodeGen] Change OpControlBarrier to AcquireRelease by @kistenklaus in #19619
  • [REFACTOR][RUNTIME] Structural reorganization: locality moves for thread_map, texture, minrpc, disco, contrib by @tqchen in #19628
  • [REFACTOR][PYTHON] Consolidate derived_object into tvm.ir.utils by @tqchen in #19630
  • [CI] Remove tvm-lint from tvm-bot by @yongwww in #19629
  • [REFACTOR][SCRIPT] tvmscript streamline: lift printer.h, restore one-way dep, migrate dialect config to extra_config by @tqchen in #19631
  • [REFACTOR][ARITH] Phase out arith/scalable_expression; arith no longer proves over scalable vectors by @tqchen in #19638
  • [Relax][Frontend][TFLite] Add REDUCE_WINDOW support by @THINKER-ONLY in #19637
  • [Relax][Frontend][TFLite] Add RNN converter by @LudovicoYIN in #19632
  • [REFACTOR][IR] Delete class Bool and class Integer boxed-type wrappers by @tqchen in #19636
  • [Relax][Frontend][TFLite] Add LSTM and SVDF converter by @LudovicoYIN in #19633
  • [Relax][Frontend][TFLite] Add TFLite Resource Variable and Static Hashtable Import Support by @Aharrypotter in #19639
  • [TIRx] Fix stale Simplify import in lowering test by @tlopex in #19642
  • [Relax][Frontend][TFLite] Support sequence LSTM and RNN operators by @LudovicoYIN in #19634
  • [Relax][Frontend][TFLite] Support STABLEHLO_WHILE by @Aharrypotter in #19646
  • [Fix] Stabilize layer_norm variance computation with two-pass reduction by @ConvolutedDog in #19643
  • [Relax][IR] Skip in-place multiply when two operands are views of the same tensor by @ConvolutedDog in #19644
  • [Relax][Frontend][TFLite] Support STABLEHLO_CUSTOM_CALL by @Aharrypotter in #19649
  • [REFACTOR][PYTHON] Revisit lifted support modules from tvm.contrib by @cbalint13 in #19653
  • [Relax][Frontend][TFLite] Add HASHTABLE_LOOKUP converter by @LudovicoYIN in #19654
  • [Relax][Frontend][TFLite] Support STABLEHLO_RNG_BIT_GENERATOR by @Aharrypotter in #19651
  • fix: Security Patch: Fix missing exported flag in AndroidManifest by @CodeMechanic-Bot in #19648
  • [Relax][PyTorch] Cast non-bool inputs to bool in logical_not converter by @javierdejesusda in #19645
  • [Web][COS] Persist URL→hash mapping across page loads by @tomayac in #19569
  • [Fix][Relax] Support ND batched matmul chains in AdjustMatmulOrder pass by @ConvolutedDog in #19650
  • [Relax][Frontend][TFLite] Add EMBEDDING_LOOKUP_SPARSE converter by @LudovicoYIN in #19652
  • [CI] Add cibw-based wheel publishing to PyPI by @tlopex in #19656
  • [TIRx] Post-bringup op-dispatch / codegen / TVMScript follow-ups by @spectrometerHBH in #19657
  • [RPC] Import tvm.testing lazily in rpc.testing by @tlopex in #19658
  • [CI] Wheel publishing follow-ups by @tlopex in #19659
  • [REFACTOR][TIRX] Consolidate split host device stages by @tqchen in #19663
  • [FFI][IR] Route JSON serialization through tvm-ffi by @tqchen in #19662
  • [Relax][PyTorch] Decompose integer pow into repeated multiplication by @javierdejesusda in #19660
  • [CI] Derive the version from Git tags via setuptools_scm by @tlopex in #19665
  • [CI] Reformat the macOS repair-wheel-command as a multiline script by @tlopex in #19664
  • [FFI][REFACTOR] Direct structural APIs to tvm-ffi by @tqchen in #19661
  • [Arith] Memoize IntervalSet variable relaxation to avoid exponential blowup by @jinhongyii in #19670
  • [Arith] Gate canonical-simplify LT Case 2 on extra scale == +1 by @jinhongyii in #19669
  • [Relax][ONNX] Fix Cast operator float->int NaN/Inf handling by @cchung100m in #19626
  • [TIRx] Update scoped ops and CUDA launch bounds by @spectrometerHBH in #19677
  • [Relax][ONNX] Preserve NaN in Sign to align with ONNX Runtime by @cchung100m in #19674
  • [Bump] tvm-ffi to 59da4c0 by @tqchen in #19681
  • [Web] Add support for OPFS synchronous access handles and committed records by @akaashrp in #19673
  • [Arith] Make Analyzer a tvm-ffi Object by @tlopex in #19675
  • [Relax][PyTorch] Cast non-bool inputs to bool in logical_and converter by @javierdejesusda in #19679
  • [CI] Remove PyPI-only tag ref guard from wheel publishing by @tlopex in #19685
  • [CI] Target apache-tvm for PyPI wheel publishing by @tlopex in #19686
  • [Web] Bump tvmjs version to 0.25.0-dev1 by @akaashrp in #19687
  • [Fix] CommReduce could handle 0-dim data by @flashmouse in #19683
  • [CI] Pin actions by version tag, trim wheel perms by @MasterJH5574 in #19703
  • [Tests] Fix s_tir tests using removed T.block API in TIRx script by @tlopex in #19706
  • [CI] Fix release verification script by @MasterJH5574 in #19700
  • [Refactor][Meta-schedule] Remove meta-schedule as_string mechanism in favor of default representation by @tlopex in #19709
  • [Python] Bump apache-tvm-ffi floor to >=0.1.12 by @MasterJH5574 in #19710
  • [Relax][CoreML] Fix CoreML partition pass by @tlopex in #19711
  • [Tests] Skip test modules cleanly when optional deps are missing by @tlopex in #19704
  • [CI] Merge PR against its target branch instead of main by @MasterJH5574 in #19712
  • [CI] Fix CI script test subprocess environment by @tlopex in #19713
  • [Codegen][LLVM] Accept splat form in VLA broadcast test by @tlopex in #19716
  • [DOCS] Clarify loading serialized artifacts requires a trusted source by @tqchen in #19720
  • [REFACTOR][PYTHON] Slim tvm.libinfo to info-only helpers by @tqchen in #19719
  • [Codegen][NVPTX] Skip runtime execution in Vulkan codegen tests by @tlopex in #19717
  • [REFACTOR][PYTHON] Remove tvm.ffi shim; import tvm_ffi directly by @tqchen in #19721
  • [Runtime][Tests] Fix contrib wheel tests by @tlopex in #19714
  • [Tests][Disco] Skip CCL tests when runtime support is absent by @tlopex in #19724
  • [Tests][Relax] Gate multi-GPU VM test on three devices by @tlopex in #19725
  • [REFACTOR][IR] Phase out diagnostic.h for visit-context-aware pass errors by @tqchen in #19722
  • [Tests][Hexagon] Lazily import pytest plugin dependencies by @tlopex in #19726
  • [Python] Refactor pyproject.toml dependencies by @tlopex in #19723
  • [Tests][NNAPI] Skip tests cleanly when remote environment is unavailable by @tlopex in #19730
  • [Tests][S-TIR] Fix stale MetaSchedule sketch expectations and migrate let binds to T.let by @tlopex in #19729
  • [Tests] Remove test_runtime_ndarray (covered by tvm-ffi) by @tlopex in #19715
  • [TIRx] Preserve Triton call_kernel compile options by @tlopex in #19728
  • [Relax][PyTorch][DLight] Fix exported-program CUDA test failures by @tlopex in #19732
  • [PYTHON] Autoload backends; simplify library loading; remove TVMError for native errors by @tqchen in #19727
  • [Script][Tests] Fix dialect redirect module re-execution and stray category-less tirx.intrin_test op by @tlopex in #19731
  • [S-TIR][Tests] Fix transform test failures after TIRx bringup by @tlopex in #19735
  • [TIRx] Use canonical PTX async script API in s_tir test by @tlopex in #19739
  • [Tests] Check WebGPU volatile allreduce annotation structurally by @tlopex in #19740
  • [S-TIR] Fix software pipeline offsets for legacy MMA intrinsics by @tlopex in #19742
  • [Tests] Fix flaky popen pool executor test by @tlopex in #19746
  • [Hexagon][Tests] Clean up stale hexagon tests by @tlopex in #19747
  • [Runtime][Disco] Fix session attribute storage, NVSHMEM build, and test gating by @tlopex in #19736
  • [CI] Align cuda-python with PyTorch cuda-bindings by @tlopex in #19738
  • [Codegen][LLVM][Tests] Gate +v9a vscale_range expectation on LLVM version by @tlopex in #19744
  • [Runtime][Tests] Drop int4 from random_fill test, fix dtype error message by @tlopex in #19748
  • [Tests][LLVM] Gate stepvector intrinsic rename on LLVM 20 by @tlopex in #19745
  • [S-TIR][Tests] Mark test_cp_async_in_if_then_else as xfail by @tlopex in #19751
  • [CI] Run s_tir/transform tests in the python-unittest stage by @tlopex in #19737
  • [CI] Updated cibw to 4.1.0 by @tlopex in #19754
  • [TIRX][Tests] Fix LLVM version gate for vectorized lround by @tlopex in #19753
  • [S-TIR][CUDA] Fix legacy predicated cp.async zero fill by @tlopex in #19741
  • [Tests][AArch64] Make SVE codegen assertions robust across LLVM versions by @tlopex in #19752
  • [Relax][PyTorch] Add logical_or and logical_xor converters by @javierdejesusda in #19756
  • [TIRx] Post-bringup follow-ups: op-dispatch, namespaces, launch bounds, gemm-async, backend reorg by @spectrometerHBH in #19757
  • [REFACTOR][VM] Move CUDA graph VM builtin back under VM runtime by @tqchen in #19758
  • [Runtime][CoreML] Fix FFI casts in CoreML runtime by @tlopex in #19762
  • [CI] Drop redundant cmake/ninja install from the Linux wheel CUDA sidecar by @tlopex in #19761
  • [REFACTOR][DataType] Phase out target custom datatype support by @tqchen in #19760
  • [REFACTOR][TARGET] Cleanup backend target registration by @tqchen in #19759
  • [MetaScheduler] Improve print info about builder/runner state by @cbalint13 in #19767
  • [REFACTOR][CUDA] Phase out l2 cache flush preproc test by @tqchen in #19768
  • [Relax][ONNX] Fix LayerNormalization no-bias zero tensor shape and dtype by @javierdejesusda in #19772
  • [Relax][ONNX] Support exclusive option in CumSum by @javierdejesusda in #19773
  • [CPP_RPC] Bugfix race conditions and enhance print infos by @cbalint13 in #19778
  • [CMAKE] Upgrade TVM build baseline to C++20 by @Ubospica in #19734
  • [REFACTOR][CUDA] Phase out cuda_common.h by @tqchen in #19770
  • [REFACTOR][PYTHON] Consolidate backend autoload infra by @tqchen in #19769
  • [Fix] nn.attention support dynamic batch_size by @flashmouse in #19779
  • [Relax][ONNX] Make ReduceMax/ReduceMin NaN propagation order-independent(numpy semantics) by @cchung100m in #19755
  • [Docs][CI] Bump tlcpack-sphinx-addon to restore search result summaries by @tlopex in #19782
  • [REFACTOR][IR] Cleanup IR naming utilities by @tqchen in #19781
  • [CUDA] Narrow the cuda extra from cuda-python to cuda-bindings by @tlopex in #19784
  • [AGENT] Migrate agent instructions to vendor-neutral layout by @tqchen in #19783
  • [Tests] Modernize test gating by @tlopex in #19777
  • [TIRX][CUDA] Framework support for FA4, CLC intrinsics, and nvfp4 tcgen05 GEMM by @spectrometerHBH in #19785
  • [Relax][TensorRT] Update TensorRT runtime to 10 by @tlopex in #19789
  • [Tests] Make TargetCreation.DeduplicateKeys host-agnostic on AArch64 by @tlopex in #19786
  • [Tests] Replace remaining requires_* helpers with standard pytest by @tlopex in #19787
  • [TIRx][RISC-V] Use scalable RVV loops for fixed vectorize by @ZephyrLi-pro in #19776
  • [Docs] Modernize test-gating documentation by @tlopex in #19788
  • [Web] Destroy GPUDevice once on buffer creation error by @guan404ming in #19790
  • [REFACTOR] Phase out unused queue and rang license entries by @tqchen in #19794
  • [REFACTOR][HEXAGON] Phase out Hexagon app and test wrappers by @tqchen in #19796
  • [CI] Pin GitHub Actions to SHA for ASF INFRA compliance by @guan404ming in #19793
  • refactor(web): use singular requestFileHandle() instead of requestFileHandles() by @tomayac in #19780
  • [REFACTOR][IR] Simplify CallingConv attribute access by @tqchen in #19799
  • [CI] Remove Jenkins PR linter step by @tqchen in #19798
  • [Relax][Frontend][TFLite] Add support for FFT/complex operators: REAL, IMAG, COMPLEX_ABS by @fnhirwa in #19763
  • [Tests][Refactor] Remove unused testing helpers by @tlopex in #19800
  • [REFACTOR][TIRX] Add IntImm common scalar ctor and streamline MakeConst by @tqchen in #19797
  • [Relax] Fix FuseOpsByPattern dropping bound constants on duplicate-structure functions by @tlopex in #19801
  • [Tests] Migrate tvm.testing.parameters() to pytest.mark.parametrize by @tlopex in #19803
  • [Tests] Remove the now-unused tvm.testing.parameters() helper by @tlopex in #19807
  • [Tests] Drop tautological env-probe implication tests by @tlopex in #19811
  • [Relax][TensorRT] Update BYOC operator converters from Relay to Relax by @tlopex in #19810
  • [FIX][TIRX] Fix dangling Op static reference warning by @tqchen in #19806
  • [Relax][Frontend][TFLite] Add RFFT2D op and supporting TIR kernels by @Aharrypotter in #19812
  • [BUILD] Hide static linked library symbols in shared libs by @tqchen in #19817
  • Preserve ONNX BatchNormalization inference mode by @yinli-systems in #19818
  • [CI] Drop redundant conda LLVM install in GH Actions build by @tlopex in #19823
  • [Tests] Inline thin gating helpers in the pytest plugin and tvm.testing.env by @tlopex in #19819
  • [Relax][Frontend][NN] Fix SourceModule include resolution for installed wheels by @tlopex in #19822
  • [ARITH] Add optional Z3-backed proving to Analyzer by @Ubospica in #19667
  • [Relax][Frontend][TFLite] Add missing TFLite operator mappings by @Aharrypotter in #19813
  • [Tests] Migrate off tvm.testing.parametrize_targets to native pytest by @tlopex in #19826
  • [FFI][ABI] Bump tvm-ffi to latest by @tqchen in #19831
  • [Relax][TensorRT] Add partition_for_tensorrt and a pattern table by @tlopex in #19820
  • [Arith] Let IRMutatorWithAnalyzer take a const Analyzer& by @tlopex in #19829
  • fix: Support 5D volumetric inputs in ONNX GridSample frontend converter by @mvanhorn in #19816
  • [Tests] Remove dead helpers and unused probes from tvm.testing by @tlopex in #19821
  • [Arith] Restrict floormod coefficient reduction to keep DetectIterMapstable by @tlopex in #19832
  • [Web] Avoid redundant OPFS lookup on cache hit by @guan404ming in #19791
  • [Docs] Rework Bring Your Own Codegen tutorial and add TensorRT example by @tlopex in #19839
  • [Arith] Add Analyzer::Clone for deep-copying analyzer state by @tlopex in #19836
  • [BUILD] Bump tvm-ffi after RuntimeTypeIndex optimization by @tqchen in #19834
  • [CPP_RPC] Replace legacy OS-specific API with std:: libraries by @cbalint13 in #19840
  • [Relax][ONNX] Preserve NaN in Relu to align with ONNX Runtime by @cchung100m in #19750
  • [Relax] Fix matmul and reductions with zero-size dimension return uninitialized memory by @cchung100m in #19680
  • [TIRx] Phase out flat device-intrinsic op aliases by @tlopex in #19838
  • [BUILD] Sync fallback version strings to 0.26 dev cycle by @MasterJH5574 in #19845
  • [Docker] Bump CI image deps: sphinx-book-theme + z3-static by @tlopex in #19835
  • [Tests] Clean unused tvm.testing helpers by @tlopex in #19846
  • [Relax][ONNX] Drop NaN-preservation isnan-where wrappers by @tlopex in #19847
  • [Relax][ONNX] Accept 1-D scalar inputs in NonMaxSuppression by @guan404ming in #19843
  • [Relax][PyTorch] Add atan2 converter by @javierdejesusda in #19850
  • [REFACTOR][IR] Unify StructInfo and Type by @tqchen in #19853
  • [Docs] Add TIRx documentation section by @spectrometerHBH in #19855
  • [Metal] Enable Metal 4 shader compilation by @oraluben in #19595
  • [Relax][Frontend][TFLite] Add explicit operator marker handling by @Aharrypotter in #19824
  • [Relax][ONNX] Support align_corners in AffineGrid op by @guan404ming in #19864
  • [REFACTOR][RELAX] Phase out Relax PrimType by @tqchen in #19858
  • [REFACTOR][IR] Phase out Downcast usages by @tqchen in #19857
  • [Relax] Legalize nn.dropout as inference no-op by @guan404ming in #19841
  • [Docs][CI] Switch docs theme and bump images to 20260619-214849-4174cdf5 by @tlopex in #19828
  • [Relax] Legalize dilated conv_transpose by @guan404ming in #19842
  • [Relax] Update dropout call_tir out_ty spelling by @tqchen in #19874
  • [Docs] Right-align documentation footer by @tlopex in #19868
  • [Relax][TFLite] Add remaining operator tests and reverse_sequence op by @Aharrypotter in #19814
  • [CI] Stop building ci_lint Docker image by @tlopex in #19872
  • [DOCS] Align footer dropdown menu by @tlopex in #19876
  • [Relax][Frontend][TFLite] Support dynamic RANGE scalar bounds by @Aharrypotter in #19867
  • [Relax][Frontend][TFLite] Support static hashtable find by @Aharrypotter in #19879
  • [REFACTOR][IR] Unify PrimExpr type mechanism to PrimType instead of DataType by @tqchen in #19875
  • [DOCS] Add PyPI install guidance and update install command by @tlopex in #19883
  • [REFACTOR][IR] Clean up PrimType follow-ups by @tqchen in #19884
  • [TFLite] Use structural checks in frontend tests by @tlopex in #19888
  • [CI][CMAKE] Install CUDA driver stub for libtvm_runtime_cuda by @MasterJH5574 in #19886
  • [ARITH] Use IntImm in canonical scalar hot paths by @tqchen in #19885
  • [REFACTOR][RELAX] Rename Relax base type to AnyType by @tqchen in #19889
  • [Relax][Frontend][TFLite] Support dynamic DYNAMIC_UPDATE_SLICE starts by @Aharrypotter in #19881
  • [CI] Remove retired ci_lint Docker files by @tlopex in #19878
  • [TIRx] Replace vars in buffer strides and elem_offset by @guan404ming in #19871
  • [TIRx][LLVM] Support scalable Ramp lowering by @ZephyrLi-pro in #19866
  • [REFACTOR][Relax] Phase out PrimValue and Relax expression wrappers by @tqchen in #19891
  • [Relax] Use optional dtype for absent Relax dtype fields by @tqchen in #19890
  • [ONNX] Use structural checks for composite frontend tests by @tlopex in #19880
  • [Frontend][ONNX] Fix structural tests for TVMScript checks by @tlopex in #19894
  • [DOCS][TIRX] Add in-kernel profiling (CudaProfiler) tutorial by @spectrometerHBH in #19895
  • [Relax][PyTorch] Add rnn_tanh.input converter by @cchung100m in #19837
  • [DOCS] Refine tvm pypi wheel optional install guidance by @tlopex in #19892
  • [TIRx] Bundle CUDA tile primitive and op dispatch updates by @spectrometerHBH in #19896
  • [FFI] Bump tvm-ffi to latest June 28 by @tqchen in #19903
  • [CI][Docker] Move CI images to Ubuntu 24.04 (noble) by @tlopex in #19893
  • [Relax] Fix RemoveUnusedParameters symbolic var promotion by @MasterJH5574 in #19901
  • [Relax] Fix int64 row index cast in GPU multinomial sampling by @MasterJH5574 in #19902
  • [CI][Docker] Install libpolly-15-dev for noble llvm-15 static linking by @tlopex in #19913
  • [DOCS] Refine footer navigation links by @tlopex in #19914
  • [Relax] Clean up deprecated void-dtype sentinel usage by @guan404ming in #19908
  • [Target][RISC-V] Use riscv_cpu device key for RISC-V target tags by @Ga1axy0 in #19915
  • [TVMScript] Render invisible paths in structural diagnostics by @tqchen in #19916
  • [Runtime][KVCache] Adapt FlashInfer attention backend to 0.6.3 by @MasterJH5574 in #19904
  • [Relax][ONNX] Support 3D AffineGrid by @guan404ming in #19863
  • [TIRx] Add a dedicated boolean buffer lowering pass by @guan404ming in #19873
  • [ONNX] Fix missing helper in AffineGrid test by @tlopex in #19920
  • [REFACTOR][IR] Unify PrimExpr with Expr typed view by @tqchen in #19910
  • [TIRX] Remove SizeVar in favor of contextual constraints by @tqchen in #19930
  • [TIRx] Generalize expression functor signatures by @tqchen in #19931
  • [TIR] Construct proven scalar integer constants directly by @tqchen in #19934
  • [IR][Relax] Include expression types in structural identity by @tqchen in #19933
  • [FFI] Use thread-safe packed function initialization by @tqchen in #19939
  • [CI] Batch Python unittest pytest targets into a single invocation by @tqchen in #19941
  • [TEST] Serialize local GPU execution under pytest-xdist by @tqchen in #19942
  • [REFACTOR][SCRIPT] Keep dependent shape recursion in docsifier by @tqchen in #19940
  • Refactor Tensor arithmetic dispatch away from tirx.generic by @tqchen in #19943
  • [TIRx] Phase out duplicate Var type_annotation by @tqchen in #19944
  • [CI] Remove stale GitHub automation by @tqchen in #19946
  • [CI] Simplify Jenkins pytest execution by @tqchen in #19947
  • [CI] Restore dependabot configuration by @tqchen in #19951
  • [Cleanup] Remove macOS Clang warnings by @tqchen in #19954
  • [ARITH][TIR] Track positive loop extents in analyzer visitors by @tlopex in #19927
  • [CI] Repair Python test cleanup regressions by @tqchen in #19955
  • [FFI] Bump tvm-ffi for stable Optional layout by @tqchen in #19956
  • [ARITH] Scope interval constraints to mapped variables by @tqchen in #19963
  • Phase out Relax-specific Id aliases by @tqchen in #19959
  • [Relax][PyTorch] Bind symbolic scalar inputs in from_fx by @guan404ming in #19964
  • [Relax] Fix divide-by-zero in reshape pattern detection by @guan404ming in #19958
  • [Relax][Frontend][ONNX] Add support for Pad mode="wrap" for opset 19 by @napronald in #19827
  • [Relax][PyTorch] Fix masked_select VM build by @V-aerus in #19937
  • [TIRx] Reuse pass-through input names for inverse index map vars by @guan404ming in #19906
  • [Relax] Fix bucketize output dtype during legalization by @V-aerus in #19936
  • [Metal] Let compile callback declare payload format via (payload, fmt) by @echuraev in #19924
  • [Runtime] Fix CUDA build breaks in fp8 cutlass and thrust by @MasterJH5574 in #19980
  • [Fix][Relax][ONNX] Import TopK indices as int64 by @viiccwen in #19973
  • [Fix][Relax][ONNX] Cast BatchNorm params to input dtype by @viiccwen in #19979
  • [Relax] Legalize shape_to_tensor to device kernel by @guan404ming in #19957
  • [CI] Enable parallel GitHub Actions wheel builds by @tlopex in #19983
  • [Relax][Frontend][ONNX] Add GroupNormalization support by @napronald in #19907
  • [Fix] Add origins option to requestFileHandle by @tomayac in #19960
  • [Relax][PyTorch] Use make_tensor in exported program tests by @mshr-h in #19989
  • [Fix][Relax][TFLite] Use astype for frontend casts by @Aharrypotter in #19932
  • [Fix][Python] Use standard scikit-build directory by @tlopex in #19990
  • [Arith] Fix const-int-bound modular-set tightening for Mod/FloorMod by @sbinabdullah in #19978
  • [Fix][Relax][PyTorch] Compare Dynamo output against PyTorch reference by @mshr-h in #19994
  • [Fix][Relax][ONNX] Preserve rank-expanding Expand by @viiccwen in #19992
  • [DLight][CUDA] Fix undefined TX in GEMV broadcast epilogue by @Nanmur in #19970
  • [Relax][Frontend][ONNX] Support Modern QDQ opset attributes by @napronald in #19993
  • [Fix][Relax][ONNX] Recover ConstantOfShape initializer shape by @viiccwen in #20002
  • [CI] Bump CI at the Ubuntu 24.04 images and re-enable USE_Z3 by @tlopex in #19911
  • [Tests][TIRx] Localize hardware test gates by @tlopex in #19985
  • [RUNTIME][PYTHON] Add explicit Target device conversion by @tqchen in #20005
  • [Fix][Relax][ONNX] Preserve integer Div truncation during import by @viiccwen in #19975
  • [IR][Relax][TIRx] Unify Var identity by @tqchen in #20004
  • [RELAX] Unify call_tir primitive arguments by @tqchen in #20009
  • [Tests] Reduce runtime of slow Python tests by @tlopex in #20006
  • [Fix][Relax][ONNX] Relax op normalization for onnx subgraphs by @cbalint13 in #20010
  • [REFACTOR][IR] Use CamelCase Var copy helpers by @tqchen in #20008
  • [REFACTOR] Remove redundant defensive code guaranteed by IR invariants by @tqchen in #20011
  • [Tests][Frontend] Remove redundant ONNX and TFLite tests by @tlopex in #20012
  • [Relax][TensorRT] Fix YOLO BYOC offload and partitioning gaps by @tlopex in #19998
  • [Web] Link TVMFFIHandleInitOnce into WASM runtime by @akaashrp in #20020
  • [REFACTOR][TIR] Phase out redundant TIRx attr names by @tqchen in #20017
  • [IR] Rename Var name_hint field to name by @tqchen in #20016
  • [TIRx] Introduce first-class Return statement by @tqchen in #20018
  • [Tests][Frontend] Remove redundant PyTorch frontend tests by @tlopex in #20021
  • [REFACTOR][TIR] Remove buffer type and axis separators by @tqchen in #20019
  • [Tests] Update test_adaptive_pooling_window expected IR for const-int-bound fix by @sbinabdullah in #20023
  • [S-TIR] Remove unused meta-schedule annotation constants by @tqchen in #20022
  • [Fix][Relax][ONNX] Preserve ONNX Squeeze axes attribute for opset < 13 by @OmarAzizi in #19966
  • [Relax][Frontend][ONNX] Support dynamic index for Gather on shape by @hamzaqureshi5 in #19968
  • [Tests] Reduce redundant ONNX and PyTorch integration tests by @tlopex in #20026
  • [REFACTOR][TIRx] Keep AttrStmt node values unboxed by @tqchen in #20030
  • [CI] Bump tvm-ffi with compatible Python wrappers by @tqchen in #20032
  • [Vulkan] Fix SPIR-V 1.4+ entry-point interfaces by @wilx in #20028
  • [Web] Expose RNG state for deterministic restore by @akaashrp in #20034
  • [TIRx] Improve BufferStore cast warning context by @tlopex in #20038
  • [CI] Verify packed uint1 tvm-ffi revision by @tqchen in #20041
  • [Relax] Legalize grouped conv with symbolic channels by @guan404ming in #20039
  • [Fix][TIRx] Ignore statement spans in structural identity by @tlopex in #20043
  • [Web] Link custom allocator into WASM runtime by @akaashrp in #20046
  • [Relax][Frontend][ONNX] Support Shape start and end attributes by @napronald in #20050
  • [Fix][LLVM] Keep packed init callbacks local on Mach-O by @akaashrp in #20052
  • [Relax][Frontend][ONNX] Fix LpPool conversion by @napronald in #20053
  • [Fix][Relax] Return frontend tensor dtype value by @akaashrp in #20051
  • [Fix][TIRx] Handle vector access pointer addresses in C codegen by @tlopex in #20058
  • [FIX][TIRx] Use cluster arrivals for remote mbarrier views by @jinhongyii in #20074
  • [TVMSCRIPT][TIRx] Preserve parser source spans in IR by @jinhongyii in #20073
  • [FIX][TIRx] Make TilePrimitiveCall serializable by @jinhongyii in #20071
  • [FIX][TIRx] Preserve pointer expression types by @jinhongyii in #20070
  • [FIX][TIRx] Remap buffers consistently in ConvertSSA by @jinhongyii in #20069
  • [FIX][TIRx][CUDA] Fix tcgen05 register fragment layouts by @jinhongyii in #20068
  • [FIX][TIRx] Constant-fold copy slice extents by @jinhongyii in #20067
  • [FEATURE][TIRx][CUDA] Support TMEM datapath B by @jinhongyii in #20075
  • [TIRX] Represent buffers as typed variables by @tqchen in #20079
  • [Web] Batch GPU-to-GPU copies, fix WebGPU synchronization, and add tests for command batching by @akaashrp in #20059
  • [TIRx] tcgen05 dispatch paths, buffer dim-surgery views, FlashMLA lowering, and typed-buffer migration fixes by @spectrometerHBH in #20080
  • [TIRx] Flatten cuda/trn backend operator folder by @spectrometerHBH in #20081
  • [FFI] Bump tvm-ffi to latest Aug 3 by @tqchen in #20083
  • [BUILD] Migrate the Z3 dependency to mlc-z3-static by @Ubospica in #20084
  • [Relax][Test] Cover default GPU pipeline scheduling for R.power/elementwise kernels by @cchung100m in #19923
  • [FIX][TIRx] Use physical order for Buffer.local views by @jinhongyii in #20076
  • feat(lower-tirx): align NVIDIA IKET profiling with the official ABI by @spectrometerHBH in #20085
  • [FFI] Bump tvm-ffi to 0.1.13.post2 by @tqchen in #20088
  • tirx: represent buffer parameters with BufferType by @tqchen in #20086
  • [Web] Bump tvmjs version to 0.26.0 and apache-tvm-ffi floor to >=0.1.13.post2 by @MasterJH5574 in #20093
  • [Fix][TIRx] Fix MSVC build of IndexDataTypeNormalizer by @MasterJH5574 in #20096

New Contributors

Full Changelog: v0.24.0...v0.26.0.rc0