ITADN
apache/tvm

版本发布 8

Apache TVM v0.20.0v0.20.0.rc0预发布
? · 2025-04-19

# Introduction The TVM community has worked since the last release to deliver the following new exciting improvements! The main tags are below (**bold text is with lots of progress**): Relax (especial PyTorch frontend), CUDA etc. Please visit the full listing of commits for a complete view: [v0.20.dev0...v0.20.0.rc0](https://github.com/apache/tvm/compare/v0.20.dev0...v0.20.0.rc0). ### Community None. ### RFCs None. ### Adreno * [#17608](https://github.com/apache/tvm/pull/17608) - [WINDOWS] Windows build dependencies for Adreno target ### BugFix * [#17761](https://github.com/apache/tvm/pull/17761) - [FIX][RELAX] fix fusion of transpose + matmul when constant weight * [#17762](https://github.com/apache/tvm/pull/17762) - [Fix] Fix OpenCL header in attention utils * [#17711](https://github.com/apache/tvm/pull/17711) - [Fix][dlight] add an explicit reduction loop check in Reduce * [#17697](https://github.com/apache/tvm/pull/17697) - [Fix] Include `<chrono>` for `std::chrono` * [#17677](https://github.com/apache/tvm/pull/17677) - Declare build backend for python package * [#17598](https://github.com/apache/tvm/pull/17598) - [TIR][FIX] update FlopEstimator to include missing nodes * [#17601](https://github.com/apache/tvm/pull/17601) - [Flashinfer][Fix] fix missing args in flashinfer test * [#17607](https://github.com/apache/tvm/pull/17607) - [FIX][TVMC] Fix the mixed precision conversion pipeline ### CI * [#17687](https://github.com/apache/tvm/pull/17687) - Update images to 20250226-223225-63bc315f * [#17680](https://github.com/apache/tvm/pull/17680) - update images to 20250225-035137-aeadc31c * [#17675](https://github.com/apache/tvm/pull/17675) - [skip ci]Update github tvmbot * [#17635](https://github.com/apache/tvm/pull/17635) - Cleanup legacy files * [#17634](https://github.com/apache/tvm/pull/17634) - [skip ci]Improve build time * [#17629](https://github.com/apache/tvm/pull/17629) - [skip ci]Robustify CI for SPOT failure * [#17620](https://github.com/apache/tvm/pull/17620) - Unpin pytest-profiling * [#17621](https://github.com/apache/tvm/pull/17621) - [skip ci] Remove legacy CI runners protection * [#17619](https://github.com/apache/tvm/pull/17619) - [Refactor]Remove legacy frontend tests ### Dlight * [#17754](https://github.com/apache/tvm/pull/17754) - Fix general reduction rule to support non-last reduction axis * [#17663](https://github.com/apache/tvm/pull/17663) - [CPU] Add CPU Backend Support for GEMV Optimization ### Docker * [#17691](https://github.com/apache/tvm/pull/17691) - Fix ml_dtypes downgrade issue introduced by TensorFlow * [#17686](https://github.com/apache/tvm/pull/17686) - Update ml_dtypes to 0.5.1+ * [#17676](https://github.com/apache/tvm/pull/17676) - Use Torch GPU on gpu device * [#17648](https://github.com/apache/tvm/pull/17648) - Tensorflow (aka TFLite) upgrade to 2.18.0 * [#17643](https://github.com/apache/tvm/pull/17643) - Update ml_dtypes version * [#17638](https://github.com/apache/tvm/pull/17638) - [skip ci]Update ml_dtypes version * [#17638](https://github.com/apache/tvm/pull/17638) - [skip ci]Update ml_dtypes version * [#17617](https://github.com/apache/tvm/pull/17617) - Tensorflow upgrade to 2.18.0 ### Docs * [#17650](https://github.com/apache/tvm/pull/17650) - Update README * [#17611](https://github.com/apache/tvm/pull/17611) - Download 3rd party embeds to local files * [#17604](https://github.com/apache/tvm/pull/17604) - Update README ### MetaSchedule * [#17104](https://github.com/apache/tvm/pull/17104) - Adding post optimization in MetaSchedule to Improve Scheduling ### OpenCL & CLML * [#17571](https://github.com/apache/tvm/pull/17571) - [OPENCL][TEXTURE] Improved texture memory planning ### Relax * [#17814](https://github.com/apache/tvm/pull/17814) - [PyTorch] Add stack.default and sum.default to exported programs translator * [#17820](https://github.com/apache/tvm/pull/17820) - [PyTorch] Add support for broadcast_to, narrow ops * [#17822](https://github.com/apache/tvm/pull/17822) - [PyTorch] Cleanup tests for ExportedProgram frontend * [#17806](https://github.com/apache/tvm/pull/17806) - [PyTorch] Add Softplus Op Support for Exported Program and FX graph * [#17817](https://github.com/apache/tvm/pull/17817) - [PyTorch] Support dynamic shapes in ExportedProgram frontend * [#17813](https://github.com/apache/tvm/pull/17813) - [PyTorch] Improve ExportedProgram frontend by supporting `unflatten.int`, `hardtanh_.default`, `dropout_.default`, `silu_.default`, `add_.Tensor` and `relu_.default` * [#17812](https://github.com/apache/tvm/pull/17812) - [PyTorch] Support argsort, topk ops for ExportedProgram importer * [#17810](https://github.com/apache/tvm/pull/17810) - [PyTorch] Add support for argsort, sort, topk ops * [#17809](https://github.com/apache/tvm/pull/17809) - [PyTorch] Delete duplicate converter function `_to` * [#17807](https://github.com/apache/tvm/pull/17807) - [PyTorch] Fix torch 2.6 compatibility issues * [#17797](https://github.com/apache/tvm/pull/17797) - [Pytorch] Update SELU Implementation Using Decomposed Core-Level Ops * [#17802](https://github.com/apache/tvm/pull/17802) - [Pytorch] support for arange in exported programs translator * [#17801](https://github.com/apache/tvm/pull/17801) - [PyTorch] Support where, cumprod and reciprocal ops for ExportedProgram importer * [#17790](https://github.com/apache/tvm/pull/17790) - [PyTorch] Add support for index_select * [#17786](https://github.com/apache/tvm/pull/17786) - [PyTorch] Support softshrink op for ExportedProgram * [#17788](https://github.com/apache/tvm/pull/17788) - [PyTorch] Add support for where, cumprod and reciprocal ops * [#17785](https://github.com/apache/tvm/pull/17785) - [PyTorch] Support prod, std and var ops for ExportedProgram importer * [#17778](https://github.com/apache/tvm/pull/17778) - [PyTorch] Support log2, log10 and log1p ops for ExportedProgram importer * [#17772](https://github.com/apache/tvm/pull/17772) - [PyTorch] Add support for prod, std and var ops * [#17766](https://github.com/apache/tvm/pull/17766) - [PyTorch] Add support for log2, log10 and log1p ops * [#17760](https://github.com/apache/tvm/pull/17760) - [PyTorch] Add support for lerp, select and clone ops * [#17751](https://github.com/apache/tvm/pull/17751) - [PyTorch] Support one_hot, empty_like ops for ExportedProgram importer * [#17747](https://github.com/apache/tvm/pull/17747) - [PyTorch] Support flip, gather, take ops for ExportedProgram importer * [#17738](https://github.com/apache/tvm/pull/17738) - [PyTorch] Support elu, celu, selu ops for ExportedProgram importer * [#17726](https://github.com/apache/tvm/pull/17726) - [PyTorch] Add support for numel, empty_like and one_hot ops * [#17707](https://github.com/apache/tvm/pull/17707) - [PyTorch] Add support for gather, flip and take ops * [#17702](https://github.com/apache/tvm/pull/17702) - [PyTorch] Add support for celu, selu, is_floating_point ops * [#17694](https://github.com/apache/tvm/pull/17694) - [PyTorch] Add support for elu, hardtanh ops * [#17689](https://github.com/apache/tvm/pull/17689) - [PyTorch] Support several binary ops for ExportedProgram importer * [#17672](https://github.com/apache/tvm/pull/17672) - [PyTorch] Refactor binary ops tests * [#17679](https://github.com/apache/tvm/pull/17679) - [PyTorch] Support several unary ops for ExportedProgram importer * [#17668](https://github.com/apache/tvm/pull/17668) - [PyTorch] Add support for and_, lshift, min, or_, rshift, xor ops * [#17664](https://github.com/apache/tvm/pull/17664) - [PyTorch] Add support for ge, gt, le, mod, ne ops * [#17659](https://github.com/apache/tvm/pull/17659) - [PyTorch] Add support for bitwise_not, isfinite, isinf, isnan, logical_not, sign and square ops * [#17622](https://github.com/apache/tvm/pull/17622) - [PyTorch] Add support for abs, ceil, erf, floor, log ops and refactor unary tests * [#17566](https://github.com/apache/tvm/pull/17566) - [ONNX] Add prim experssion support to Neg converter and update Arange converter to use relax.op.arange * [#17642](https://github.com/apache/tvm/pull/17642) - [ONNX]replace topi.split with relax.op.split in the onnx frontend * [#17674](https://github.com/apache/tvm/pull/17674) - [KVCache] PagedKVCache refactor, FlashInfer JIT and MLA integration * [#17618](https://github.com/apache/tvm/pull/17618) - [KVCache] TIR attention kernel support for MLA * [#17615](https://github.com/apache/tvm/pull/17615) - [KVCache] Add KV Cache for CPU Runtime * [#17616](https://github.com/apache/tvm/pull/17616) - [Runtime][KVCache] Initial interface setup for MLA * [#17782](https://github.com/apache/tvm/pull/17782) - [Frontend] Support max/min in frontend op interface * [#17758](https://github.com/apache/tvm/pull/17758) - Allow ingesting tensor.chunk() from exported torch program * [#17781](https://github.com/apache/tvm/pull/17781) - Enable bfloat16 for softmax struct-info inference * [#17752](https://github.com/apache/tvm/pull/17752) - Batch norm correctness on eval mode * [#17774](https://github.com/apache/tvm/pull/17774) - check for tensor_meta in exported_program_translator * [#17757](https://github.com/apache/tvm/pull/17757) - Tensor.split with uneven tensors * [#17749](https://github.com/apache/tvm/pull/17749) - Move TIR backend to gpu_generic * [#17725](https://github.com/apache/tvm/pull/17725) - Ingest Tensor.clamp from torch export * [#17724](https://github.com/apache/tvm/pull/17724) - Add support to ingest Tensor.expand_as() * [#17723](https://github.com/apache/tvm/pull/17723) - Add torch exported program ingestion capability for Tensor.detach(), Tensor.copy_, and aten.lift_fresh_copy * [#17721](https://github.com/apache/tvm/pull/17721) - Allow ingesting Upsample module from torch.export either using Size or Scale Factor argument * [#17722](https://github.com/apache/tvm/pull/17722) - Allow ingesting vector_norm from torch.export * [#17728](https://github.com/apache/tvm/pull/17728) - ingest Tensor.contiguous from torch export * [#17700](https://github.com/apache/tvm/pull/17700) - Fix tree attention for Qwen2-1.5 models * [#17682](https://github.com/apache/tvm/pull/17682) - Add support for func attr inheritance in SplitLayoutRewritePreproc * [#17654](https://github.com/apache/tvm/pull/17654) - [BYOC] OpenCLML offload support for Relax * [#17633](https://github.com/apache/tvm/pull/17633) - Pipeline file reorganization * [#17626](https://github.com/apache/tvm/pull/17626) - Initial setup of relax backend pipeline * [#17568](https://github.com/apache/tvm/pull/17568) - [PASS] Convert layout pass and ops enhanced to support sub indexing ### Runtime * [#17614](https://github.com/apache/tvm/pull/17614) - [CLML] Profiling options enabled for CLML * [#17614](https://github.com/apache/tvm/pull/17614) - [CLML] Profiling options enabled for CLML * [#17570](https://github.com/apache/tvm/pull/17570) - [OPENCL] Bugfix ### TIR * [#17799](https://github.com/apache/tvm/pull/17799) - Fix reduce buffer allocation position * [#17783](https://github.com/apache/tvm/pull/17783) - [REFACTOR]remove legacy tir::any * [#17706](https://github.com/apache/tvm/pull/17706) - Minor fix for default GPU schedule * [#17579](https://github.com/apache/tvm/pull/17579) - [SoftwarePipeline] Ensure pipeline epilogue and prologue do not overlap * [#17584](https://github.com/apache/tvm/pull/17584) - [LoopPartition] enforcement on loop partition control ### TVMC * [#17606](https://github.com/apache/tvm/pull/17606) - Bug fix ### cuda & cutlass & tensorrt * [#17789](https://github.com/apache/tvm/pull/17789) - [CUTLASS] Add blockwise scale gemm/bmm kernels * [#17741](https://github.com/apache/tvm/pull/17741) - [Codegen][CUDA] Fix codegen of cast among vector bfloat16, fp8 and fp4 * [#17708](https://github.com/apache/tvm/pull/17708) - [CUDA] FP4 cast and reinterpret support * [#17639](https://github.com/apache/tvm/pull/17639) - [CUDA] Remove htanh from unsupported math ops for CUDA 12.8 * [#16950](https://github.com/apache/tvm/pull/16950) - [Codegen, CUDA] Add FP8 Tensor Core Codegen ### web * [#17695](https://github.com/apache/tvm/pull/17695) - [WASM] Update wasm include in accordance to kv cache revamp ### Misc * [#17796](https://github.com/apache/tvm/pull/17796) - [Cublas] Added support for bfloat16 while dispatching to cublas kernels * [#17763](https://github.com/apache/tvm/pull/17763) - [Flashinfer] Added jit flow for sampling kernel * [#17811](https://github.com/apache/tvm/pull/17811) - [NFC] Fix `explict` typo * [#17780](https://github.com/apache/tvm/pull/17780) - [3rdparty] Enable bfloat16 for custom allreduce kernel * [#17784](https://github.com/apache/tvm/pull/17784) - [REFACTOR] Phase out StackVM * [#17750](https://github.com/apache/tvm/pull/17750) - BugFix: Relax comment * [#17748](https://github.com/apache/tvm/pull/17748) - [Codegen] Support codegen for vectorized tir.ShuffleNode * [#17743](https://github.com/apache/tvm/pull/17743) - Fix: Change variable i to x in split operation in cross_compilation_and_rpc.py * [#17730](https://github.com/apache/tvm/pull/17730) - [Attention] Added caching for flashinfer binaries during JIT * [#17733](https://github.com/apache/tvm/pull/17733) - [Refactor] Clean up Relay references in the codebase * [#17739](https://github.com/apache/tvm/pull/17739) - [BF16] Support ndarray.asnumpy() to bfloat16 tensor natively using ml_dtypes * [#17734](https://github.com/apache/tvm/pull/17734) - Remove Google Analytics * [#17731](https://github.com/apache/tvm/pull/17731) - [IR] Compact Functor vtable * [#17736](https://github.com/apache/tvm/pull/17736) - Fix typos in comments and strings * [#17670](https://github.com/apache/tvm/pull/17670) - [DataType] BF16 Support * [#17727](https://github.com/apache/tvm/pull/17727) - [FFI] Fix dynamic FFI index to ensure compatibility * [#17718](https://github.com/apache/tvm/pull/17718) - [Refactor] Migrate build API to `tvm.compile` * [#17714](https://github.com/apache/tvm/pull/17714) - [FFI] Phase out ctypes fallback in favor of cython * [#17716](https://github.com/apache/tvm/pull/17716) - Fix the get_target_compute_version for sm >= 100 * [#17710](https://github.com/apache/tvm/pull/17710) - [Refactor] Introduce base Executable class and `tvm.compile` interface * [#17713](https://github.com/apache/tvm/pull/17713) - [REFACTOR] Cleanup legacy relay runtime data structures * [#17712](https://github.com/apache/tvm/pull/17712) - [DataType] Rename FP8 dtypes to standard names * [#17703](https://github.com/apache/tvm/pull/17703) - Fix typos in multiple files * [#17693](https://github.com/apache/tvm/pull/17693) - updated the assert in BindParams to allow tvm.relax.Constant * [#17701](https://github.com/apache/tvm/pull/17701) - [Refactor] Remove legacy TE schedule tag * [#17683](https://github.com/apache/tvm/pull/17683) - [MSC] Remove relay * [#17688](https://github.com/apache/tvm/pull/17688) - Fix relax.ccl.scatter_from_worker0 assert * [#17630](https://github.com/apache/tvm/pull/17630) - [Codegen] FP4 support * [#17685](https://github.com/apache/tvm/pull/17685) - [REFACTOR] Cleanup legacy TE-based passes * [#17681](https://github.com/apache/tvm/pull/17681) - [REFACTOR] Followup cleanup of relay phase out * [#17678](https://github.com/apache/tvm/pull/17678) - Bump 3rdparty/cutlass_fpA_intB_gemm * [#17669](https://github.com/apache/tvm/pull/17669) - [REFACTOR] Allow target dependent default tir pipeline dispatch in tir.build() * [#17665](https://github.com/apache/tvm/pull/17665) - [REFACTOR] move build flow from C++ to Python * [#17624](https://github.com/apache/tvm/pull/17624) - Added support for normal MLA kernel * [#17641](https://github.com/apache/tvm/pull/17641) - Pick up vector length from 'zvlXXXb' (RVV) mattr for riscv * [#17666](https://github.com/apache/tvm/pull/17666) - [Refactor] Improve TargetHasSVE function with optional target handling * [#17661](https://github.com/apache/tvm/pull/17661) - [Refactor] Phrase out python dependency `decorator` * [#17662](https://github.com/apache/tvm/pull/17662) - [REFACTOR] Phase out te.Schedule c++ components * [#17660](https://github.com/apache/tvm/pull/17660) - [REFACTOR] Phase out relay c++ components * [#17655](https://github.com/apache/tvm/pull/17655) - Upgrading onnx and onnxrt verions * [#17657](https://github.com/apache/tvm/pull/17657) - Update argument order for relax.op.pad to make it round-trippable * [#17658](https://github.com/apache/tvm/pull/17658) - [REFACTOR] Phase out te.schedule python components * [#17653](https://github.com/apache/tvm/pull/17653) - Update images to 20250214-034537-bd1411f8 * [#17656](https://github.com/apache/tvm/pull/17656) - [REFACTOR] Phase out relay python components * [#17649](https://github.com/apache/tvm/pull/17649) - [Refactor] Phase out python dependency attrs * [#17644](https://github.com/apache/tvm/pull/17644) - Bump rollup from 2.79.1 to 2.79.2 in /web * [#17637](https://github.com/apache/tvm/pull/17637) - [PYTHON] Build cython by default * [#17631](https://github.com/apache/tvm/pull/17631) - Handle vector width (VLEN) for RISCV arches * [#17613](https://github.com/apache/tvm/pull/17613) - Bug Fix: Removed unused code * [#17585](https://github.com/apache/tvm/pull/17585) - [Relay]Disable InferType if it was done and no changes after previous pass * [#17605](https://github.com/apache/tvm/pull/17605) - [Refactor] Phase out legacy example apps * [#17603](https://github.com/apache/tvm/pull/17603) - [Refactor] Phase out legacy docs * [#17513](https://github.com/apache/tvm/pull/17513) - [GRAPH RT] Additional API support

Apache TVM v0.19.0v0.19.0.rc0预发布
? · 2025-01-24

# Introduction The TVM community has worked since the last release to deliver the following new exciting improvements! The main tags are below (**bold text is with lots of progress**): Relax, OpenCL, MetaSchedule. Please visit the full listing of commits for a complete view: [v0.19.dev0...v0.19.0.rc0](https://github.com/apache/tvm/compare/v0.19.dev0...v0.19.0.rc0). ### Community None. ### RFCs None. ### Arith * [#17469](https://github.com/apache/tvm/pull/17469) - [LLVM]Presburger compile fix for MLIR/LLVM 19.x ### BugFix * [#17595](https://github.com/apache/tvm/pull/17595) - [Fix][KVCache] Fix incorrect tile size calculation * [#17549](https://github.com/apache/tvm/pull/17549) - [FIX][LLVM] Workaround -mcpu=apple-latest for llvm above 18.0 (#17492) * [#17537](https://github.com/apache/tvm/pull/17537) - [FIX][topi.scatter_nd] fixed shape equality assert by using analyzer to prove equality * [#17502](https://github.com/apache/tvm/pull/17502) - [FIX][TOPI][strided_slice] Fix topi.strided_slice output shape * [#17505](https://github.com/apache/tvm/pull/17505) - [RELAX][ONNX][FIX] add a parser to handle expression in the shape dim names * [#17490](https://github.com/apache/tvm/pull/17490) - [FIX][ONNX][RELAX] Add support for dynamic ShapeExpr in Slice, Squeeze and Flatten * [#17467](https://github.com/apache/tvm/pull/17467) - [FIX][RELAX][ONNX] Fix typo in onnx frontend ### CI * [#17596](https://github.com/apache/tvm/pull/17596) - [Test] Skip flaky test to unblock CI * [#17451](https://github.com/apache/tvm/pull/17451) - Upgrade CI image to `20241105-030952-3e386fd3` * [#17534](https://github.com/apache/tvm/pull/17534) - Upgrade zephyr-sdk to 0.16.9 * [#17503](https://github.com/apache/tvm/pull/17503) - Upgrade `oneflow==0.9.0` * [#17485](https://github.com/apache/tvm/pull/17485) - Revert jax, keras, tensorflow, and tflite upgrades introduced #17425 * [#17470](https://github.com/apache/tvm/pull/17470) - Pin cpplint==1.6.1 ### Docs * [#17518](https://github.com/apache/tvm/pull/17518) - Few fixes for broken Adreno docs * [#17527](https://github.com/apache/tvm/pull/17527) - Fix typo in TensorIR * [#17528](https://github.com/apache/tvm/pull/17528) - Fix Typo in Debugging TVM ### LLVM * [#17547](https://github.com/apache/tvm/pull/17547) - Make compilable with LLVM-20 * [#17538](https://github.com/apache/tvm/pull/17538) - [RUNTIME] Make ORCJIT LLVM executor the default one ### MetaSchedule * [#17465](https://github.com/apache/tvm/pull/17465) - Fix a multilevel tiling error on dynamic relax workload ### OpenCL & CLML * [#17516](https://github.com/apache/tvm/pull/17516) - [RUNTIME][CLML] Dynamic backward compatibility * [#17519](https://github.com/apache/tvm/pull/17519) - [OPENCL][ADRENO] Introduce Qualcomm extension support * [#17517](https://github.com/apache/tvm/pull/17517) - [TEST][CLML] Clip test case updated * [#17472](https://github.com/apache/tvm/pull/17472) - [Device][OpenCL] add CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST to … ### Relax * [#17541](https://github.com/apache/tvm/pull/17541) - Fix bug in convert_layout pass * [#17539](https://github.com/apache/tvm/pull/17539) - [KVCache] Fix attention prefill kernel for Metal and Android * [#17540](https://github.com/apache/tvm/pull/17540) - Add support for ONNX LPPool * [#17536](https://github.com/apache/tvm/pull/17536) - [Frontend][Onnx] Add auto_pad support for conv * [#17525](https://github.com/apache/tvm/pull/17525) - support masked_scatter * [#17506](https://github.com/apache/tvm/pull/17506) - [Python]Update Rotary positional embedding scaling * [#17523](https://github.com/apache/tvm/pull/17523) - Add gather_elements and gather_nd operators * [#17511](https://github.com/apache/tvm/pull/17511) - Update ONNX frontend for unique, nonzero and compress * [#17509](https://github.com/apache/tvm/pull/17509) - support scatter ops * [#17504](https://github.com/apache/tvm/pull/17504) - [ONNX] Add support for dynamic shape expression in Expand * [#17482](https://github.com/apache/tvm/pull/17482) - [KVCACHE] Improved schedule for prefill attention * [#17445](https://github.com/apache/tvm/pull/17445) - [MetaSchedule] Support CPU weight prepack * [#17462](https://github.com/apache/tvm/pull/17462) - Enhance Relax op and ONNX frontend * [#17466](https://github.com/apache/tvm/pull/17466) - Revert "[KVCACHE] Improved schedule for prefill attention" ### Runtime * [#17557](https://github.com/apache/tvm/pull/17557) - [Dist] Implementation of KV cache transfer * [#17498](https://github.com/apache/tvm/pull/17498) - [mrvl]: Support Marvell Hardware Runtime ### TIR * [#17423](https://github.com/apache/tvm/pull/17423) - [Schedule] Add annotate_buffer_access primitive ### web * [#17545](https://github.com/apache/tvm/pull/17545) - Allows setting powerPreference on webgpu ### Misc * [#17593](https://github.com/apache/tvm/pull/17593) - Fix GPU detection in PerStoreFeatureNode * [#17554](https://github.com/apache/tvm/pull/17554) - [Refactor] Phase out microTVM * [#17542](https://github.com/apache/tvm/pull/17542) - [REFACTOR] Phase out VTA * [#17533](https://github.com/apache/tvm/pull/17533) - [Contrib] Remove CLML version print * [#17532](https://github.com/apache/tvm/pull/17532) - [3rdparty] Update Picojson with const `operator[]` function (#327) * [#17474](https://github.com/apache/tvm/pull/17474) - [TE][CreatePrimFunc] Fix loop carried dependency case with nested block levels * [#17501](https://github.com/apache/tvm/pull/17501) - Fix InternalError in StaticPlanBlockMemory when visiting DataflowBlockNode * [#17455](https://github.com/apache/tvm/pull/17455) - Compiled with Default Target(LLVM) and Built with USE_MRVL=ON * [#17481](https://github.com/apache/tvm/pull/17481) - [Marvell BYOC]: global_max_pool2d and squeeze op support * [#17484](https://github.com/apache/tvm/pull/17484) - Replace `np.int` with `np.int32` * [#17476](https://github.com/apache/tvm/pull/17476) - Pin pytest-profiling==1.7.0 * [#17464](https://github.com/apache/tvm/pull/17464) - [JVM] Align Java GraphModule Initialization with Python API * [#17458](https://github.com/apache/tvm/pull/17458) - Show the record if the escape sequence is unsupported

Apache TVM v0.17.0.rc0v0.17.0.rc0预发布
? · 2024-07-20

# Introduction The TVM community has worked since the v0.17.0 release to deliver the following new exciting improvements! This release version is: The main tags are below (**bold text is with lots of progress**): - Community, RFCs - AOT, Hexagon, OpenCL & CLML, Web, Metal - **Relax**, **Dlight**, **Disco** - TIR, TVMScript - Docs, CI, **Misc**, **BugFix** Please visit the full listing of commits for a complete view: [v0.17.dev0...v0.17.0.rc0](https://github.com/apache/tvm/compare/v0.17.dev0...v0.17.0.rc0). ### Community * [#17018](https://github.com/apache/tvm/pull/17018) - New committer: Balint Cristian ### RFCs This new RFC added an open, standardized format for neural network exchange developed by the Khronos Group since 2018 (https://www.khronos.org/nnef). It is aimed at deploying trained neural networks from deep learning frameworks to proprietary inference engines of neural network hardware vendors. * [#108](https://github.com/apache/tvm-rfcs/pull/108) - [RFC] [RFC] Add NNEF frontend ---- ### AOT * [#17077](https://github.com/apache/tvm/pull/17077) - Correctly calculate workspace for vector types ### Adreno * [#16927](https://github.com/apache/tvm/pull/16927) - [SCRIPT]Fix in build config for adreno ### BYOC * [#16895](https://github.com/apache/tvm/pull/16895) - Add layout check and update shape check for cublas FP8 BYOC ### BugFix * [#17138](https://github.com/apache/tvm/pull/17138) - [Fix][TIR] Fix outdated call to create extern buffer in make_extern * [#17132](https://github.com/apache/tvm/pull/17132) - Restrict CopyOnWrite to _type_final * [#17096](https://github.com/apache/tvm/pull/17096) - Update FAttrsGetter to return Map<String, ObjectRef> * [#17078](https://github.com/apache/tvm/pull/17078) - [NCCL] Release NCCL thread_local resources in destructor * [#17044](https://github.com/apache/tvm/pull/17044) - [Support] Fix copy constructor for support::OrderedSet * [#17000](https://github.com/apache/tvm/pull/17000) - [MSC] split name_string with index by colon from the right * [#16923](https://github.com/apache/tvm/pull/16923) - [Fix][Dlight] Fix GeneralReduction for log-sum-exp * [#16924](https://github.com/apache/tvm/pull/16924) - [Fix] Fix SSA conversion for SizeVar retention * [#16903](https://github.com/apache/tvm/pull/16903) - CudaDeviceAPI::GetAttr may check kExist when GPUs absent * [#16901](https://github.com/apache/tvm/pull/16901) - rocm shared memory issue on MI250 ### CI * [#17055](https://github.com/apache/tvm/pull/17055) - [SME][Test] Add additional conv2d tests for asymmetric parameters * [#17007](https://github.com/apache/tvm/pull/17007) - [TOPI][Testing] Enable conv2d NHWC fp16 topi testing for `arm_cpu` * [#16930](https://github.com/apache/tvm/pull/16930) - [UnitTest] Use pytest's scope='session' for tvm.testing.parameter * [#16948](https://github.com/apache/tvm/pull/16948) - Update image tag to 20240428-060115-0b09ed018 * [#16931](https://github.com/apache/tvm/pull/16931) - Use LLVM17 for tests on `ci_cpu` * [#16942](https://github.com/apache/tvm/pull/16942) - Enable Conda setup v3 * [#16939](https://github.com/apache/tvm/pull/16939) - Upgrade CUDA to 12.4 ### CRT * [#17097](https://github.com/apache/tvm/pull/17097) - [Bugfix]Return error code on error from ModuleGetFunction ### Disco * [#17035](https://github.com/apache/tvm/pull/17035) - [QoL] Implement broadcast/scatter methods for Session * [#16992](https://github.com/apache/tvm/pull/16992) - [Bugfix]Handle NDArray larger than OS buffer for pipe * [#16978](https://github.com/apache/tvm/pull/16978) - Implement `num_workers` property for `disco.Session` * [#16989](https://github.com/apache/tvm/pull/16989) - Treat hangup of disco worker process as kShutdown * [#16993](https://github.com/apache/tvm/pull/16993) - Allow allocation that only exists on worker0 * [#16979](https://github.com/apache/tvm/pull/16979) - Expose disco.Session.shutdown through the python API * [#16919](https://github.com/apache/tvm/pull/16919) - Improve error message for CallPacked ### Dlight * [#17082](https://github.com/apache/tvm/pull/17082) - Use 16x32 spatial x reduction thread extents in GEMV scheduling * [#17052](https://github.com/apache/tvm/pull/17052) - Skip GEMV rules when more than one vector * [#17026](https://github.com/apache/tvm/pull/17026) - Perf improvement for low_batch_gemv on Metal * [#17016](https://github.com/apache/tvm/pull/17016) - Update Adreno GEMV Rules * [#16972](https://github.com/apache/tvm/pull/16972) - [GPU] Enhance opencl thread limit for schedules * [#16973](https://github.com/apache/tvm/pull/16973) - [GPU] Improved gemv outer fallback schedule * [#16958](https://github.com/apache/tvm/pull/16958) - Check for target in function attributes * [#16894](https://github.com/apache/tvm/pull/16894) - Enhance vectorization for gpu matmul * [#16884](https://github.com/apache/tvm/pull/16884) - Add check for matmul dtype and fix reduction rule ### Docs * [#17146](https://github.com/apache/tvm/pull/17146) - [DOC] Fix typo for the "We utilize the intermediate representation of nn.Graph to convert the OneFlow model to Reley." * [#17015](https://github.com/apache/tvm/pull/17015) - [DOC] Update Model Links to Include Commit ### Frontend * [#17014](https://github.com/apache/tvm/pull/17014) - [ArgParse] Pass default values to target compiler(#13264) * [#16961](https://github.com/apache/tvm/pull/16961) - [Bugfix][ONNX] Improve broadcast and batch_matmul conversion * [#16936](https://github.com/apache/tvm/pull/16936) - [TFLite] Add support for GELU conversion ### Hexagon * [#17123](https://github.com/apache/tvm/pull/17123) - Add support for v75 ### LLVM * [#17046](https://github.com/apache/tvm/pull/17046) - [Arith][SVE] Add rewrite rules for indices split by scalable expressions * [#16966](https://github.com/apache/tvm/pull/16966) - [SVE] Add support for representing and creating buffer-level predicates * [#17001](https://github.com/apache/tvm/pull/17001) - [SVE] Use only powers of two as possible vscale values * [#16962](https://github.com/apache/tvm/pull/16962) - [SVE] Add codegen support for `vscale_range()` function attribute * [#16968](https://github.com/apache/tvm/pull/16968) - Stringref API deprecation fixes * [#16965](https://github.com/apache/tvm/pull/16965) - [SVE] Add get_active_lane_mask builtin * [#16899](https://github.com/apache/tvm/pull/16899) - [SVE][TOPI] Add conv2d NHWC hybrid SVE schedule for `arm_cpu` * [#16893](https://github.com/apache/tvm/pull/16893) - [SVE] Check for SVE target in VectorizeLoop * [#16862](https://github.com/apache/tvm/pull/16862) - [SVE] Support splitting by vscale in `tir::split` and `te::split` ### MetaSchedule * [#17012](https://github.com/apache/tvm/pull/17012) - [BugFix]MultiLevelTilingTensorCore generates inconsistent thread-binding sketch for batched matmul * [#17066](https://github.com/apache/tvm/pull/17066) - [BugFix]Fix TensorIntrin ‘dot_4x4_i8i8s32_sdot’ is not registered ### Metal * [#17059](https://github.com/apache/tvm/pull/17059) - Enable Debug Label * [#17025](https://github.com/apache/tvm/pull/17025) - Support metal device profiling ### OpenCL & CLML * [#16933](https://github.com/apache/tvm/pull/16933) - [CLML] Fix in clml pattern check condition * [#16929](https://github.com/apache/tvm/pull/16929) - [VM][OPENCL] Take advantage of OpenCL host ptr for improved copy ### ROCm * [#17141](https://github.com/apache/tvm/pull/17141) - [Backend]Fix error when building TVM with LLVM 19 ### Relax * [#17139](https://github.com/apache/tvm/pull/17139) - Fix cublas dispatch for corner cases * [#17127](https://github.com/apache/tvm/pull/17127) - [KVCache] Support fork in sliding window sink part * [#17115](https://github.com/apache/tvm/pull/17115) - Support `input_axis_separator` to allow 2D to 1D conversion * [#17119](https://github.com/apache/tvm/pull/17119) - [Bugfix]Set purity=false for LazySetOutput * [#17118](https://github.com/apache/tvm/pull/17118) - [VM] Improved error messages for mismatched parameter count * [#17110](https://github.com/apache/tvm/pull/17110) - Alloc BYOC workspace with R.builtin.alloc_tensor * [#17089](https://github.com/apache/tvm/pull/17089) - [ONNX] Add support for HardSigmoid * [#17100](https://github.com/apache/tvm/pull/17100) - [KVCache] Unlimited depth blocks * [#17075](https://github.com/apache/tvm/pull/17075) - [Transform] Modify FuseTIR pass to propagate buffer attributes * [#17088](https://github.com/apache/tvm/pull/17088) - [ONNX] Add support for HardSwish * [#17085](https://github.com/apache/tvm/pull/17085) - [PyTorch] Add support for torch.nn.Hardsigmoid * [#17083](https://github.com/apache/tvm/pull/17083) - [TVMScript]Preserve tir.SizeVar through TVMScript round-trip * [#17086](https://github.com/apache/tvm/pull/17086) - Ignore dynamic parameters in RewriteDataflowReshape * [#17084](https://github.com/apache/tvm/pull/17084) - [PyTorch] Add support for torch.nn.Hardswish * [#17074](https://github.com/apache/tvm/pull/17074) - [KVCache][Test] Fix TIR attn kernels for uncommon group size * [#17067](https://github.com/apache/tvm/pull/17067) - Add missing white spaces in error messages * [#17061](https://github.com/apache/tvm/pull/17061) - [Frontend][Onnx] Cast Op special handling for ShapeExpr input * [#17033](https://github.com/apache/tvm/pull/17033) - [Bugfix] Apply FuseOps to nested DataflowBlock * [#17032](https://github.com/apache/tvm/pull/17032) - [Bugfix] Annotate ComputePrimValue output as host function * [#17034](https://github.com/apache/tvm/pull/17034) - [Bugfix] Bind symbolic variables in R.match_cast * [#16960](https://github.com/apache/tvm/pull/16960) - [UnitTest] Validate IRModule with multiple targets * [#16995](https://github.com/apache/tvm/pull/16995) - [KVCache] Support KVCache decode from forked sequence and pop more tokens * [#16959](https://github.com/apache/tvm/pull/16959) - [Transform] Handle identical PrimFunc with distinct VDevice * [#16589](https://github.com/apache/tvm/pull/16589) - [Unity] Check for transpose and dynamic shape in AdjustMatmulOrder * [#16988](https://github.com/apache/tvm/pull/16988) - [KVCache] Fix the aux data syncing order of paged KV cache * [#16922](https://github.com/apache/tvm/pull/16922) - [BugFix]change FuseOpsByPattern strategy to pattern-match maximal subgraph * [#16982](https://github.com/apache/tvm/pull/16982) - [Unity][BYOC] Use arith.Analyzer to check batch equality of matmul in cublas * [#16955](https://github.com/apache/tvm/pull/16955) - Implement relax.op.view * [#16971](https://github.com/apache/tvm/pull/16971) - Support nested ModuleList in nn.Module * [#16826](https://github.com/apache/tvm/pull/16826) - Express dynamic arguments of strided_slice as arguments * [#16476](https://github.com/apache/tvm/pull/16476) - [Unity][Cutlass] Fix C source generation of dense operation * [#16940](https://github.com/apache/tvm/pull/16940) - Allow PrimValue as index in relax.op.take * [#16934](https://github.com/apache/tvm/pull/16934) - [TIR] Introduce new `cumsum` op for gpu * [#16859](https://github.com/apache/tvm/pull/16859) - [QoL]Use SeqExpr in IR types when SeqExpr is required * [#16904](https://github.com/apache/tvm/pull/16904) - Prevent to generate duplicate func in dispatch_sort_scan * [#16905](https://github.com/apache/tvm/pull/16905) - [Bugfix]Raise exception for OOM allocation * [#16827](https://github.com/apache/tvm/pull/16827) - Handle binary operations between Tensor and PrimValue * [#16902](https://github.com/apache/tvm/pull/16902) - Allow specifying entry_funcs for BYOC * [#16860](https://github.com/apache/tvm/pull/16860) - [QoL]Infer StructInfo for relax::Tuple on construction * [#16861](https://github.com/apache/tvm/pull/16861) - [QoL]Return well-formed IR from relax::Function::CreateEmpty * [#16886](https://github.com/apache/tvm/pull/16886) - [Frontend] Fix sort, argsort and topk in nn module * [#16883](https://github.com/apache/tvm/pull/16883) - Stabilize relax pass mutation order ### Relay * [#16983](https://github.com/apache/tvm/pull/16983) - [BugFix]skip leaf args when matching 'path' part for dominator pattern * [#16996](https://github.com/apache/tvm/pull/16996) - fixed to make TupleGetItem inherits the previous span ### Runtime * [#17057](https://github.com/apache/tvm/pull/17057) - Stateless interface of PagedKVCache leaf node commit * [#17049](https://github.com/apache/tvm/pull/17049) - Support PagedKVCache with tree attention * [#17045](https://github.com/apache/tvm/pull/17045) - Fix PagedKVCache for PopN and enhance tests * [#16998](https://github.com/apache/tvm/pull/16998) - Compatibility with dmlc::Stream API changes * [#17037](https://github.com/apache/tvm/pull/17037) - [ROCm] Enable ROCm host memory support * [#17036](https://github.com/apache/tvm/pull/17036) - Use preferred host memory (pinned memory) in KV cache * [#16994](https://github.com/apache/tvm/pull/16994) - Allow query of available device memory through DeviceAPI * [#16997](https://github.com/apache/tvm/pull/16997) - [Disco] Restore checks for hangup of disco pipe * [#16938](https://github.com/apache/tvm/pull/16938) - Allow offset to be specified in NDArray::CreateView * [#16890](https://github.com/apache/tvm/pull/16890) - [VULKAN] Support total_global_memory * [#16880](https://github.com/apache/tvm/pull/16880) - Implemented Datatype.itemsize() ### TIR * [#17134](https://github.com/apache/tvm/pull/17134) - [Schedule] Remove `@type_check` for `set_axis_separator` * [#17112](https://github.com/apache/tvm/pull/17112) - [DLight] Enable SimdGroup op for Metal * [#17098](https://github.com/apache/tvm/pull/17098) - [RPC] Allow RPC calls to compiled PrimFuncs with no arguments * [#17039](https://github.com/apache/tvm/pull/17039) - Fix Bug in VectorizeLoop * [#17030](https://github.com/apache/tvm/pull/17030) - Fix Shuffle rewrite * [#16947](https://github.com/apache/tvm/pull/16947) - Support narrow dtype for let binding * [#16952](https://github.com/apache/tvm/pull/16952) - Enhance CLZ intrinsic support * [#16945](https://github.com/apache/tvm/pull/16945) - [Compute-at] Make compute-ated block simple when the predicate could be merged * [#16879](https://github.com/apache/tvm/pull/16879) - Make T.reinterpret nop when dtype is the same ### TOPI * [#17091](https://github.com/apache/tvm/pull/17091) - Add dense schedule for fp16 and fp32 using gemm * [#17048](https://github.com/apache/tvm/pull/17048) - [SME]Add conv2d NHWC SME fp16->fp32 schedule * [#17040](https://github.com/apache/tvm/pull/17040) - Fix SME conv2d schedule import and intrin argument * [#17003](https://github.com/apache/tvm/pull/17003) - [SME]Add conv2d NHWC SME fp32 schedule * [#16977](https://github.com/apache/tvm/pull/16977) - Remove `blockIdx.z` in topi sort * [#16951](https://github.com/apache/tvm/pull/16951) - Revert unification of conv2d NHWC hybrid scheduling for `arm_cpu` targets ### TVMScript * [#17107](https://github.com/apache/tvm/pull/17107) - Better Type Annotation for TIR OP * [#16967](https://github.com/apache/tvm/pull/16967) - Fix error reporting inside Macro func * [#16916](https://github.com/apache/tvm/pull/16916) - Support `T.launch_thread` with i64 dtype * [#16876](https://github.com/apache/tvm/pull/16876) - Optionally use `ruff format` instead of `black` * [#16877](https://github.com/apache/tvm/pull/16877) - [Bug] Add test case for missing symbolic bounds ### cuda & cutlass & tensorrt * [#16980](https://github.com/apache/tvm/pull/16980) - [Cuda] Skip FreeDataSpace when CUDA driver is in inconsistent state ### web * [#17031](https://github.com/apache/tvm/pull/17031) - Fix string to uint8 array for special characters * [#17028](https://github.com/apache/tvm/pull/17028) - Add dtype and offset for CreateView in runtime * [#16910](https://github.com/apache/tvm/pull/16910) - Support string[] in setPackedFunc() and exceptionally long arrays ### Misc * [#17135](https://github.com/apache/tvm/pull/17135) - [QoL][IR] Provide default constructor for NameSupply/GlobalVarSupply * [#17125](https://github.com/apache/tvm/pull/17125) - [Utils] Define line-length for "ruff format" * [#17152](https://github.com/apache/tvm/pull/17152) - GraphExecutor: Fix wild pointer assign when input and output are reshape * [#17150](https://github.com/apache/tvm/pull/17150) - [WebGPU] Fall back to 256MB for maxBufferSize if needed * [#17128](https://github.com/apache/tvm/pull/17128) - [Compute-inline] Prefer T.where for reverse compute-inlined block with predicate * [#16976](https://github.com/apache/tvm/pull/16976) - [WebGPU] Implement `tir.dp4a` with WGSL built-in function `dot4I8Packed` * [#17124](https://github.com/apache/tvm/pull/17124) - [WebGPU] Add `tir.dp4a` * [#17113](https://github.com/apache/tvm/pull/17113) - [CudaGraph] Handle exceptions thrown while capturing cuda graph * [#17094](https://github.com/apache/tvm/pull/17094) - [Utility][Container] Support non-nullable types in Array::Map * [#17101](https://github.com/apache/tvm/pull/17101) - [RPC] Raise error if server process terminated * [#17092](https://github.com/apache/tvm/pull/17092) - [UnitTests] Use tvm.ir.assert_structural_equal whenever possible * [#17054](https://github.com/apache/tvm/pull/17054) - [SME] Utilize predication in fp32 matmul and conv2d schedules * [#17079](https://github.com/apache/tvm/pull/17079) - [CMake] Show NVCC include directories in compile_commands.json * [#17076](https://github.com/apache/tvm/pull/17076) - [SME] Extract gemm block correctly when fused with bias * [#17071](https://github.com/apache/tvm/pull/17071) - [WebGPU] Translate `int8x4` into `u32` * [#17065](https://github.com/apache/tvm/pull/17065) - [FP8][Codegen] Add make_fp8 vector constructors * [#17064](https://github.com/apache/tvm/pull/17064) - Add docs of v0.15.0 and v0.16.0 * [#16985](https://github.com/apache/tvm/pull/16985) - [CODEGEN] Vector-Codegen support for llvm-pure-intrin * [#17058](https://github.com/apache/tvm/pull/17058) - Introduce outer reduction for metal * [#17051](https://github.com/apache/tvm/pull/17051) - Use adapter.info when available instead of requestAdapterInfo * [#16981](https://github.com/apache/tvm/pull/16981) - [SME] Add scalable fp16->fp32 dense schedule * [#17029](https://github.com/apache/tvm/pull/17029) - [Contrib] Implement NDArray cache update * [#17027](https://github.com/apache/tvm/pull/17027) - [picojson] Let objects be ordered when serializing * [#17021](https://github.com/apache/tvm/pull/17021) - [WebGPU] Update error messages to be more user-friendly * [#17010](https://github.com/apache/tvm/pull/17010) - Support multinomial_from_uniform dispatch * [#16999](https://github.com/apache/tvm/pull/16999) - [USMP] add missing const specifier for global_const_workspace * [#17005](https://github.com/apache/tvm/pull/17005) - [WebGPU] Handle device OOM in createBuffer * [#16921](https://github.com/apache/tvm/pull/16921) - [SME] Introduce scalable fp32 dense schedule * [#16957](https://github.com/apache/tvm/pull/16957) - chore: remove repetitive words * [#16909](https://github.com/apache/tvm/pull/16909) - [QoL][IR] Provide std::hash and std::equal_to for IR Variable types * [#16987](https://github.com/apache/tvm/pull/16987) - [JVM] Automatic Compatibility of JVM AttachCurrentThread * [#16974](https://github.com/apache/tvm/pull/16974) - [CUBLAS][FP8] Enable R.matmul + R.multiply offloading * [#16896](https://github.com/apache/tvm/pull/16896) - [CUBLAS] Enable offloading of R.matmul + R.dequantize * [#16956](https://github.com/apache/tvm/pull/16956) - Add script for testing release package * [#16908](https://github.com/apache/tvm/pull/16908) - Overriding the StructuralEqual() for easy usage * [#16932](https://github.com/apache/tvm/pull/16932) - Enable gemv schedule for adreno * [#16935](https://github.com/apache/tvm/pull/16935) - [3rdparty] Bump FlashInfer for sampling functions * [#16937](https://github.com/apache/tvm/pull/16937) - [Thrust] Increase static workspace size * [#16915](https://github.com/apache/tvm/pull/16915) - [Marvell BYOC]: Marvell AI Accelerator Integration - Phase 2 * [#16741](https://github.com/apache/tvm/pull/16741) - Restore "pytest.mark.gpu" for RELAX tests * [#16914](https://github.com/apache/tvm/pull/16914) - [CMAKE] Make LOG_BEFORE_THROW explicit * [#16913](https://github.com/apache/tvm/pull/16913) - Enhance Release Note Script and Remove Useless File * [#16907](https://github.com/apache/tvm/pull/16907) - [Upd] Fixed lld search in rocm * [#16900](https://github.com/apache/tvm/pull/16900) - [CMAKE] Misc improvment of Util * [#16897](https://github.com/apache/tvm/pull/16897) - [Target] Don't register AArch64 target tags without LLVM compiler support * [#16892](https://github.com/apache/tvm/pull/16892) - [CUBLAS] Set fp32 compute and scale dtypes in fp16 matmul * [#16888](https://github.com/apache/tvm/pull/16888) - [CUBLAS][FP8] Support e4m3 gemm in cuBLAS BYOC * [#16887](https://github.com/apache/tvm/pull/16887) - [Contrib] Enable fp16 for thrust sort * [#16881](https://github.com/apache/tvm/pull/16881) - [release][Dont Squash] Update version to 0.16.0 and 0.17.0.dev on main branch

Apache TVM v0.16.0v0.16.0
? · 2024-04-28

# Introduction The TVM community has worked since the v0.15.0 release to deliver the following new exciting improvements! This release version is: - **First support of Relax**, with dynamic shape and pipeline - **Dlight module** for optimizing LLM TIR workloads on GPU - **Disco module** for initial SPMD multi-GPU support The main tags are below (**bold text is with lots of progress**): - Community, RFCs - Adreno, ArmComputeLibrary, Metal, cuda & cutlass & tensorrt, micoNPU, Runtime - **Relax**, **Dlight**, **Disco** - Arith, **TIR**, TVMScript - Docs, CI, **Misc**, **BugFix** Please visit the full listing of commits for a complete view: [v0.16.dev0...v0.16.0.rc0](https://github.com/apache/tvm/compare/v0.16.dev0...v0.16.0.rc0). ### Community * [#16695](https://github.com/apache/tvm/pull/16695) - Add new key for release signing * [#16419](https://github.com/apache/tvm/pull/16419) - Add new key for release signing ### RFCs This new RFC explores how TVM can be utilized to generate code for the SME ISA to achieve improved inference performance on supported Arm®-based hardware implementing the SME extension. * [#107](https://github.com/apache/tvm-rfcs/pull/107) - [RFC] Scalable Matrix Extension enablement ---- ### Arith * [#16735](https://github.com/apache/tvm/pull/16735) - [Fixup] Require feature flag for tighter inequality bounds * [#16588](https://github.com/apache/tvm/pull/16588) - Provide tighter ConstIntBounds for special cases * [#16704](https://github.com/apache/tvm/pull/16704) - [Fix]Fix canonical simplification of LE ### BYOC * [#16567](https://github.com/apache/tvm/pull/16567) - Skip processed functions in FuseOpsByPattern and RunCodegen ### BugFix * [#16766](https://github.com/apache/tvm/pull/16766) - [Target] Added null check to fix segfault at ->defined() in cpu.cc DetectSystemTriple() * [#16739](https://github.com/apache/tvm/pull/16739) - [Ansor] Fixing Ansor Gradient Bug * [#16820](https://github.com/apache/tvm/pull/16820) - [Fix] PAPI docs * [#16793](https://github.com/apache/tvm/pull/16793) - [Fix] fix for numpy 2.0 compatibility * [#16790](https://github.com/apache/tvm/pull/16790) - [Fix] Fix build errors with VS2022 * [#16780](https://github.com/apache/tvm/pull/16780) - [Fix] Fix numpy dtype map * [#16773](https://github.com/apache/tvm/pull/16773) - [Fix] Fix the purity flag of "vm.call_tir_dyn" and "kill" ops * [#16770](https://github.com/apache/tvm/pull/16770) - [Hotfix] Revert driver API pass ordering that breaks MLC, mark failing test * [#16771](https://github.com/apache/tvm/pull/16771) - [Fix] Remove redundant "remove_all_unused" in IPC memory lowering * [#16746](https://github.com/apache/tvm/pull/16746) - [Fix][Builtin] Fix "GetQueryPosition" of PagedKVCache * [#16728](https://github.com/apache/tvm/pull/16728) - [Fix] Introduce TVM_DEBUG_WITH_ABI_CHANGE to warn ABI changes in debug mode * [#16714](https://github.com/apache/tvm/pull/16714) - [Fix] PagedKVCache fetching compute stream when copy stream is needed * [#16684](https://github.com/apache/tvm/pull/16684) - [SLM] Produce well-formed Relax for nn.modules.KVCache * [#16659](https://github.com/apache/tvm/pull/16659) - add the default value for DFT in ONNX frontend * [#16637](https://github.com/apache/tvm/pull/16637) - [Transform] Preserve symbolic variables in FuseOps * [#16649](https://github.com/apache/tvm/pull/16649) - [FFI] Add a missing default for datatype lanes * [#16492](https://github.com/apache/tvm/pull/16492) - [Executor] fix debug_executor function debug_get_output * [#16598](https://github.com/apache/tvm/pull/16598) - [Transform]Handle non-composite lambda functions in FuseOps * [#16565](https://github.com/apache/tvm/pull/16565) - [Transform] Keep private non-primitive functions in FuseTIR * [#16518](https://github.com/apache/tvm/pull/16518) - Use x*x*x instead of pow(x,3) * [#16436](https://github.com/apache/tvm/pull/16436) - Ensure that bf16 arrays are created as expected * [#16361](https://github.com/apache/tvm/pull/16361) - Disable SingleEnvThreadVerifier * [#16289](https://github.com/apache/tvm/pull/16289) - [AUTOTVM][FIX] Typo fixes and add a warning in the Droplet Search ### CI * [#16837](https://github.com/apache/tvm/pull/16837) - Disable flaky unit test * [#16765](https://github.com/apache/tvm/pull/16765) - [AOT][Testing] Improve output mismatch information on test failure * [#16661](https://github.com/apache/tvm/pull/16661) - add merge_with_main in unity * [#16611](https://github.com/apache/tvm/pull/16611) - [AOT][Testing] Print output values on test failure * [#16546](https://github.com/apache/tvm/pull/16546) - Disable testing that downloads from mxnet * [#16521](https://github.com/apache/tvm/pull/16521) - Fix CI Script and Broken Tests * [#16502](https://github.com/apache/tvm/pull/16502) - Support tvm-bot rerun for tvm-unity task * [#16435](https://github.com/apache/tvm/pull/16435) - Update image tag to 20240126-070121-8ade9c30e * [#16420](https://github.com/apache/tvm/pull/16420) - [WASM] Update emsdk and nodejs version * [#16384](https://github.com/apache/tvm/pull/16384) - Remove NVIDIA_DISABLE_REQUIRE * [#16382](https://github.com/apache/tvm/pull/16382) - In jenkins.cmd_utils.Sh.tee, check for failing subprocess * [#16366](https://github.com/apache/tvm/pull/16366) - Upgrade sccache version to 0.7.* * [#16369](https://github.com/apache/tvm/pull/16369) - Upgrade Unity ci images * [#16344](https://github.com/apache/tvm/pull/16344) - Update docker images tag to 20240105-165030-51bdaec6 * [#16340](https://github.com/apache/tvm/pull/16340) - [Unity][UnitTest] Increase atol to resolve flaky CI failure * [#16337](https://github.com/apache/tvm/pull/16337) - [Hexagon][UnitTest] Disable flaky quantization test * [#16336](https://github.com/apache/tvm/pull/16336) - Upgrade cmake version to 3.24.0 ### Docker * [#16755](https://github.com/apache/tvm/pull/16755) - [SME]Add Fixed Virtual Platform (FVP) and toolchain install * [#16348](https://github.com/apache/tvm/pull/16348) - Upgrade pip in i386 container ### Disco * [#16618](https://github.com/apache/tvm/pull/16618) - [Disco] Propagate structlog configuration to disco workers * [#16639](https://github.com/apache/tvm/pull/16639) - [Disco] Expose functions to query the per-worker device/rank * [#16617](https://github.com/apache/tvm/pull/16617) - [Disco] Implement `Session.import_python_module` method * [#16715](https://github.com/apache/tvm/pull/16715) - [Disco] Propagate structlog/logging config to workers * [#16845](https://github.com/apache/tvm/pull/16845) - [Debug][Disco] Check if a PackedFunc exists before calling it * [#16817](https://github.com/apache/tvm/pull/16817) - [Disco] Reduce Process/ThreadSession message queue reads and writes * [#16807](https://github.com/apache/tvm/pull/16807) - [Disco] Support setting workers' CPU affinity * [#16375](https://github.com/apache/tvm/pull/16375) - [Unity] Fix creation of disco ProcessSession * [#16821](https://github.com/apache/tvm/pull/16821) - [Fix] Add TVM_DLL to Disco session * [#16752](https://github.com/apache/tvm/pull/16752) - [Fix] Lazy import of "psutil" in disco process pool ### Dlight * [#16775](https://github.com/apache/tvm/pull/16775) - [Fix][Dlight] (Low-batched-)GeMV on small spatial loops * [#16429](https://github.com/apache/tvm/pull/16429) - [Unity][Dlight][Fix] Reduction rule support dyn-shape epilogue * [#16351](https://github.com/apache/tvm/pull/16351) - [Unity] Add dlight.gpu.Fallback in DispatchSortScan, add argsort, topk, and cumprod * [#16338](https://github.com/apache/tvm/pull/16338) - [Unity][DLight] Introduce Specific Rule for RMSNorm * [#16251](https://github.com/apache/tvm/pull/16251) - [Unity][Dlight] Support dlight gemv rule on nested inner block * [#16878](https://github.com/apache/tvm/pull/16878) - [Dlight] Enhance vectorization loading weight for gemv * [#16848](https://github.com/apache/tvm/pull/16848) - [DLight] Fix a corner case for reduction rule * [#16701](https://github.com/apache/tvm/pull/16701) - [Dlight] Add fallback for low batch gemv with outer reduction * [#16678](https://github.com/apache/tvm/pull/16678) - [Dlight] LowBatchGemv rule only apply to function with spatial symbolic var * [#16665](https://github.com/apache/tvm/pull/16665) - [Dlight] Skip GeMV when normalization fails * [#16579](https://github.com/apache/tvm/pull/16579) - [Dlight] Scheduling Low batch GEMM using GEMV-like rule * [#16579](https://github.com/apache/tvm/pull/16579) - [Dlight] Scheduling Low batch GEMM using GEMV-like rule * [#16321](https://github.com/apache/tvm/pull/16321) - [DLight] Skip rule if target is not suitable * [#16731](https://github.com/apache/tvm/pull/16731) - [Dlight] Fix GeMV shared memory estimation ### Docs * [#16792](https://github.com/apache/tvm/pull/16792) - [Doc] Fix set_axis_separator example * [#16610](https://github.com/apache/tvm/pull/16610) - [Doc] Fixed Docstring usage example in `tvm.ir.make_node` * [#16572](https://github.com/apache/tvm/pull/16572) - [Doc] Remove MxNet related tutorials * [#16514](https://github.com/apache/tvm/pull/16514) - [Unity][Doc] Document passes that depend on `DataflowBlock`s and encourage using `ConvertToDataflow` * [#16482](https://github.com/apache/tvm/pull/16482) - [Doc] Fix Docstring in `extern.py` for Sphinx * [#16346](https://github.com/apache/tvm/pull/16346) - [Doc] Fix minor error in "Expressions in Relay" ### Frontend * [#16001](https://github.com/apache/tvm/pull/16001) - [ONNX] Fix interpreting auto_pad parameters in ConvTranspose operator * [#16651](https://github.com/apache/tvm/pull/16651) - [PaddlePaddle] PaddlePaddle model with NCHW data format that supports quantization * [#16616](https://github.com/apache/tvm/pull/16616) - [PaddlePaddle] Support conv2d when data_format is NHWC * [#16526](https://github.com/apache/tvm/pull/16526) - [Keras] Enable Dense operator for any input dims * [#16478](https://github.com/apache/tvm/pull/16478) - [PaddlePaddle] Fixed the bug that prevented the model from being successfully converted to microTVM on MacOS ### Hexagon * [#16762](https://github.com/apache/tvm/pull/16762) - [VM]Cache operations when bypass mode is enabled * [#16706](https://github.com/apache/tvm/pull/16706) - [VM] Add buffers to `dma_wait` builtin * [#16448](https://github.com/apache/tvm/pull/16448) - [VM]Implement dma_copy and dma_wait builtin for hexagon ### LLVM * [#16782](https://github.com/apache/tvm/pull/16782) - [SVE] Support scalable vectors in LoopVectorizer * [#16812](https://github.com/apache/tvm/pull/16812) - Fix compilation failure due to minor change * [#16808](https://github.com/apache/tvm/pull/16808) - [Runtime]Fix errors during loading of target tags * [#16748](https://github.com/apache/tvm/pull/16748) - Lack of DWARF type is not an error * [#16696](https://github.com/apache/tvm/pull/16696) - [SVE] Add codegen support for scalable buffer accesses * [#15964](https://github.com/apache/tvm/pull/15964) - [RUNTIME] Add optional LLVM ORCJIT runtime executor * [#16612](https://github.com/apache/tvm/pull/16612) - [SVE] Add support for scalable data type strings * [#16523](https://github.com/apache/tvm/pull/16523) - [SVE] Change the dtype of Ramp and Broadcast lanes to PrimExpr * [#16484](https://github.com/apache/tvm/pull/16484) - [SVE] Add vscale builtin * [#16373](https://github.com/apache/tvm/pull/16373) - Update Host.h path ### MetaSchedule * [#16725](https://github.com/apache/tvm/pull/16725) - Make the `opt_level` of `tune_relay()` adjustable ### Metal * [#16713](https://github.com/apache/tvm/pull/16713) - [RUNTIME]Provide richer runtime when error happens * [#16605](https://github.com/apache/tvm/pull/16605) - [RUNTIME]Fix multithreading access of metal runtime * [#16438](https://github.com/apache/tvm/pull/16438) - Dispatch numerically stable tanh for metal ### OpenCL & CLML * [#16854](https://github.com/apache/tvm/pull/16854) - [OpenCL] Add OpenCL device for automatic target detection * [#16846](https://github.com/apache/tvm/pull/16846) - [Meta-Schedule][OpenCL] Enable MS tuning for Android OpenCL * [#16768](https://github.com/apache/tvm/pull/16768) - [RUNTIME][OPENCL] Bugfix for ciImage create with host ptr * [#16672](https://github.com/apache/tvm/pull/16672) - [CLML] Fix build TVM with CLML on MacOS * [#16328](https://github.com/apache/tvm/pull/16328) - [RUNTIME][CLML] Fix for Softmax op for 4D tensors * [#16394](https://github.com/apache/tvm/pull/16394) - [OpenCL][CMake] Fix OpenCL tests compilation ### ROCm * [#16441](https://github.com/apache/tvm/pull/16441) - [WebGPU] Intrin Dispatch: `tanh`, `erf`, `log` * [#16404](https://github.com/apache/tvm/pull/16404) - Some fixes of ROCm codegen ### Relax * [#16872](https://github.com/apache/tvm/pull/16872) - Enhance symbolic expr estimation in memory planning * [#16867](https://github.com/apache/tvm/pull/16867) - Dispatch sort/scan for non-cuda gpu backends * [#16852](https://github.com/apache/tvm/pull/16852) - Fix EliminiateCommonSubexpr removing alloc tensor * [#16851](https://github.com/apache/tvm/pull/16851) - [Relax,Topi] Allow passing workspace to thrust to avoid allocations * [#16841](https://github.com/apache/tvm/pull/16841) - Provide well-formed output in `transform.LazyGetInput` * [#16798](https://github.com/apache/tvm/pull/16798) - [Transform] Provide callback versions of LazyTransformParams * [#16801](https://github.com/apache/tvm/pull/16801) - Allow DeadCodeElimination within ApplyPassToFunction * [#16834](https://github.com/apache/tvm/pull/16834) - Capture symbolic vars in struct info of weights * [#16830](https://github.com/apache/tvm/pull/16830) - Share storage allocs among functions after cuda graph rewriting * [#16823](https://github.com/apache/tvm/pull/16823) - [VM] Refactor CUDA graph builtins as VM extension * [#16828](https://github.com/apache/tvm/pull/16828) - [Bugfix] Provide the full Expr to pattern-match rewriter * [#16805](https://github.com/apache/tvm/pull/16805) - [Bugfix]BlockBuilder may not assume unique input functions * [#16815](https://github.com/apache/tvm/pull/16815) - Enable capturing symbolic shapes in cuda graph * [#16642](https://github.com/apache/tvm/pull/16642) - Allow R.Prim('bool') in relax::If and assert_op * [#16796](https://github.com/apache/tvm/pull/16796) - Unit-test for structural equal of recursive function * [#16732](https://github.com/apache/tvm/pull/16732) - Allow composition of DFPattern replacements * [#16783](https://github.com/apache/tvm/pull/16783) - Improve CanonicalizeBindings in DataflowVar edge case * [#16721](https://github.com/apache/tvm/pull/16721) - Implement operators to inspec DLTensor::strides and offset * [#16730](https://github.com/apache/tvm/pull/16730) - Refactor PatternRewriter into separate Block/Expr mutators * [#16756](https://github.com/apache/tvm/pull/16756) - [IR]Improve highlighting in assert_structural_equal * [#16779](https://github.com/apache/tvm/pull/16779) - Improve malform error msg * [#16569](https://github.com/apache/tvm/pull/16569) - [Unity][Parser] Check well-formedness in the parser * [#16759](https://github.com/apache/tvm/pull/16759) - [Pass] Lowering passes for GPU IPC memory and allreduce * [#16697](https://github.com/apache/tvm/pull/16697) - Implement relax.transform.TopologicalSort * [#16658](https://github.com/apache/tvm/pull/16658) - Normalize use of void-type variable to inline R.tuple() * [#16711](https://github.com/apache/tvm/pull/16711) - [Frontend] Add op `tanh`, `exp`, `negative`, and `permute` * [#16703](https://github.com/apache/tvm/pull/16703) - [Fix]Fix top-p/top-k sampling kernel * [#16669](https://github.com/apache/tvm/pull/16669) - [Frontend][Onnx] add sum and globalavgpool 1d/3d op * [#16691](https://github.com/apache/tvm/pull/16691) - CUDA graph rewrite treating StringImm as static * [#16685](https://github.com/apache/tvm/pull/16685) - Implement StructInfoPattern for dataflow pattern matching * [#16681](https://github.com/apache/tvm/pull/16681) - [Frontend][Onnx] support MaxPool1/2/3D and AveragePool1/2/3D * [#16584](https://github.com/apache/tvm/pull/16584) - [Unity][TIR] Clear struct info when specializing PrimFunc * [#16676](https://github.com/apache/tvm/pull/16676) - Remove the legalization of cumsum/cumprob * [#16654](https://github.com/apache/tvm/pull/16654) - [Frontend][NN] Add support for Conv3D * [#16674](https://github.com/apache/tvm/pull/16674) - Eager free original weights in transform_params * [#16675](https://github.com/apache/tvm/pull/16675) - add sample_indices in sampling * [#16648](https://github.com/apache/tvm/pull/16648) - [Runtime] Support Unpack API for NDArrayCache * [#16591](https://github.com/apache/tvm/pull/16591) - [Unity][Transform] Handle dynamic shapes in CombineParallelMatmul * [#16594](https://github.com/apache/tvm/pull/16594) - [Transform] Preserve param names in LiftTransformParams * [#16575](https://github.com/apache/tvm/pull/16575) - [Unity] GPU sampling * [#16574](https://github.com/apache/tvm/pull/16574) - Additional unit tests for RemoveUnusedParameters * [#16585](https://github.com/apache/tvm/pull/16585) - [Unity][Analysis] Include impure call in VerifyWellFormed errors * [#16421](https://github.com/apache/tvm/pull/16421) - [Unity][Transform] Raise error in FuseOpsByPattern for SSA violation * [#16629](https://github.com/apache/tvm/pull/16629) - Fix error message in BlockBuilder * [#16592](https://github.com/apache/tvm/pull/16592) - Handle dynamic arguments in legalization of nn.attention * [#16590](https://github.com/apache/tvm/pull/16590) - [Unity][Transform] Check for permute_dims in ExpandMatmulOfSum * [#16604](https://github.com/apache/tvm/pull/16604) - [Frontend][Onnx] fix clip unsqueeze opset implement * [#16568](https://github.com/apache/tvm/pull/16568) - [Runtime] RNNState for Space State Models * [#16563](https://github.com/apache/tvm/pull/16563) - Implement operators to read runtime DLTensor* information * [#16581](https://github.com/apache/tvm/pull/16581) - [Unity][MSC][M4.2][Step2] Enable plugin with manager, test plugins in compile pipeline * [#16600](https://github.com/apache/tvm/pull/16600) - Expose name_hint field for BlockBuilder.match_cast * [#16601](https://github.com/apache/tvm/pull/16601) - [Transform] Canonicalize `let var = R.const` bindings * [#16583](https://github.com/apache/tvm/pull/16583) - [Unity][VM] Recursively visit match bindings in VMShapeLowerMutator * [#16586](https://github.com/apache/tvm/pull/16586) - Ignore non-relax functions in relax.transform.RunCodegen * [#16573](https://github.com/apache/tvm/pull/16573) - [VM] Re-implementation of callback functions * [#16561](https://github.com/apache/tvm/pull/16561) - [Bugfix]Remove call to tvm.build for empty TIR module * [#16564](https://github.com/apache/tvm/pull/16564) - [Unity] Check for symbolic vars in PrimValue in when lowering to TIR * [#16558](https://github.com/apache/tvm/pull/16558) - Minor updates for NN frontend * [#16542](https://github.com/apache/tvm/pull/16542) - Support callback as argument * [#16487](https://github.com/apache/tvm/pull/16487) - [Unity][Transform] Handle `call_tir_inplace` in `FuseTIR` and `FuseOps` * [#16355](https://github.com/apache/tvm/pull/16355) - [Unity] Infer struct info for relax.op.split on dynamic-sized index * [#16465](https://github.com/apache/tvm/pull/16465) - [Redo][Unity] Split DecomposeOpsForTraining into two steps * [#16495](https://github.com/apache/tvm/pull/16495) - [Unity][MSC][M4.2][Step1] Enable plugin with manager, test plugins in compile pipeline * [#16498](https://github.com/apache/tvm/pull/16498) - [Frontent] "tensor_ir_inplace" op * [#16500](https://github.com/apache/tvm/pull/16500) - [Unity] Support storage reuse for dynamic shapes * [#16493](https://github.com/apache/tvm/pull/16493) - [Pass] Skip data type node for CSE pass * [#16467](https://github.com/apache/tvm/pull/16467) - [Unity][MSC][Refactor] Reconstruct BYOC and runner * [#16422](https://github.com/apache/tvm/pull/16422) - [Unity][CodeGen] RunCodegen based on externally-exposed functions * [#16483](https://github.com/apache/tvm/pull/16483) - [Unity][Frontend] Add Sigmoid and Square Op * [#16472](https://github.com/apache/tvm/pull/16472) - [Unity] Improved error message in tvm::relax::UpdateStructInfo * [#16473](https://github.com/apache/tvm/pull/16473) - [Unity] Improve error message in tensor_to_shape struct inference * [#16466](https://github.com/apache/tvm/pull/16466) - Memory planning for "partially dynamic" shapes * [#16464](https://github.com/apache/tvm/pull/16464) - NDArray Cache Update with DLTensor Support * [#16315](https://github.com/apache/tvm/pull/16315) - [Unity][Transform] Implement relax.transform.ReorderTakeAfterMatmul * [#16313](https://github.com/apache/tvm/pull/16313) - [Unity][Transform] Implement relax.transform.ExpandMatmulOfSum * [#16411](https://github.com/apache/tvm/pull/16411) - [Unity][Transform] Handle symbolic variables in LambdaLift * [#16443](https://github.com/apache/tvm/pull/16443) - [Unity][FIX] fix thread dtype mismatch * [#16442](https://github.com/apache/tvm/pull/16442) - Revert "[Unity] Split DecomposeOpsForTraining into two steps" * [#16437](https://github.com/apache/tvm/pull/16437) - [Unity] Improve buffer allocation for handling duplicated buffer names. * [#16439](https://github.com/apache/tvm/pull/16439) - [Unity] Support cumsum with pure int32 * [#16432](https://github.com/apache/tvm/pull/16432) - [Unity] downgrade cmake version requirement * [#16427](https://github.com/apache/tvm/pull/16427) - [Unity][Frontend][NN] Better support for dynamic convolutions * [#16418](https://github.com/apache/tvm/pull/16418) - [Unity][Fix] Fix mismatched intrinsic name * [#16129](https://github.com/apache/tvm/pull/16129) - [Unity][Transform] Replace eligible operators with in-place versions in dataflow blocks * [#16414](https://github.com/apache/tvm/pull/16414) - [Bugfix][Unity] Recover MSVC/NVCC/ROCm/Vulkan * [#15954](https://github.com/apache/tvm/pull/15954) - [Unity] Split DecomposeOpsForTraining into two steps * [#16111](https://github.com/apache/tvm/pull/16111) - [Unity][Transform] Memory planning for dynamic-shape func return * [#16396](https://github.com/apache/tvm/pull/16396) - [Unity] PagedKVCache supporting on-the-fly RoPE calculation * [#16395](https://github.com/apache/tvm/pull/16395) - [Frontend][ONNX]fix onnx frontend parse * [#16385](https://github.com/apache/tvm/pull/16385) - [Unity][Op] Add Conv3D Operator * [#16284](https://github.com/apache/tvm/pull/16284) - [Unity][nnModule] Dynamic shape support in nn Module * [#16378](https://github.com/apache/tvm/pull/16378) - [Unity][BlockBuilder] Restore bb.get() * [#16374](https://github.com/apache/tvm/pull/16374) - [Unity] Support TIR kernel for PagedKVCache * [#16314](https://github.com/apache/tvm/pull/16314) - [Unity][Transform] Implement relax.transform.AdjustMatmulOrder * [#16349](https://github.com/apache/tvm/pull/16349) - [Unity][MSC] Avoid depending on trivial bindings in Relax intermediate * [#16376](https://github.com/apache/tvm/pull/16376) - [Unity][Contrib] Fix a bug due to typo in vllm `reconstruct_from_cache` kernel and add test * [#16388](https://github.com/apache/tvm/pull/16388) - [Unity] Update dispatch test cases following the merge from main * [#16335](https://github.com/apache/tvm/pull/16335) - [Unity] Set CMAKE_CUDA_ARCHITECTURES default to native * [#16306](https://github.com/apache/tvm/pull/16306) - [Unity][Transform] Update LambdaLift to use name of lifted lambda * [#16310](https://github.com/apache/tvm/pull/16310) - [Unity][Analysis] Show objects instead of names in WellFormedChecker * [#16362](https://github.com/apache/tvm/pull/16362) - [Unity][Fix] Memory planning check value type of 'tir_var_upper_bound' * [#16367](https://github.com/apache/tvm/pull/16367) - [Unity][Transform] Handle replacement at both var binding and usage * [#16309](https://github.com/apache/tvm/pull/16309) - [Unity][Transform] Use parameter name in BundleModelParams * [#16307](https://github.com/apache/tvm/pull/16307) - [Unity] Improved error message in ExprMutator::ReEmitBinding * [#16308](https://github.com/apache/tvm/pull/16308) - [Unity] Improved error message for matmul shape mismatch * [#16360](https://github.com/apache/tvm/pull/16360) - [Unity] Enhance Torch-consistency in rehsape * [#16350](https://github.com/apache/tvm/pull/16350) - [Unity][Contrib] Add vLLM paged attention kernel * [#16303](https://github.com/apache/tvm/pull/16303) - [Unity][NN] Use Linear name for nn.op.permute_dims * [#16325](https://github.com/apache/tvm/pull/16325) - [Unity][MSC][Legalize] legalize codes and mute logging * [#16312](https://github.com/apache/tvm/pull/16312) - [Unity][Analysis] Add utility for collecting compile-time bindings * [#16330](https://github.com/apache/tvm/pull/16330) - [Unity][WEBGPU] Enable wasm exception propagation * [#16304](https://github.com/apache/tvm/pull/16304) - [Unity][Analysis] Handle PrimStructInfo in EraseToWellDefined * [#16305](https://github.com/apache/tvm/pull/16305) - [Unity][Transform] Implement UpdateParamStructInfo * [#16331](https://github.com/apache/tvm/pull/16331) - [Unity] Alter op impl handling empty transform for output * [#16254](https://github.com/apache/tvm/pull/16254) - [Unity] Dispatch cumsum and sort * [#16120](https://github.com/apache/tvm/pull/16120) - [Unity][Transform] Extract partial-tuple-usage from FuseTIR * [#16311](https://github.com/apache/tvm/pull/16311) - [Unity] Validate struct info in relax::Call constructor * [#16333](https://github.com/apache/tvm/pull/16333) - [Unity] Fix nn.op.tensor_ir_op signature * [#16302](https://github.com/apache/tvm/pull/16302) - [Unity] Cutlass kernel compatibility with cmake 3.18+ ### Relay * [#16622](https://github.com/apache/tvm/pull/16622) - [ONNX] Fix the attribute mode parse of operator Upsample * [#16626](https://github.com/apache/tvm/pull/16626) - [ONNX] Fix the Resize operator in ONNX frontend * [#16624](https://github.com/apache/tvm/pull/16624) - [ONNX] fix the wrong default value about dtype in Multinomial converter * [#16417](https://github.com/apache/tvm/pull/16417) - [Frontend][Torch] fix pytorch frontend linspace op * [#16400](https://github.com/apache/tvm/pull/16400) - [Frontend][Torch] fix pytorch frontend not support logical or * [#16390](https://github.com/apache/tvm/pull/16390) - [Frontend][Torch] fix a typo mistake in nonzero_numpy * [#16324](https://github.com/apache/tvm/pull/16324) - make "ToScalar" support directly obtaining "int64_t" ### Runtime * [#16804](https://github.com/apache/tvm/pull/16804) - Introduce MSCCLPP with NCCL equivalent interface * [#16809](https://github.com/apache/tvm/pull/16809) - Add "TVM_DLL" to NVTX header * [#16750](https://github.com/apache/tvm/pull/16750) - CUDA IPC Memory support and custom allreduce kernels * [#16738](https://github.com/apache/tvm/pull/16738) - [Refactor]Always specify device in allocator interface * [#16716](https://github.com/apache/tvm/pull/16716) - Ensure NDArray.CopyTo(Device) always sync * [#16705](https://github.com/apache/tvm/pull/16705) - Add TVM_DLL to memory manager functions * [#16692](https://github.com/apache/tvm/pull/16692) - PagedKVCache execute data copy on a separate stream * [#16647](https://github.com/apache/tvm/pull/16647) - [RPC] Fix FreeObject in minrpc server * [#16667](https://github.com/apache/tvm/pull/16667) - [Builtin] Using float32 accumulation in attention kernel * [#16635](https://github.com/apache/tvm/pull/16635) - [RPC] Enable RPCObjectRef over multi-hop RPC * [#16630](https://github.com/apache/tvm/pull/16630) - Add TVM_DLL to threading backend funcs * [#16541](https://github.com/apache/tvm/pull/16541) - Add "TVM_DLL" to NDArray cache load func * [#16550](https://github.com/apache/tvm/pull/16550) - [ROCM] Properly align rocm parameter buffer * [#16545](https://github.com/apache/tvm/pull/16545) - Fix dtype conversion for bf16 and fp8 * [#16508](https://github.com/apache/tvm/pull/16508) - ParallelFor skipping thread backend for unit extent * [#16486](https://github.com/apache/tvm/pull/16486) - KV cache providing workspace for attn kernel * [#16456](https://github.com/apache/tvm/pull/16456) - [KVCache] AttentionWithFusedQKV and RoPE mode * [#16415](https://github.com/apache/tvm/pull/16415) - [Memory] Implement support for non-zero offset within a storage object in AllocNDArr… * [#16387](https://github.com/apache/tvm/pull/16387) - [RPC] Enable RPCObjectRef return in RPC * [#16377](https://github.com/apache/tvm/pull/16377) - Use cudaGetDeviceCount to check if device exists ### TIR * [#16832](https://github.com/apache/tvm/pull/16832) - Use constructor for new PrimFunc in TransformLayout * [#16543](https://github.com/apache/tvm/pull/16543) - Fix segfaults from ordering of Let/Assert in MakePackedAPI * [#16795](https://github.com/apache/tvm/pull/16795) - Ramp and Broadcast lanes fixed to int32 dtype * [#16767](https://github.com/apache/tvm/pull/16767) - [Driver] Use `BindTarget` to specify target for FP8 legalization * [#16742](https://github.com/apache/tvm/pull/16742) - [Bugfix]Fix cache_read update buffer region * [#16726](https://github.com/apache/tvm/pull/16726) - [Bugfix]Avoid overwrite of unmanaged buffer allocations * [#16548](https://github.com/apache/tvm/pull/16548) - [CUDA] Add native FP8 support to codegen * [#16723](https://github.com/apache/tvm/pull/16723) - Implement max/min_value for fp8 data types * [#16655](https://github.com/apache/tvm/pull/16655) - Improve well-formed check's handling of match buffer * [#16673](https://github.com/apache/tvm/pull/16673) - Support Vector Reinterpret Calls * [#16682](https://github.com/apache/tvm/pull/16682) - [Bugfix]Handle AttrStmt of upcoming tir.Var in ConvertSSA * [#16560](https://github.com/apache/tvm/pull/16560) - Enhance and fix tensorize schedule for some case * [#16660](https://github.com/apache/tvm/pull/16660) - [Bugfix]Fix duplicate AllocateConst in CacheReadWrite schedule primitive * [#16544](https://github.com/apache/tvm/pull/16544) - Expand debug symbol output for CodeGenLLVM * [#16553](https://github.com/apache/tvm/pull/16553) - Fix get_block_access_region for let bindings * [#16515](https://github.com/apache/tvm/pull/16515) - Require exactly same-dtype matching for Vulkan smem reuse * [#16406](https://github.com/apache/tvm/pull/16406) - Fix of inter thread reduction with shared memory prefetch * [#16293](https://github.com/apache/tvm/pull/16293) - Extend DP4A tensor intrin * [#16345](https://github.com/apache/tvm/pull/16345) - Allow sync threads inside condition * [#16250](https://github.com/apache/tvm/pull/16250) - In SplitHostDevice, check for variables in thread extents * [#16184](https://github.com/apache/tvm/pull/16184) - [Transform] Implement InlinePrivateFunctions ### TOPI * [#16652](https://github.com/apache/tvm/pull/16652) - improve inclusive_scan for thrust * [#16383](https://github.com/apache/tvm/pull/16383) - [Target] Add fp16 SIMD support for conv2d on `arm_cpu` targets ### TVMC * [#16261](https://github.com/apache/tvm/pull/16261) - Add tvmc flag to print ir before and print ir after named pass ### TVMScript * [#16864](https://github.com/apache/tvm/pull/16864) - Add parser and printer support for e4m3/e5m2 fp8 * [#16844](https://github.com/apache/tvm/pull/16844) - Produce empty DictAttrs when R.func_attrs is absent * [#16811](https://github.com/apache/tvm/pull/16811) - Do not throw error for duplicate definitions * [#16641](https://github.com/apache/tvm/pull/16641) - Allow use of relax.Expr with void type as a statement * [#16663](https://github.com/apache/tvm/pull/16663) - Infer T.reads() for DeclBuffer nodes * [#16640](https://github.com/apache/tvm/pull/16640) - Represent tir::builtin::ret() using python "return" * [#16562](https://github.com/apache/tvm/pull/16562) - [Bugfix]Handle R.match_cast as last binding in if/else * [#16593](https://github.com/apache/tvm/pull/16593) - [Unity]Parse R.Object return type from call_pure_packed * [#16356](https://github.com/apache/tvm/pull/16356) - [Unity]Optionally hide StructInfo that can be inferred * [#16379](https://github.com/apache/tvm/pull/16379) - [Unity]Update `call_packed` semantics to support empty sinfo_args ### Vulkan * [#16858](https://github.com/apache/tvm/pull/16858) - Fix CLZ support for Vulkan ### cuda & cutlass & tensorrt * [#16865](https://github.com/apache/tvm/pull/16865) - [Codegen, CUDA] Add handling of fp8 broadcast / const * [#16818](https://github.com/apache/tvm/pull/16818) - [Cutlass] Fix usage of cuda stream for group gemm * [#16788](https://github.com/apache/tvm/pull/16788) - [Cutlass] Add check for group gemm param shapes * [#16789](https://github.com/apache/tvm/pull/16789) - [Bugfix][Cutlass] Remove a typo in cutlass build * [#16787](https://github.com/apache/tvm/pull/16787) - [Codegen, Cuda] Add overload for fp8x4 e5m2 <-> half4 conversion * [#16751](https://github.com/apache/tvm/pull/16751) - [Cutlass] Add group gemm kernels * [#16736](https://github.com/apache/tvm/pull/16736) - [Target][CUDA] Allow non-numeric arch as needed for latest gpu * [#16619](https://github.com/apache/tvm/pull/16619) - [Bugfix][Cutlass] Check if function attributes is None * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. ### micoNPU * [#16266](https://github.com/apache/tvm/pull/16266) - [microNPU][ETHOSU] Add fixed point for tanh * [#16680](https://github.com/apache/tvm/pull/16680) - [microNPU][ETHOSU] Fix LUT size for int16 activations * [#16401](https://github.com/apache/tvm/pull/16401) - [microNPU][ETHOSU] Add fixed point for matmul ### web * [#16733](https://github.com/apache/tvm/pull/16733) - Support web indexDB cache for larger model storage * [#16810](https://github.com/apache/tvm/pull/16810) - Support building tvm/web on Windows * [#16825](https://github.com/apache/tvm/pull/16825) - Allow custom bc files in emcc making * [#16791](https://github.com/apache/tvm/pull/16791) - Add `kv_state` and `rnn_state` to wasm_runtime * [#16722](https://github.com/apache/tvm/pull/16722) - Implement linear congruential generator, make runtime seedable * [#16650](https://github.com/apache/tvm/pull/16650) - Seperate parallel shard download and iterative shard loading * [#16694](https://github.com/apache/tvm/pull/16694) - Initial support for asyncify * [#16631](https://github.com/apache/tvm/pull/16631) - Fix NDArrayCache loading report callback * [#16525](https://github.com/apache/tvm/pull/16525) - Move ArtifactCache to Interface, Support Cache delete and Batch Delete, Remove typo * [#16554](https://github.com/apache/tvm/pull/16554) - Compatibility with PagedKVCache in WebGPU * [#16527](https://github.com/apache/tvm/pull/16527) - Revert "[Unity]Temp disable wasm exception (#16444)" * [#16504](https://github.com/apache/tvm/pull/16504) - [Relax]Add ApplyPresenceAndRequencyPenalty * [#16485](https://github.com/apache/tvm/pull/16485) - [wasm] Enlarge initial memory for emcc * [#16444](https://github.com/apache/tvm/pull/16444) - [Unity]Temp disable wasm exception ### Misc * [#16873](https://github.com/apache/tvm/pull/16873) - [Thrust] Fix thrust workspace allocation * [#16868](https://github.com/apache/tvm/pull/16868) - [3rdparty] Bump flashinfer * [#16871](https://github.com/apache/tvm/pull/16871) - [PageKV] allow PopN to pop all the tokens in last block * [#16866](https://github.com/apache/tvm/pull/16866) - [3rdparty] Bump FlashInfer * [#16863](https://github.com/apache/tvm/pull/16863) - [Picojson] Let the key of objects in json be ordered by default * [#16856](https://github.com/apache/tvm/pull/16856) - [Thrust] Use pointer to tls pool to prevent creating new pool * [#16850](https://github.com/apache/tvm/pull/16850) - Fixing probability comment * [#16849](https://github.com/apache/tvm/pull/16849) - [KVCache] Initialize one extra page than specified * [#16843](https://github.com/apache/tvm/pull/16843) - [IR] Provide well-formed intermediate in ApplyPassToFunction * [#16772](https://github.com/apache/tvm/pull/16772) - [MSC][M5.3] Support torch.dynamo for dynamic models * [#16839](https://github.com/apache/tvm/pull/16839) - Bump pillow from 10.2.0 to 10.3.0 in /apps/microtvm/cmsisnn * [#16838](https://github.com/apache/tvm/pull/16838) - Bump pillow from 10.2.0 to 10.3.0 in /apps/microtvm/ethosu * [#16831](https://github.com/apache/tvm/pull/16831) - [KVCache] Reducing CacheAuxDataManager copy size * [#16794](https://github.com/apache/tvm/pull/16794) - [SME] Target parser support for SME * [#16824](https://github.com/apache/tvm/pull/16824) - [KVCache] Introducing auxiliary data manager * [#16800](https://github.com/apache/tvm/pull/16800) - [BugTIR]fix error merging shared memory for ptx_cp_async * [#16822](https://github.com/apache/tvm/pull/16822) - [VM] Recycle VMFrame * [#16813](https://github.com/apache/tvm/pull/16813) - [KVCache] Support forking sequence at specific posotion * [#16786](https://github.com/apache/tvm/pull/16786) - [Codegen] Add check to disable invalid reinterpret * [#16816](https://github.com/apache/tvm/pull/16816) - [Cmake] Allow using custom CCCL path for thrust * [#16784](https://github.com/apache/tvm/pull/16784) - [SLM] Add unit tests for SLM to Relax exporter * [#16814](https://github.com/apache/tvm/pull/16814) - Fix includes of custom allreduce kernel * [#16806](https://github.com/apache/tvm/pull/16806) - [Debug] Improve error message in VMShapeLower * [#16802](https://github.com/apache/tvm/pull/16802) - [Debug] Improve error messages in LiftTransformParams * [#16425](https://github.com/apache/tvm/pull/16425) - [Target] Use LLVM target parser for determining Arm(R) A-Profile Architecture features * [#16797](https://github.com/apache/tvm/pull/16797) - [3rdparty] AUTO mode for custom all-reduce strategy * [#16761](https://github.com/apache/tvm/pull/16761) - [SME] Add support for inserting processor state annotations * [#16778](https://github.com/apache/tvm/pull/16778) - [Analysis] Allow calls to GlobalVar in @R.function * [#16745](https://github.com/apache/tvm/pull/16745) - [IR] Default to empty attributes, instead of NULL * [#16777](https://github.com/apache/tvm/pull/16777) - Revert "[SLM] Allow modules to define pre-processing of weights" * [#16776](https://github.com/apache/tvm/pull/16776) - [Contrib] Remove thrust "built but not used" warning * [#16757](https://github.com/apache/tvm/pull/16757) - [SLM] Allow modules to define pre-processing of weights * [#16763](https://github.com/apache/tvm/pull/16763) - [CONTRIB] Add nm symbol dump * [#16717](https://github.com/apache/tvm/pull/16717) - Enable Shared Function in LiftTransformParam Pass * [#16729](https://github.com/apache/tvm/pull/16729) - [Builtin] Sliding window and sink support for PagedKVCache * [#16724](https://github.com/apache/tvm/pull/16724) - Fix cpp_rtvm cmake build on Windows * [#16513](https://github.com/apache/tvm/pull/16513) - [Target] Automatically detect system triple when not specified by the user * [#16710](https://github.com/apache/tvm/pull/16710) - [CMake] Add "USE_FLASHINFER" to libinfo * [#16702](https://github.com/apache/tvm/pull/16702) - [MSC][M5.2] Enable quantize && prune with gym by wrapper * [#16699](https://github.com/apache/tvm/pull/16699) - [Transform] Remove R.Object parameters after LazyTransformParams * [#16668](https://github.com/apache/tvm/pull/16668) - [MSC][M5.1] Build wrapper to support compression * [#16693](https://github.com/apache/tvm/pull/16693) - [Contrib] Support NDArray cache taking generator * [#16412](https://github.com/apache/tvm/pull/16412) - [Lint] Add check to prevent usage of #include <regex> * [#16689](https://github.com/apache/tvm/pull/16689) - [DeviceAPI] Support "GetCurrentStream" * [#16690](https://github.com/apache/tvm/pull/16690) - Use target name instead of node name as function name * [#16683](https://github.com/apache/tvm/pull/16683) - [skip ci] Fix wasm exception flag * [#16609](https://github.com/apache/tvm/pull/16609) - Minor update docs instructions * [#16656](https://github.com/apache/tvm/pull/16656) - Simplify Windows CMake Command * [#16666](https://github.com/apache/tvm/pull/16666) - [KVCache] Fix the reference counter in sequence fork * [#16662](https://github.com/apache/tvm/pull/16662) - Fixing workload comment * [#16595](https://github.com/apache/tvm/pull/16595) - [Transform] Check for zero-param operators in LiftTransformParams * [#16599](https://github.com/apache/tvm/pull/16599) - [Transform] De-duplicate MatchCast nodes in EliminateCommonSubexpr * [#16596](https://github.com/apache/tvm/pull/16596) - [Transform] Implement relax.transform.ReorderPermuteDimsAfterConcat * [#16597](https://github.com/apache/tvm/pull/16597) - [Transform] Allow explicit name of bundled model parameters * [#16602](https://github.com/apache/tvm/pull/16602) - [Transform] Improvements to LazyTransformParams * [#16606](https://github.com/apache/tvm/pull/16606) - [KVCache] Support passing in attn_score_scaling_factor into KV cache * [#16608](https://github.com/apache/tvm/pull/16608) - Extend gpu memory bandwidth test to work through RPC * [#16587](https://github.com/apache/tvm/pull/16587) - [Debug] Improve error message for codegen pattern mismatches * [#16570](https://github.com/apache/tvm/pull/16570) - [Marvell BYOC]: Marvell AI Accelerator Integration - Phase 1 * [#16576](https://github.com/apache/tvm/pull/16576) - Update the 3rdparty/libflash_attn submodule * [#16580](https://github.com/apache/tvm/pull/16580) - [KVCache] Support mode "None" for Rotary Embebdding * [#16578](https://github.com/apache/tvm/pull/16578) - [KVCache] Support returning query positions * [#16571](https://github.com/apache/tvm/pull/16571) - Fix compile warnings * [#16540](https://github.com/apache/tvm/pull/16540) - [Upd] Enable lld search to include /opt/rocm/llvm/bin for rocm * [#16539](https://github.com/apache/tvm/pull/16539) - Improve error message in NDArray::CopyFromTo * [#16524](https://github.com/apache/tvm/pull/16524) - [Build] Improving debug and build-dir options * [#16551](https://github.com/apache/tvm/pull/16551) - [KVCache] Fix attention kernel for ROCm * [#16512](https://github.com/apache/tvm/pull/16512) - Cut pytest-lazy-fixture * [#16506](https://github.com/apache/tvm/pull/16506) - Bump 3rdparty/cutlass_fpA_intB_gemm version * [#16511](https://github.com/apache/tvm/pull/16511) - [Minor] Fix Clang compilation warning in fuse_tir.cc and codegen_c_host.cc * [#16516](https://github.com/apache/tvm/pull/16516) - Add Relax, Unity Tags in make_notes.py * [#16497](https://github.com/apache/tvm/pull/16497) - [Instrument] Add default instrument to print all passes * [#16494](https://github.com/apache/tvm/pull/16494) - [DPL] Support tir_vars field in is_call_tir pattern * [#16453](https://github.com/apache/tvm/pull/16453) - Bump pillow from 10.0.1 to 10.2.0 in /apps/microtvm * [#16454](https://github.com/apache/tvm/pull/16454) - [BugTIR] fix thread_sync occurs in letstmt * [#16468](https://github.com/apache/tvm/pull/16468) - [LINT] Fix pylint issues in test_dma_builtin.py * [#16413](https://github.com/apache/tvm/pull/16413) - [Contrib] Workspace for cuBLAS backend * [#16460](https://github.com/apache/tvm/pull/16460) - [Cherry-pick][MSC][M4.1] Add plugin && plugin_builder, enable build and test in different frameworks (#16397) * [#16461](https://github.com/apache/tvm/pull/16461) - [Minor] Fix Docstring for sphinx-build * [#16431](https://github.com/apache/tvm/pull/16431) - [Schedule] Loop-Partition Scheduling Primitive * [#16451](https://github.com/apache/tvm/pull/16451) - Bump pillow from 10.0.1 to 10.2.0 in /apps/microtvm/ethosu * [#16452](https://github.com/apache/tvm/pull/16452) - Bump pillow from 10.0.1 to 10.2.0 in /apps/microtvm/cmsisnn * [#16445](https://github.com/apache/tvm/pull/16445) - [skip ci] update branch rule to prepare for unity transition * [#16426](https://github.com/apache/tvm/pull/16426) - [CMake] Enable cuda lang if USE_CUDA is on * [#16407](https://github.com/apache/tvm/pull/16407) - Add NVIDIA Hopper H100 target tag * [#16398](https://github.com/apache/tvm/pull/16398) - [DeviceAPI] Support querying total global memory * [#16357](https://github.com/apache/tvm/pull/16357) - [RPC] Fix tuning on macOS and Windows (#15771) * [#16386](https://github.com/apache/tvm/pull/16386) - [Thrust] Use no sync exec policy and caching allocator * [#16343](https://github.com/apache/tvm/pull/16343) - [CMake][MSVC] Disable permissive mode for MSVC builds * [#16242](https://github.com/apache/tvm/pull/16242) - [Codegen] Fix if_then_else codegen * [#16341](https://github.com/apache/tvm/pull/16341) - [CMake] Use ccache as CMAKE_CUDA_COMPILER_LAUNCHER * [#16332](https://github.com/apache/tvm/pull/16332) - Change metal dtype of ceil_log2 to fp32

Apache TVM v0.16.0.rc0v0.16.0.rc0预发布
? · 2024-04-21

# Introduction The TVM community has worked since the v0.15.0 release to deliver the following new exciting improvements! This release version is: - **First support of Relax**, with dynamic shape and pipeline - Dlight module for optimizing LLM TIR workloads on GPU - Disco module for initial SPMD multi-GPU support The main tags are below (**bold text is with lots of progress**): - Community, RFCs - Adreno, ArmComputeLibrary, Metal, cuda & cutlass & tensorrt, micoNPU, Runtime - **Relax**, **Dlight**, **Disco** - Arith, **TIR**, TVMScript - Docs, CI, **Misc**, **BugFix** Please visit the full listing of commits for a complete view: [v0.16.dev0...v0.16.0.rc0](https://github.com/apache/tvm/compare/v0.16.dev0...v0.16.0.rc0). ### Community * [#16695](https://github.com/apache/tvm/pull/16695) - Add new key for release signing * [#16419](https://github.com/apache/tvm/pull/16419) - Add new key for release signing ### RFCs This new RFC explores how TVM can be utilized to generate code for the SME ISA to achieve improved inference performance on supported Arm®-based hardware implementing the SME extension. * [#107](https://github.com/apache/tvm-rfcs/pull/107) - [RFC] Scalable Matrix Extension enablement ---- ### Arith * [#16735](https://github.com/apache/tvm/pull/16735) - [Fixup] Require feature flag for tighter inequality bounds * [#16588](https://github.com/apache/tvm/pull/16588) - Provide tighter ConstIntBounds for special cases * [#16704](https://github.com/apache/tvm/pull/16704) - [Fix]Fix canonical simplification of LE ### BYOC * [#16567](https://github.com/apache/tvm/pull/16567) - Skip processed functions in FuseOpsByPattern and RunCodegen ### BugFix * [#16766](https://github.com/apache/tvm/pull/16766) - [Target] Added null check to fix segfault at ->defined() in cpu.cc DetectSystemTriple() * [#16739](https://github.com/apache/tvm/pull/16739) - [Ansor] Fixing Ansor Gradient Bug * [#16820](https://github.com/apache/tvm/pull/16820) - [Fix] PAPI docs * [#16793](https://github.com/apache/tvm/pull/16793) - [Fix] fix for numpy 2.0 compatibility * [#16790](https://github.com/apache/tvm/pull/16790) - [Fix] Fix build errors with VS2022 * [#16780](https://github.com/apache/tvm/pull/16780) - [Fix] Fix numpy dtype map * [#16773](https://github.com/apache/tvm/pull/16773) - [Fix] Fix the purity flag of "vm.call_tir_dyn" and "kill" ops * [#16770](https://github.com/apache/tvm/pull/16770) - [Hotfix] Revert driver API pass ordering that breaks MLC, mark failing test * [#16771](https://github.com/apache/tvm/pull/16771) - [Fix] Remove redundant "remove_all_unused" in IPC memory lowering * [#16746](https://github.com/apache/tvm/pull/16746) - [Fix][Builtin] Fix "GetQueryPosition" of PagedKVCache * [#16728](https://github.com/apache/tvm/pull/16728) - [Fix] Introduce TVM_DEBUG_WITH_ABI_CHANGE to warn ABI changes in debug mode * [#16714](https://github.com/apache/tvm/pull/16714) - [Fix] PagedKVCache fetching compute stream when copy stream is needed * [#16684](https://github.com/apache/tvm/pull/16684) - [SLM] Produce well-formed Relax for nn.modules.KVCache * [#16659](https://github.com/apache/tvm/pull/16659) - add the default value for DFT in ONNX frontend * [#16637](https://github.com/apache/tvm/pull/16637) - [Transform] Preserve symbolic variables in FuseOps * [#16649](https://github.com/apache/tvm/pull/16649) - [FFI] Add a missing default for datatype lanes * [#16492](https://github.com/apache/tvm/pull/16492) - [Executor] fix debug_executor function debug_get_output * [#16598](https://github.com/apache/tvm/pull/16598) - [Transform]Handle non-composite lambda functions in FuseOps * [#16565](https://github.com/apache/tvm/pull/16565) - [Transform] Keep private non-primitive functions in FuseTIR * [#16518](https://github.com/apache/tvm/pull/16518) - Use x*x*x instead of pow(x,3) * [#16436](https://github.com/apache/tvm/pull/16436) - Ensure that bf16 arrays are created as expected * [#16361](https://github.com/apache/tvm/pull/16361) - Disable SingleEnvThreadVerifier * [#16289](https://github.com/apache/tvm/pull/16289) - [AUTOTVM][FIX] Typo fixes and add a warning in the Droplet Search ### CI * [#16837](https://github.com/apache/tvm/pull/16837) - Disable flaky unit test * [#16765](https://github.com/apache/tvm/pull/16765) - [AOT][Testing] Improve output mismatch information on test failure * [#16661](https://github.com/apache/tvm/pull/16661) - add merge_with_main in unity * [#16611](https://github.com/apache/tvm/pull/16611) - [AOT][Testing] Print output values on test failure * [#16546](https://github.com/apache/tvm/pull/16546) - Disable testing that downloads from mxnet * [#16521](https://github.com/apache/tvm/pull/16521) - Fix CI Script and Broken Tests * [#16502](https://github.com/apache/tvm/pull/16502) - Support tvm-bot rerun for tvm-unity task * [#16435](https://github.com/apache/tvm/pull/16435) - Update image tag to 20240126-070121-8ade9c30e * [#16420](https://github.com/apache/tvm/pull/16420) - [WASM] Update emsdk and nodejs version * [#16384](https://github.com/apache/tvm/pull/16384) - Remove NVIDIA_DISABLE_REQUIRE * [#16382](https://github.com/apache/tvm/pull/16382) - In jenkins.cmd_utils.Sh.tee, check for failing subprocess * [#16366](https://github.com/apache/tvm/pull/16366) - Upgrade sccache version to 0.7.* * [#16369](https://github.com/apache/tvm/pull/16369) - Upgrade Unity ci images * [#16344](https://github.com/apache/tvm/pull/16344) - Update docker images tag to 20240105-165030-51bdaec6 * [#16340](https://github.com/apache/tvm/pull/16340) - [Unity][UnitTest] Increase atol to resolve flaky CI failure * [#16337](https://github.com/apache/tvm/pull/16337) - [Hexagon][UnitTest] Disable flaky quantization test * [#16336](https://github.com/apache/tvm/pull/16336) - Upgrade cmake version to 3.24.0 ### Docker * [#16755](https://github.com/apache/tvm/pull/16755) - [SME]Add Fixed Virtual Platform (FVP) and toolchain install * [#16348](https://github.com/apache/tvm/pull/16348) - Upgrade pip in i386 container ### Dlight * [#16775](https://github.com/apache/tvm/pull/16775) - [Fix][Dlight] (Low-batched-)GeMV on small spatial loops * [#16429](https://github.com/apache/tvm/pull/16429) - [Unity][Dlight][Fix] Reduction rule support dyn-shape epilogue * [#16351](https://github.com/apache/tvm/pull/16351) - [Unity] Add dlight.gpu.Fallback in DispatchSortScan, add argsort, topk, and cumprod * [#16338](https://github.com/apache/tvm/pull/16338) - [Unity][DLight] Introduce Specific Rule for RMSNorm * [#16251](https://github.com/apache/tvm/pull/16251) - [Unity][Dlight] Support dlight gemv rule on nested inner block * [#16878](https://github.com/apache/tvm/pull/16878) - [Dlight] Enhance vectorization loading weight for gemv * [#16848](https://github.com/apache/tvm/pull/16848) - [DLight] Fix a corner case for reduction rule * [#16701](https://github.com/apache/tvm/pull/16701) - [Dlight] Add fallback for low batch gemv with outer reduction * [#16678](https://github.com/apache/tvm/pull/16678) - [Dlight] LowBatchGemv rule only apply to function with spatial symbolic var * [#16665](https://github.com/apache/tvm/pull/16665) - [Dlight] Skip GeMV when normalization fails * [#16579](https://github.com/apache/tvm/pull/16579) - [Dlight] Scheduling Low batch GEMM using GEMV-like rule * [#16579](https://github.com/apache/tvm/pull/16579) - [Dlight] Scheduling Low batch GEMM using GEMV-like rule * [#16321](https://github.com/apache/tvm/pull/16321) - [DLight] Skip rule if target is not suitable * [#16731](https://github.com/apache/tvm/pull/16731) - [Dlight] Fix GeMV shared memory estimation ### Docs * [#16792](https://github.com/apache/tvm/pull/16792) - [Doc] Fix set_axis_separator example * [#16610](https://github.com/apache/tvm/pull/16610) - [Doc] Fixed Docstring usage example in `tvm.ir.make_node` * [#16572](https://github.com/apache/tvm/pull/16572) - [Doc] Remove MxNet related tutorials * [#16514](https://github.com/apache/tvm/pull/16514) - [Unity][Doc] Document passes that depend on `DataflowBlock`s and encourage using `ConvertToDataflow` * [#16482](https://github.com/apache/tvm/pull/16482) - [Doc] Fix Docstring in `extern.py` for Sphinx * [#16346](https://github.com/apache/tvm/pull/16346) - [Doc] Fix minor error in "Expressions in Relay" ### Frontend * [#16001](https://github.com/apache/tvm/pull/16001) - [ONNX] Fix interpreting auto_pad parameters in ConvTranspose operator * [#16651](https://github.com/apache/tvm/pull/16651) - [PaddlePaddle] PaddlePaddle model with NCHW data format that supports quantization * [#16616](https://github.com/apache/tvm/pull/16616) - [PaddlePaddle] Support conv2d when data_format is NHWC * [#16526](https://github.com/apache/tvm/pull/16526) - [Keras] Enable Dense operator for any input dims * [#16478](https://github.com/apache/tvm/pull/16478) - [PaddlePaddle] Fixed the bug that prevented the model from being successfully converted to microTVM on MacOS ### Hexagon * [#16762](https://github.com/apache/tvm/pull/16762) - [VM]Cache operations when bypass mode is enabled * [#16706](https://github.com/apache/tvm/pull/16706) - [VM] Add buffers to `dma_wait` builtin * [#16448](https://github.com/apache/tvm/pull/16448) - [VM]Implement dma_copy and dma_wait builtin for hexagon ### LLVM * [#16782](https://github.com/apache/tvm/pull/16782) - [SVE] Support scalable vectors in LoopVectorizer * [#16812](https://github.com/apache/tvm/pull/16812) - Fix compilation failure due to minor change * [#16808](https://github.com/apache/tvm/pull/16808) - [Runtime]Fix errors during loading of target tags * [#16748](https://github.com/apache/tvm/pull/16748) - Lack of DWARF type is not an error * [#16696](https://github.com/apache/tvm/pull/16696) - [SVE] Add codegen support for scalable buffer accesses * [#15964](https://github.com/apache/tvm/pull/15964) - [RUNTIME] Add optional LLVM ORCJIT runtime executor * [#16612](https://github.com/apache/tvm/pull/16612) - [SVE] Add support for scalable data type strings * [#16523](https://github.com/apache/tvm/pull/16523) - [SVE] Change the dtype of Ramp and Broadcast lanes to PrimExpr * [#16484](https://github.com/apache/tvm/pull/16484) - [SVE] Add vscale builtin * [#16373](https://github.com/apache/tvm/pull/16373) - Update Host.h path ### MetaSchedule * [#16725](https://github.com/apache/tvm/pull/16725) - Make the `opt_level` of `tune_relay()` adjustable ### Metal * [#16713](https://github.com/apache/tvm/pull/16713) - [RUNTIME]Provide richer runtime when error happens * [#16605](https://github.com/apache/tvm/pull/16605) - [RUNTIME]Fix multithreading access of metal runtime * [#16438](https://github.com/apache/tvm/pull/16438) - Dispatch numerically stable tanh for metal ### OpenCL & CLML * [#16854](https://github.com/apache/tvm/pull/16854) - [OpenCL] Add OpenCL device for automatic target detection * [#16846](https://github.com/apache/tvm/pull/16846) - [Meta-Schedule][OpenCL] Enable MS tuning for Android OpenCL * [#16768](https://github.com/apache/tvm/pull/16768) - [RUNTIME][OPENCL] Bugfix for ciImage create with host ptr * [#16672](https://github.com/apache/tvm/pull/16672) - [CLML] Fix build TVM with CLML on MacOS * [#16328](https://github.com/apache/tvm/pull/16328) - [RUNTIME][CLML] Fix for Softmax op for 4D tensors * [#16394](https://github.com/apache/tvm/pull/16394) - [OpenCL][CMake] Fix OpenCL tests compilation ### ROCm * [#16441](https://github.com/apache/tvm/pull/16441) - [WebGPU] Intrin Dispatch: `tanh`, `erf`, `log` * [#16404](https://github.com/apache/tvm/pull/16404) - Some fixes of ROCm codegen ### Relax * [#16872](https://github.com/apache/tvm/pull/16872) - Enhance symbolic expr estimation in memory planning * [#16867](https://github.com/apache/tvm/pull/16867) - Dispatch sort/scan for non-cuda gpu backends * [#16852](https://github.com/apache/tvm/pull/16852) - Fix EliminiateCommonSubexpr removing alloc tensor * [#16851](https://github.com/apache/tvm/pull/16851) - [Relax,Topi] Allow passing workspace to thrust to avoid allocations * [#16841](https://github.com/apache/tvm/pull/16841) - Provide well-formed output in `transform.LazyGetInput` * [#16798](https://github.com/apache/tvm/pull/16798) - [Transform] Provide callback versions of LazyTransformParams * [#16801](https://github.com/apache/tvm/pull/16801) - Allow DeadCodeElimination within ApplyPassToFunction * [#16834](https://github.com/apache/tvm/pull/16834) - Capture symbolic vars in struct info of weights * [#16830](https://github.com/apache/tvm/pull/16830) - Share storage allocs among functions after cuda graph rewriting * [#16823](https://github.com/apache/tvm/pull/16823) - [VM] Refactor CUDA graph builtins as VM extension * [#16828](https://github.com/apache/tvm/pull/16828) - [Bugfix] Provide the full Expr to pattern-match rewriter * [#16805](https://github.com/apache/tvm/pull/16805) - [Bugfix]BlockBuilder may not assume unique input functions * [#16815](https://github.com/apache/tvm/pull/16815) - Enable capturing symbolic shapes in cuda graph * [#16642](https://github.com/apache/tvm/pull/16642) - Allow R.Prim('bool') in relax::If and assert_op * [#16796](https://github.com/apache/tvm/pull/16796) - Unit-test for structural equal of recursive function * [#16732](https://github.com/apache/tvm/pull/16732) - Allow composition of DFPattern replacements * [#16783](https://github.com/apache/tvm/pull/16783) - Improve CanonicalizeBindings in DataflowVar edge case * [#16721](https://github.com/apache/tvm/pull/16721) - Implement operators to inspec DLTensor::strides and offset * [#16730](https://github.com/apache/tvm/pull/16730) - Refactor PatternRewriter into separate Block/Expr mutators * [#16756](https://github.com/apache/tvm/pull/16756) - [IR]Improve highlighting in assert_structural_equal * [#16779](https://github.com/apache/tvm/pull/16779) - Improve malform error msg * [#16569](https://github.com/apache/tvm/pull/16569) - [Unity][Parser] Check well-formedness in the parser * [#16759](https://github.com/apache/tvm/pull/16759) - [Pass] Lowering passes for GPU IPC memory and allreduce * [#16697](https://github.com/apache/tvm/pull/16697) - Implement relax.transform.TopologicalSort * [#16658](https://github.com/apache/tvm/pull/16658) - Normalize use of void-type variable to inline R.tuple() * [#16711](https://github.com/apache/tvm/pull/16711) - [Frontend] Add op `tanh`, `exp`, `negative`, and `permute` * [#16703](https://github.com/apache/tvm/pull/16703) - [Fix]Fix top-p/top-k sampling kernel * [#16669](https://github.com/apache/tvm/pull/16669) - [Frontend][Onnx] add sum and globalavgpool 1d/3d op * [#16691](https://github.com/apache/tvm/pull/16691) - CUDA graph rewrite treating StringImm as static * [#16685](https://github.com/apache/tvm/pull/16685) - Implement StructInfoPattern for dataflow pattern matching * [#16681](https://github.com/apache/tvm/pull/16681) - [Frontend][Onnx] support MaxPool1/2/3D and AveragePool1/2/3D * [#16584](https://github.com/apache/tvm/pull/16584) - [Unity][TIR] Clear struct info when specializing PrimFunc * [#16676](https://github.com/apache/tvm/pull/16676) - Remove the legalization of cumsum/cumprob * [#16654](https://github.com/apache/tvm/pull/16654) - [Frontend][NN] Add support for Conv3D * [#16674](https://github.com/apache/tvm/pull/16674) - Eager free original weights in transform_params * [#16675](https://github.com/apache/tvm/pull/16675) - add sample_indices in sampling * [#16648](https://github.com/apache/tvm/pull/16648) - [Runtime] Support Unpack API for NDArrayCache * [#16591](https://github.com/apache/tvm/pull/16591) - [Unity][Transform] Handle dynamic shapes in CombineParallelMatmul * [#16594](https://github.com/apache/tvm/pull/16594) - [Transform] Preserve param names in LiftTransformParams * [#16575](https://github.com/apache/tvm/pull/16575) - [Unity] GPU sampling * [#16574](https://github.com/apache/tvm/pull/16574) - Additional unit tests for RemoveUnusedParameters * [#16585](https://github.com/apache/tvm/pull/16585) - [Unity][Analysis] Include impure call in VerifyWellFormed errors * [#16421](https://github.com/apache/tvm/pull/16421) - [Unity][Transform] Raise error in FuseOpsByPattern for SSA violation * [#16629](https://github.com/apache/tvm/pull/16629) - Fix error message in BlockBuilder * [#16592](https://github.com/apache/tvm/pull/16592) - Handle dynamic arguments in legalization of nn.attention * [#16590](https://github.com/apache/tvm/pull/16590) - [Unity][Transform] Check for permute_dims in ExpandMatmulOfSum * [#16604](https://github.com/apache/tvm/pull/16604) - [Frontend][Onnx] fix clip unsqueeze opset implement * [#16568](https://github.com/apache/tvm/pull/16568) - [Runtime] RNNState for Space State Models * [#16563](https://github.com/apache/tvm/pull/16563) - Implement operators to read runtime DLTensor* information * [#16581](https://github.com/apache/tvm/pull/16581) - [Unity][MSC][M4.2][Step2] Enable plugin with manager, test plugins in compile pipeline * [#16600](https://github.com/apache/tvm/pull/16600) - Expose name_hint field for BlockBuilder.match_cast * [#16601](https://github.com/apache/tvm/pull/16601) - [Transform] Canonicalize `let var = R.const` bindings * [#16583](https://github.com/apache/tvm/pull/16583) - [Unity][VM] Recursively visit match bindings in VMShapeLowerMutator * [#16586](https://github.com/apache/tvm/pull/16586) - Ignore non-relax functions in relax.transform.RunCodegen * [#16573](https://github.com/apache/tvm/pull/16573) - [VM] Re-implementation of callback functions * [#16561](https://github.com/apache/tvm/pull/16561) - [Bugfix]Remove call to tvm.build for empty TIR module * [#16564](https://github.com/apache/tvm/pull/16564) - [Unity] Check for symbolic vars in PrimValue in when lowering to TIR * [#16558](https://github.com/apache/tvm/pull/16558) - Minor updates for NN frontend * [#16542](https://github.com/apache/tvm/pull/16542) - Support callback as argument * [#16487](https://github.com/apache/tvm/pull/16487) - [Unity][Transform] Handle `call_tir_inplace` in `FuseTIR` and `FuseOps` * [#16355](https://github.com/apache/tvm/pull/16355) - [Unity] Infer struct info for relax.op.split on dynamic-sized index * [#16465](https://github.com/apache/tvm/pull/16465) - [Redo][Unity] Split DecomposeOpsForTraining into two steps * [#16495](https://github.com/apache/tvm/pull/16495) - [Unity][MSC][M4.2][Step1] Enable plugin with manager, test plugins in compile pipeline * [#16498](https://github.com/apache/tvm/pull/16498) - [Frontent] "tensor_ir_inplace" op * [#16500](https://github.com/apache/tvm/pull/16500) - [Unity] Support storage reuse for dynamic shapes * [#16493](https://github.com/apache/tvm/pull/16493) - [Pass] Skip data type node for CSE pass * [#16467](https://github.com/apache/tvm/pull/16467) - [Unity][MSC][Refactor] Reconstruct BYOC and runner * [#16422](https://github.com/apache/tvm/pull/16422) - [Unity][CodeGen] RunCodegen based on externally-exposed functions * [#16483](https://github.com/apache/tvm/pull/16483) - [Unity][Frontend] Add Sigmoid and Square Op * [#16472](https://github.com/apache/tvm/pull/16472) - [Unity] Improved error message in tvm::relax::UpdateStructInfo * [#16473](https://github.com/apache/tvm/pull/16473) - [Unity] Improve error message in tensor_to_shape struct inference * [#16466](https://github.com/apache/tvm/pull/16466) - Memory planning for "partially dynamic" shapes * [#16464](https://github.com/apache/tvm/pull/16464) - NDArray Cache Update with DLTensor Support * [#16315](https://github.com/apache/tvm/pull/16315) - [Unity][Transform] Implement relax.transform.ReorderTakeAfterMatmul * [#16313](https://github.com/apache/tvm/pull/16313) - [Unity][Transform] Implement relax.transform.ExpandMatmulOfSum * [#16411](https://github.com/apache/tvm/pull/16411) - [Unity][Transform] Handle symbolic variables in LambdaLift * [#16443](https://github.com/apache/tvm/pull/16443) - [Unity][FIX] fix thread dtype mismatch * [#16442](https://github.com/apache/tvm/pull/16442) - Revert "[Unity] Split DecomposeOpsForTraining into two steps" * [#16437](https://github.com/apache/tvm/pull/16437) - [Unity] Improve buffer allocation for handling duplicated buffer names. * [#16439](https://github.com/apache/tvm/pull/16439) - [Unity] Support cumsum with pure int32 * [#16432](https://github.com/apache/tvm/pull/16432) - [Unity] downgrade cmake version requirement * [#16427](https://github.com/apache/tvm/pull/16427) - [Unity][Frontend][NN] Better support for dynamic convolutions * [#16418](https://github.com/apache/tvm/pull/16418) - [Unity][Fix] Fix mismatched intrinsic name * [#16129](https://github.com/apache/tvm/pull/16129) - [Unity][Transform] Replace eligible operators with in-place versions in dataflow blocks * [#16414](https://github.com/apache/tvm/pull/16414) - [Bugfix][Unity] Recover MSVC/NVCC/ROCm/Vulkan * [#15954](https://github.com/apache/tvm/pull/15954) - [Unity] Split DecomposeOpsForTraining into two steps * [#16111](https://github.com/apache/tvm/pull/16111) - [Unity][Transform] Memory planning for dynamic-shape func return * [#16396](https://github.com/apache/tvm/pull/16396) - [Unity] PagedKVCache supporting on-the-fly RoPE calculation * [#16395](https://github.com/apache/tvm/pull/16395) - [Frontend][ONNX]fix onnx frontend parse * [#16385](https://github.com/apache/tvm/pull/16385) - [Unity][Op] Add Conv3D Operator * [#16284](https://github.com/apache/tvm/pull/16284) - [Unity][nnModule] Dynamic shape support in nn Module * [#16378](https://github.com/apache/tvm/pull/16378) - [Unity][BlockBuilder] Restore bb.get() * [#16374](https://github.com/apache/tvm/pull/16374) - [Unity] Support TIR kernel for PagedKVCache * [#16314](https://github.com/apache/tvm/pull/16314) - [Unity][Transform] Implement relax.transform.AdjustMatmulOrder * [#16349](https://github.com/apache/tvm/pull/16349) - [Unity][MSC] Avoid depending on trivial bindings in Relax intermediate * [#16376](https://github.com/apache/tvm/pull/16376) - [Unity][Contrib] Fix a bug due to typo in vllm `reconstruct_from_cache` kernel and add test * [#16388](https://github.com/apache/tvm/pull/16388) - [Unity] Update dispatch test cases following the merge from main * [#16335](https://github.com/apache/tvm/pull/16335) - [Unity] Set CMAKE_CUDA_ARCHITECTURES default to native * [#16306](https://github.com/apache/tvm/pull/16306) - [Unity][Transform] Update LambdaLift to use name of lifted lambda * [#16310](https://github.com/apache/tvm/pull/16310) - [Unity][Analysis] Show objects instead of names in WellFormedChecker * [#16362](https://github.com/apache/tvm/pull/16362) - [Unity][Fix] Memory planning check value type of 'tir_var_upper_bound' * [#16367](https://github.com/apache/tvm/pull/16367) - [Unity][Transform] Handle replacement at both var binding and usage * [#16309](https://github.com/apache/tvm/pull/16309) - [Unity][Transform] Use parameter name in BundleModelParams * [#16307](https://github.com/apache/tvm/pull/16307) - [Unity] Improved error message in ExprMutator::ReEmitBinding * [#16308](https://github.com/apache/tvm/pull/16308) - [Unity] Improved error message for matmul shape mismatch * [#16360](https://github.com/apache/tvm/pull/16360) - [Unity] Enhance Torch-consistency in rehsape * [#16350](https://github.com/apache/tvm/pull/16350) - [Unity][Contrib] Add vLLM paged attention kernel * [#16303](https://github.com/apache/tvm/pull/16303) - [Unity][NN] Use Linear name for nn.op.permute_dims * [#16325](https://github.com/apache/tvm/pull/16325) - [Unity][MSC][Legalize] legalize codes and mute logging * [#16312](https://github.com/apache/tvm/pull/16312) - [Unity][Analysis] Add utility for collecting compile-time bindings * [#16330](https://github.com/apache/tvm/pull/16330) - [Unity][WEBGPU] Enable wasm exception propagation * [#16304](https://github.com/apache/tvm/pull/16304) - [Unity][Analysis] Handle PrimStructInfo in EraseToWellDefined * [#16305](https://github.com/apache/tvm/pull/16305) - [Unity][Transform] Implement UpdateParamStructInfo * [#16331](https://github.com/apache/tvm/pull/16331) - [Unity] Alter op impl handling empty transform for output * [#16254](https://github.com/apache/tvm/pull/16254) - [Unity] Dispatch cumsum and sort * [#16120](https://github.com/apache/tvm/pull/16120) - [Unity][Transform] Extract partial-tuple-usage from FuseTIR * [#16311](https://github.com/apache/tvm/pull/16311) - [Unity] Validate struct info in relax::Call constructor * [#16333](https://github.com/apache/tvm/pull/16333) - [Unity] Fix nn.op.tensor_ir_op signature * [#16302](https://github.com/apache/tvm/pull/16302) - [Unity] Cutlass kernel compatibility with cmake 3.18+ ### Relay * [#16622](https://github.com/apache/tvm/pull/16622) - [ONNX] Fix the attribute mode parse of operator Upsample * [#16626](https://github.com/apache/tvm/pull/16626) - [ONNX] Fix the Resize operator in ONNX frontend * [#16624](https://github.com/apache/tvm/pull/16624) - [ONNX] fix the wrong default value about dtype in Multinomial converter * [#16417](https://github.com/apache/tvm/pull/16417) - [Frontend][Torch] fix pytorch frontend linspace op * [#16400](https://github.com/apache/tvm/pull/16400) - [Frontend][Torch] fix pytorch frontend not support logical or * [#16390](https://github.com/apache/tvm/pull/16390) - [Frontend][Torch] fix a typo mistake in nonzero_numpy * [#16324](https://github.com/apache/tvm/pull/16324) - make "ToScalar" support directly obtaining "int64_t" ### Runtime * [#16804](https://github.com/apache/tvm/pull/16804) - Introduce MSCCLPP with NCCL equivalent interface * [#16809](https://github.com/apache/tvm/pull/16809) - Add "TVM_DLL" to NVTX header * [#16750](https://github.com/apache/tvm/pull/16750) - CUDA IPC Memory support and custom allreduce kernels * [#16738](https://github.com/apache/tvm/pull/16738) - [Refactor]Always specify device in allocator interface * [#16716](https://github.com/apache/tvm/pull/16716) - Ensure NDArray.CopyTo(Device) always sync * [#16705](https://github.com/apache/tvm/pull/16705) - Add TVM_DLL to memory manager functions * [#16692](https://github.com/apache/tvm/pull/16692) - PagedKVCache execute data copy on a separate stream * [#16647](https://github.com/apache/tvm/pull/16647) - [RPC] Fix FreeObject in minrpc server * [#16667](https://github.com/apache/tvm/pull/16667) - [Builtin] Using float32 accumulation in attention kernel * [#16635](https://github.com/apache/tvm/pull/16635) - [RPC] Enable RPCObjectRef over multi-hop RPC * [#16630](https://github.com/apache/tvm/pull/16630) - Add TVM_DLL to threading backend funcs * [#16541](https://github.com/apache/tvm/pull/16541) - Add "TVM_DLL" to NDArray cache load func * [#16550](https://github.com/apache/tvm/pull/16550) - [ROCM] Properly align rocm parameter buffer * [#16545](https://github.com/apache/tvm/pull/16545) - Fix dtype conversion for bf16 and fp8 * [#16508](https://github.com/apache/tvm/pull/16508) - ParallelFor skipping thread backend for unit extent * [#16486](https://github.com/apache/tvm/pull/16486) - KV cache providing workspace for attn kernel * [#16456](https://github.com/apache/tvm/pull/16456) - [KVCache] AttentionWithFusedQKV and RoPE mode * [#16415](https://github.com/apache/tvm/pull/16415) - [Memory] Implement support for non-zero offset within a storage object in AllocNDArr… * [#16387](https://github.com/apache/tvm/pull/16387) - [RPC] Enable RPCObjectRef return in RPC * [#16377](https://github.com/apache/tvm/pull/16377) - Use cudaGetDeviceCount to check if device exists ### TIR * [#16832](https://github.com/apache/tvm/pull/16832) - Use constructor for new PrimFunc in TransformLayout * [#16543](https://github.com/apache/tvm/pull/16543) - Fix segfaults from ordering of Let/Assert in MakePackedAPI * [#16795](https://github.com/apache/tvm/pull/16795) - Ramp and Broadcast lanes fixed to int32 dtype * [#16767](https://github.com/apache/tvm/pull/16767) - [Driver] Use `BindTarget` to specify target for FP8 legalization * [#16742](https://github.com/apache/tvm/pull/16742) - [Bugfix]Fix cache_read update buffer region * [#16726](https://github.com/apache/tvm/pull/16726) - [Bugfix]Avoid overwrite of unmanaged buffer allocations * [#16548](https://github.com/apache/tvm/pull/16548) - [CUDA] Add native FP8 support to codegen * [#16723](https://github.com/apache/tvm/pull/16723) - Implement max/min_value for fp8 data types * [#16655](https://github.com/apache/tvm/pull/16655) - Improve well-formed check's handling of match buffer * [#16673](https://github.com/apache/tvm/pull/16673) - Support Vector Reinterpret Calls * [#16682](https://github.com/apache/tvm/pull/16682) - [Bugfix]Handle AttrStmt of upcoming tir.Var in ConvertSSA * [#16560](https://github.com/apache/tvm/pull/16560) - Enhance and fix tensorize schedule for some case * [#16660](https://github.com/apache/tvm/pull/16660) - [Bugfix]Fix duplicate AllocateConst in CacheReadWrite schedule primitive * [#16544](https://github.com/apache/tvm/pull/16544) - Expand debug symbol output for CodeGenLLVM * [#16553](https://github.com/apache/tvm/pull/16553) - Fix get_block_access_region for let bindings * [#16515](https://github.com/apache/tvm/pull/16515) - Require exactly same-dtype matching for Vulkan smem reuse * [#16406](https://github.com/apache/tvm/pull/16406) - Fix of inter thread reduction with shared memory prefetch * [#16293](https://github.com/apache/tvm/pull/16293) - Extend DP4A tensor intrin * [#16345](https://github.com/apache/tvm/pull/16345) - Allow sync threads inside condition * [#16250](https://github.com/apache/tvm/pull/16250) - In SplitHostDevice, check for variables in thread extents * [#16184](https://github.com/apache/tvm/pull/16184) - [Transform] Implement InlinePrivateFunctions ### TOPI * [#16652](https://github.com/apache/tvm/pull/16652) - improve inclusive_scan for thrust * [#16383](https://github.com/apache/tvm/pull/16383) - [Target] Add fp16 SIMD support for conv2d on `arm_cpu` targets ### TVMC * [#16261](https://github.com/apache/tvm/pull/16261) - Add tvmc flag to print ir before and print ir after named pass ### TVMScript * [#16864](https://github.com/apache/tvm/pull/16864) - Add parser and printer support for e4m3/e5m2 fp8 * [#16844](https://github.com/apache/tvm/pull/16844) - Produce empty DictAttrs when R.func_attrs is absent * [#16811](https://github.com/apache/tvm/pull/16811) - Do not throw error for duplicate definitions * [#16641](https://github.com/apache/tvm/pull/16641) - Allow use of relax.Expr with void type as a statement * [#16663](https://github.com/apache/tvm/pull/16663) - Infer T.reads() for DeclBuffer nodes * [#16640](https://github.com/apache/tvm/pull/16640) - Represent tir::builtin::ret() using python "return" * [#16562](https://github.com/apache/tvm/pull/16562) - [Bugfix]Handle R.match_cast as last binding in if/else * [#16593](https://github.com/apache/tvm/pull/16593) - [Unity]Parse R.Object return type from call_pure_packed * [#16356](https://github.com/apache/tvm/pull/16356) - [Unity]Optionally hide StructInfo that can be inferred * [#16379](https://github.com/apache/tvm/pull/16379) - [Unity]Update `call_packed` semantics to support empty sinfo_args ### Vulkan * [#16858](https://github.com/apache/tvm/pull/16858) - Fix CLZ support for Vulkan ### cuda & cutlass & tensorrt * [#16865](https://github.com/apache/tvm/pull/16865) - [Codegen, CUDA] Add handling of fp8 broadcast / const * [#16818](https://github.com/apache/tvm/pull/16818) - [Cutlass] Fix usage of cuda stream for group gemm * [#16788](https://github.com/apache/tvm/pull/16788) - [Cutlass] Add check for group gemm param shapes * [#16789](https://github.com/apache/tvm/pull/16789) - [Bugfix][Cutlass] Remove a typo in cutlass build * [#16787](https://github.com/apache/tvm/pull/16787) - [Codegen, Cuda] Add overload for fp8x4 e5m2 <-> half4 conversion * [#16751](https://github.com/apache/tvm/pull/16751) - [Cutlass] Add group gemm kernels * [#16736](https://github.com/apache/tvm/pull/16736) - [Target][CUDA] Allow non-numeric arch as needed for latest gpu * [#16619](https://github.com/apache/tvm/pull/16619) - [Bugfix][Cutlass] Check if function attributes is None * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. * [#16342](https://github.com/apache/tvm/pull/16342) - [CUDA] Simple extend to optimize reuse for static shared memory. ### micoNPU * [#16266](https://github.com/apache/tvm/pull/16266) - [microNPU][ETHOSU] Add fixed point for tanh * [#16680](https://github.com/apache/tvm/pull/16680) - [microNPU][ETHOSU] Fix LUT size for int16 activations * [#16401](https://github.com/apache/tvm/pull/16401) - [microNPU][ETHOSU] Add fixed point for matmul ### web * [#16733](https://github.com/apache/tvm/pull/16733) - Support web indexDB cache for larger model storage * [#16810](https://github.com/apache/tvm/pull/16810) - Support building tvm/web on Windows * [#16825](https://github.com/apache/tvm/pull/16825) - Allow custom bc files in emcc making * [#16791](https://github.com/apache/tvm/pull/16791) - Add `kv_state` and `rnn_state` to wasm_runtime * [#16722](https://github.com/apache/tvm/pull/16722) - Implement linear congruential generator, make runtime seedable * [#16650](https://github.com/apache/tvm/pull/16650) - Seperate parallel shard download and iterative shard loading * [#16694](https://github.com/apache/tvm/pull/16694) - Initial support for asyncify * [#16631](https://github.com/apache/tvm/pull/16631) - Fix NDArrayCache loading report callback * [#16525](https://github.com/apache/tvm/pull/16525) - Move ArtifactCache to Interface, Support Cache delete and Batch Delete, Remove typo * [#16554](https://github.com/apache/tvm/pull/16554) - Compatibility with PagedKVCache in WebGPU * [#16527](https://github.com/apache/tvm/pull/16527) - Revert "[Unity]Temp disable wasm exception (#16444)" * [#16504](https://github.com/apache/tvm/pull/16504) - [Relax]Add ApplyPresenceAndRequencyPenalty * [#16485](https://github.com/apache/tvm/pull/16485) - [wasm] Enlarge initial memory for emcc * [#16444](https://github.com/apache/tvm/pull/16444) - [Unity]Temp disable wasm exception ### Misc * [#16873](https://github.com/apache/tvm/pull/16873) - [Thrust] Fix thrust workspace allocation * [#16868](https://github.com/apache/tvm/pull/16868) - [3rdparty] Bump flashinfer * [#16871](https://github.com/apache/tvm/pull/16871) - [PageKV] allow PopN to pop all the tokens in last block * [#16866](https://github.com/apache/tvm/pull/16866) - [3rdparty] Bump FlashInfer * [#16863](https://github.com/apache/tvm/pull/16863) - [Picojson] Let the key of objects in json be ordered by default * [#16856](https://github.com/apache/tvm/pull/16856) - [Thrust] Use pointer to tls pool to prevent creating new pool * [#16850](https://github.com/apache/tvm/pull/16850) - Fixing probability comment * [#16849](https://github.com/apache/tvm/pull/16849) - [KVCache] Initialize one extra page than specified * [#16843](https://github.com/apache/tvm/pull/16843) - [IR] Provide well-formed intermediate in ApplyPassToFunction * [#16772](https://github.com/apache/tvm/pull/16772) - [MSC][M5.3] Support torch.dynamo for dynamic models * [#16839](https://github.com/apache/tvm/pull/16839) - Bump pillow from 10.2.0 to 10.3.0 in /apps/microtvm/cmsisnn * [#16838](https://github.com/apache/tvm/pull/16838) - Bump pillow from 10.2.0 to 10.3.0 in /apps/microtvm/ethosu * [#16831](https://github.com/apache/tvm/pull/16831) - [KVCache] Reducing CacheAuxDataManager copy size * [#16794](https://github.com/apache/tvm/pull/16794) - [SME] Target parser support for SME * [#16824](https://github.com/apache/tvm/pull/16824) - [KVCache] Introducing auxiliary data manager * [#16800](https://github.com/apache/tvm/pull/16800) - [BugTIR]fix error merging shared memory for ptx_cp_async * [#16822](https://github.com/apache/tvm/pull/16822) - [VM] Recycle VMFrame * [#16813](https://github.com/apache/tvm/pull/16813) - [KVCache] Support forking sequence at specific posotion * [#16786](https://github.com/apache/tvm/pull/16786) - [Codegen] Add check to disable invalid reinterpret * [#16816](https://github.com/apache/tvm/pull/16816) - [Cmake] Allow using custom CCCL path for thrust * [#16784](https://github.com/apache/tvm/pull/16784) - [SLM] Add unit tests for SLM to Relax exporter * [#16814](https://github.com/apache/tvm/pull/16814) - Fix includes of custom allreduce kernel * [#16806](https://github.com/apache/tvm/pull/16806) - [Debug] Improve error message in VMShapeLower * [#16802](https://github.com/apache/tvm/pull/16802) - [Debug] Improve error messages in LiftTransformParams * [#16425](https://github.com/apache/tvm/pull/16425) - [Target] Use LLVM target parser for determining Arm(R) A-Profile Architecture features * [#16797](https://github.com/apache/tvm/pull/16797) - [3rdparty] AUTO mode for custom all-reduce strategy * [#16761](https://github.com/apache/tvm/pull/16761) - [SME] Add support for inserting processor state annotations * [#16778](https://github.com/apache/tvm/pull/16778) - [Analysis] Allow calls to GlobalVar in @R.function * [#16745](https://github.com/apache/tvm/pull/16745) - [IR] Default to empty attributes, instead of NULL * [#16777](https://github.com/apache/tvm/pull/16777) - Revert "[SLM] Allow modules to define pre-processing of weights" * [#16776](https://github.com/apache/tvm/pull/16776) - [Contrib] Remove thrust "built but not used" warning * [#16757](https://github.com/apache/tvm/pull/16757) - [SLM] Allow modules to define pre-processing of weights * [#16763](https://github.com/apache/tvm/pull/16763) - [CONTRIB] Add nm symbol dump * [#16717](https://github.com/apache/tvm/pull/16717) - Enable Shared Function in LiftTransformParam Pass * [#16729](https://github.com/apache/tvm/pull/16729) - [Builtin] Sliding window and sink support for PagedKVCache * [#16724](https://github.com/apache/tvm/pull/16724) - Fix cpp_rtvm cmake build on Windows * [#16513](https://github.com/apache/tvm/pull/16513) - [Target] Automatically detect system triple when not specified by the user * [#16710](https://github.com/apache/tvm/pull/16710) - [CMake] Add "USE_FLASHINFER" to libinfo * [#16702](https://github.com/apache/tvm/pull/16702) - [MSC][M5.2] Enable quantize && prune with gym by wrapper * [#16699](https://github.com/apache/tvm/pull/16699) - [Transform] Remove R.Object parameters after LazyTransformParams * [#16668](https://github.com/apache/tvm/pull/16668) - [MSC][M5.1] Build wrapper to support compression * [#16693](https://github.com/apache/tvm/pull/16693) - [Contrib] Support NDArray cache taking generator * [#16412](https://github.com/apache/tvm/pull/16412) - [Lint] Add check to prevent usage of #include <regex> * [#16689](https://github.com/apache/tvm/pull/16689) - [DeviceAPI] Support "GetCurrentStream" * [#16690](https://github.com/apache/tvm/pull/16690) - Use target name instead of node name as function name * [#16683](https://github.com/apache/tvm/pull/16683) - [skip ci] Fix wasm exception flag * [#16609](https://github.com/apache/tvm/pull/16609) - Minor update docs instructions * [#16656](https://github.com/apache/tvm/pull/16656) - Simplify Windows CMake Command * [#16666](https://github.com/apache/tvm/pull/16666) - [KVCache] Fix the reference counter in sequence fork * [#16662](https://github.com/apache/tvm/pull/16662) - Fixing workload comment * [#16595](https://github.com/apache/tvm/pull/16595) - [Transform] Check for zero-param operators in LiftTransformParams * [#16599](https://github.com/apache/tvm/pull/16599) - [Transform] De-duplicate MatchCast nodes in EliminateCommonSubexpr * [#16596](https://github.com/apache/tvm/pull/16596) - [Transform] Implement relax.transform.ReorderPermuteDimsAfterConcat * [#16597](https://github.com/apache/tvm/pull/16597) - [Transform] Allow explicit name of bundled model parameters * [#16602](https://github.com/apache/tvm/pull/16602) - [Transform] Improvements to LazyTransformParams * [#16606](https://github.com/apache/tvm/pull/16606) - [KVCache] Support passing in attn_score_scaling_factor into KV cache * [#16608](https://github.com/apache/tvm/pull/16608) - Extend gpu memory bandwidth test to work through RPC * [#16587](https://github.com/apache/tvm/pull/16587) - [Debug] Improve error message for codegen pattern mismatches * [#16570](https://github.com/apache/tvm/pull/16570) - [Marvell BYOC]: Marvell AI Accelerator Integration - Phase 1 * [#16576](https://github.com/apache/tvm/pull/16576) - Update the 3rdparty/libflash_attn submodule * [#16580](https://github.com/apache/tvm/pull/16580) - [KVCache] Support mode "None" for Rotary Embebdding * [#16578](https://github.com/apache/tvm/pull/16578) - [KVCache] Support returning query positions * [#16571](https://github.com/apache/tvm/pull/16571) - Fix compile warnings * [#16540](https://github.com/apache/tvm/pull/16540) - [Upd] Enable lld search to include /opt/rocm/llvm/bin for rocm * [#16539](https://github.com/apache/tvm/pull/16539) - Improve error message in NDArray::CopyFromTo * [#16524](https://github.com/apache/tvm/pull/16524) - [Build] Improving debug and build-dir options * [#16551](https://github.com/apache/tvm/pull/16551) - [KVCache] Fix attention kernel for ROCm * [#16512](https://github.com/apache/tvm/pull/16512) - Cut pytest-lazy-fixture * [#16506](https://github.com/apache/tvm/pull/16506) - Bump 3rdparty/cutlass_fpA_intB_gemm version * [#16511](https://github.com/apache/tvm/pull/16511) - [Minor] Fix Clang compilation warning in fuse_tir.cc and codegen_c_host.cc * [#16516](https://github.com/apache/tvm/pull/16516) - Add Relax, Unity Tags in make_notes.py * [#16497](https://github.com/apache/tvm/pull/16497) - [Instrument] Add default instrument to print all passes * [#16494](https://github.com/apache/tvm/pull/16494) - [DPL] Support tir_vars field in is_call_tir pattern * [#16453](https://github.com/apache/tvm/pull/16453) - Bump pillow from 10.0.1 to 10.2.0 in /apps/microtvm * [#16454](https://github.com/apache/tvm/pull/16454) - [BugTIR] fix thread_sync occurs in letstmt * [#16468](https://github.com/apache/tvm/pull/16468) - [LINT] Fix pylint issues in test_dma_builtin.py * [#16413](https://github.com/apache/tvm/pull/16413) - [Contrib] Workspace for cuBLAS backend * [#16460](https://github.com/apache/tvm/pull/16460) - [Cherry-pick][MSC][M4.1] Add plugin && plugin_builder, enable build and test in different frameworks (#16397) * [#16461](https://github.com/apache/tvm/pull/16461) - [Minor] Fix Docstring for sphinx-build * [#16431](https://github.com/apache/tvm/pull/16431) - [Schedule] Loop-Partition Scheduling Primitive * [#16451](https://github.com/apache/tvm/pull/16451) - Bump pillow from 10.0.1 to 10.2.0 in /apps/microtvm/ethosu * [#16452](https://github.com/apache/tvm/pull/16452) - Bump pillow from 10.0.1 to 10.2.0 in /apps/microtvm/cmsisnn * [#16445](https://github.com/apache/tvm/pull/16445) - [skip ci] update branch rule to prepare for unity transition * [#16426](https://github.com/apache/tvm/pull/16426) - [CMake] Enable cuda lang if USE_CUDA is on * [#16407](https://github.com/apache/tvm/pull/16407) - Add NVIDIA Hopper H100 target tag * [#16398](https://github.com/apache/tvm/pull/16398) - [DeviceAPI] Support querying total global memory * [#16357](https://github.com/apache/tvm/pull/16357) - [RPC] Fix tuning on macOS and Windows (#15771) * [#16386](https://github.com/apache/tvm/pull/16386) - [Thrust] Use no sync exec policy and caching allocator * [#16343](https://github.com/apache/tvm/pull/16343) - [CMake][MSVC] Disable permissive mode for MSVC builds * [#16242](https://github.com/apache/tvm/pull/16242) - [Codegen] Fix if_then_else codegen * [#16341](https://github.com/apache/tvm/pull/16341) - [CMake] Use ccache as CMAKE_CUDA_COMPILER_LAUNCHER * [#16332](https://github.com/apache/tvm/pull/16332) - Change metal dtype of ceil_log2 to fp32

Apache TVM v0.15.0.rc0v0.15.0.rc0预发布
? · 2024-01-19

# Introduction The TVM community has worked since the v0.14.0 release to deliver the following new exciting improvements! The main tags are below (**bold text is with lots of progress**): - Community, RFCs - Adreno, ArmComputeLibrary, Metal, cuda & cutlass & tensorrt, micoNPU, Runtime - **Frontend & Relay** - Arith, **TOPI**, **TIR**, TVMScript - Docs, CI, **Misc**, **BugFix** Please visit the full listing of commits for a complete view: [v0.14.0...v0.15.0](https://github.com/apache/tvm/compare/v0.14.0...v0.15.0). ### Community * [#16172](https://github.com/apache/tvm/pull/16172) - Yixin Dong -> Reviewer * [#16162](https://github.com/apache/tvm/pull/16162) - Shuai Yuan -> Committer * [#16164](https://github.com/apache/tvm/pull/16164) - Qiang Zhang -> Committer * [#16166](https://github.com/apache/tvm/pull/16166) - Bohan Hou -> PMC * [#16165](https://github.com/apache/tvm/pull/16165) - Ruihang Lai -> PMC ### RFCs * [#105](https://github.com/apache/tvm-rfcs/pull/105) - Add a new backend language——SYCL ---- ### Adreno * [#15991](https://github.com/apache/tvm/pull/15991) - [CI] Enhancements to Adreno specific CI utils * [#15786](https://github.com/apache/tvm/pull/15786) - [TOPI] Add conv2d transpose nchw texture schedule ### Arith * [#16227](https://github.com/apache/tvm/pull/16227) - Simplify nested if_then_else when constant is appearing in then_expr ### ArmComputeLibrary * [#15990](https://github.com/apache/tvm/pull/15990) - [ACL] Update Compute Library to v23.08 ### Metal * [#16192](https://github.com/apache/tvm/pull/16192) - [Device] Fix metal warp size * [#16033](https://github.com/apache/tvm/pull/16033) - [Codegen] Disable cross-function call in Metal codegen ### cuda & cutlass & tensorrt * [#16061](https://github.com/apache/tvm/pull/16061) - [CUDA] Add an option for profiling cuda kernels ### micoNPU * [#16003](https://github.com/apache/tvm/pull/16003) - [microNPU][ETHOSU] Fix ConcatRewriter args processing * [#15929](https://github.com/apache/tvm/pull/15929) - [microNPU][ETHOSU] Fix rounding mode in requantize operation ### Runtime * [#15896](https://github.com/apache/tvm/pull/15896) - [CLML] Fix for CLML ops and enable more test case * [#16133](https://github.com/apache/tvm/pull/16133) - Parallel-for with threading backend * [#16066](https://github.com/apache/tvm/pull/16066) - Support clear global memory allocators * [#16030](https://github.com/apache/tvm/pull/16030) - Introduce `TVM_MODULE_VTABLE` Macros ### BugFix * [#16269](https://github.com/apache/tvm/pull/16269) - Update pillow usage * [#16272](https://github.com/apache/tvm/pull/16272) - Fixed Inappropriate Logical Expression * [#16216](https://github.com/apache/tvm/pull/16216) - [TIR] Fix dynamic smem merge leaf alloc * [#16190](https://github.com/apache/tvm/pull/16190) - Fix the error of reloading the model library on the ROCm platform: "MIOpen Error: No invoker was registered for convolution forward.” * [#16167](https://github.com/apache/tvm/pull/16167) - [Relay][Pytorch] Fix missing `.dtype` * [#16091](https://github.com/apache/tvm/pull/16091) - [Fix] Fix `topi.rms_norm` with float32 upscale * [#16081](https://github.com/apache/tvm/pull/16081) - [Fix] Broken Windows Build with LLVM * [#16051](https://github.com/apache/tvm/pull/16051) - [Fix][TIR] Fix dtype issues for match_buffer and ramp node * [#14655](https://github.com/apache/tvm/pull/14655) - [VTA] Fix FSIM compile error on macOS * [#16021](https://github.com/apache/tvm/pull/16021) - [FFI] Typo fix of IncRef to DecRef * [#16010](https://github.com/apache/tvm/pull/16010) - [Fix][TIR] fix mul dtype mismatch * [#16000](https://github.com/apache/tvm/pull/16000) - [Fix][TIR] fix symbolic strides lower * [#15970](https://github.com/apache/tvm/pull/15970) - [Hotfix] Mark python-FFI handling with TVM_DLL * [#15965](https://github.com/apache/tvm/pull/15965) - [CI] Better to pass the build folder ### CI * [#16110](https://github.com/apache/tvm/pull/16110) - Refactor unittest folder * [#16055](https://github.com/apache/tvm/pull/16055) - Fix broken links about Jenkins * [#16062](https://github.com/apache/tvm/pull/16062) - Use LLVM 17 for tests on `ci_arm` * [#16018](https://github.com/apache/tvm/pull/16018) - [Tests] Fix work_dir location used by test_micro_tuning_with_meta_schedule * [#16019](https://github.com/apache/tvm/pull/16019) - [Tests] Check int8+int32 testcases in test_estimate_peak_flops_cpu * [#16017](https://github.com/apache/tvm/pull/16017) - [Tests] Fix str vs. int comparison in test_num_threads ### Docs * [#16282](https://github.com/apache/tvm/pull/16282) - [Doc] Fix minor error in doc (Add an operator to Relay) * [#16152](https://github.com/apache/tvm/pull/16152) - [DOC] Add v0.14.0 docs to site * [#16127](https://github.com/apache/tvm/pull/16127) - Revert "[#15157][Rust][Doc] Re-enable the Rust documentation build (#15213)" * [#16097](https://github.com/apache/tvm/pull/16097) - Add missing backtick to contribute/code_guide.rst * [#16089](https://github.com/apache/tvm/pull/16089) - Fix error on linting by adding `--rev` argument * [#16024](https://github.com/apache/tvm/pull/16024) - Update release_process.rst about version number modification ### Frontend & Relay * [#16243](https://github.com/apache/tvm/pull/16243) - [TFLite] Add support for quantized mirror pad * [#15914](https://github.com/apache/tvm/pull/15914) - [TFLite]Support quantized SQUARE * [#16159](https://github.com/apache/tvm/pull/16159) - [KERAS] Fix bug concat convert for NCHW * [#16319](https://github.com/apache/tvm/pull/16319) - [Torch] add aten:broadcast_to * [#16131](https://github.com/apache/tvm/pull/16131) - [Pytorch] Add support for `aten::unflatten` * [#16105](https://github.com/apache/tvm/pull/16105) - [Pytorch] Add support for `aten::bitwise_and` * [#16079](https://github.com/apache/tvm/pull/16079) - [Pytorch] Add support for aten::swapaxes operator * [#15502](https://github.com/apache/tvm/pull/15502) - [Pytorch] aten::copy_ support for pytorch * [#16180](https://github.com/apache/tvm/pull/16180) - [Pytorch] Fix bug when converting models with torch.nn.ParameterList * [#16143](https://github.com/apache/tvm/pull/16143) - [Pytorch] Add support for `aten::scaled_dot_product_attention` * [#16123](https://github.com/apache/tvm/pull/16123) - [Pytorch] Add support for `aten::linalg_vector_norm` * [#16171](https://github.com/apache/tvm/pull/16171) - [Frontend] Preserve Pytorch Span Names * [#16217](https://github.com/apache/tvm/pull/16217) - [Frontend][QNN] fix access `param_debug_name_map` to node output name in fx-quantized graph node replacement * [#16199](https://github.com/apache/tvm/pull/16199) - [Frontend] Add support for aten::concat * [#16151](https://github.com/apache/tvm/pull/16151) - conv3d depthwise bug fix * [#15928](https://github.com/apache/tvm/pull/15928) - Expose qnn ops directly from relay.qnn module ### TOPI * [#16259](https://github.com/apache/tvm/pull/16259) - Add support for group_conv3d_transpose_ncdhw for generic * [#16052](https://github.com/apache/tvm/pull/16052) - Enhance `topi.nn.matmul` * [#16080](https://github.com/apache/tvm/pull/16080) - Reduce code redundancy in conv2d weights transformation * [#16248](https://github.com/apache/tvm/pull/16248) - [TOPI] Add support for group_conv1d_transpose_ncw for generic * [#16106](https://github.com/apache/tvm/pull/16106) - [TOPI] Add conv2d NHWC hybrid schedule for `arm_cpu` ### TIR * [#16239](https://github.com/apache/tvm/pull/16239) - [Schedule] TileWithTensorIntrin skip incorrect ComputeInline for input-padding * [#16236](https://github.com/apache/tvm/pull/16236) - ConvertSSA process entry func first * [#16070](https://github.com/apache/tvm/pull/16070) - [Transform] Introduce new `InjectPermutedLayout` pass * [#16083](https://github.com/apache/tvm/pull/16083) - Enhance Python Type Annotations for TIR Expr * [#16073](https://github.com/apache/tvm/pull/16073) - Support more mma intrinsics and `get_mma_intrin_group` utility * [#16076](https://github.com/apache/tvm/pull/16076) - Enhance Python Type Annotations for TIR stmt * [#16074](https://github.com/apache/tvm/pull/16074) - Fix the thread binding iter_var dtype in `Bind` primitive * [#16063](https://github.com/apache/tvm/pull/16063) - Fix pass RenewDefs error in gather/take case * [#16027](https://github.com/apache/tvm/pull/16027) - Fix software pipeline with dynamic loop extent ### TVMScript * [#16271](https://github.com/apache/tvm/pull/16271) - Disable concise scoping when the scope stmt is explicitly annotated * [#16041](https://github.com/apache/tvm/pull/16041) - Fix mismatched dtype of IterVar in `T.thread_binding` * [#15953](https://github.com/apache/tvm/pull/15953) - [TIR] Pretty print TIR LLVM function name * [#15972](https://github.com/apache/tvm/pull/15972) - delete print extra info at parsing ### Misc * [#16279](https://github.com/apache/tvm/pull/16279) - replace deprecated np.int with int to avoid crash * [#16262](https://github.com/apache/tvm/pull/16262) - Update conv2d.py * [#16255](https://github.com/apache/tvm/pull/16255) - [Support] Add Interrupt Handling in Pipe * [#16104](https://github.com/apache/tvm/pull/16104) - [LoopPartition] Fix a bug of LoopPartition in single point scenarioes * [#16231](https://github.com/apache/tvm/pull/16231) - [Target] Add Jetson AGX Orin tags * [#16221](https://github.com/apache/tvm/pull/16221) - remove deprecated np.int in slice converter (pytorch) * [#16214](https://github.com/apache/tvm/pull/16214) - [Python] Fix setup.py for inplace build * [#16174](https://github.com/apache/tvm/pull/16174) - Bump cryptography from 37.0.2 to 41.0.6 in /docker/python * [#16202](https://github.com/apache/tvm/pull/16202) - Fix IRModule initialization with attrs * [#16176](https://github.com/apache/tvm/pull/16176) - Enable ccache to accelerate contrib compilation * [#15968](https://github.com/apache/tvm/pull/15968) - Add missing backtick * [#16034](https://github.com/apache/tvm/pull/16034) - [Packaging] Include BYOC dynamic libraries into wheel * [#16087](https://github.com/apache/tvm/pull/16087) - Add _ffi_api.py under script folder * [#16039](https://github.com/apache/tvm/pull/16039) - [Target] Support obtain l2 cache size from target * [#16065](https://github.com/apache/tvm/pull/16065) - [Pylint] fix pylint issues from test_random to test_tedd * [#16031](https://github.com/apache/tvm/pull/16031) - [TRT] fix outdated module building method in tensorrt * [#16032](https://github.com/apache/tvm/pull/16032) - [CMake] Use llvm-config to locate Findzstd.cmake * [#16023](https://github.com/apache/tvm/pull/16023) - [Pylint] fix pylint issues for thrust&tflite_runtime&util * [#15998](https://github.com/apache/tvm/pull/15998) - [Codegen] Add shuffle for cuda and metal * [#16015](https://github.com/apache/tvm/pull/16015) - [Pylint] fix pylint issues for cblas * [#15955](https://github.com/apache/tvm/pull/15955) - [FFI][Python] Handle error propagation when line number is missing * [#15982](https://github.com/apache/tvm/pull/15982) - Bump werkzeug from 2.2.3 to 3.0.1 in /apps/microtvm * [#15966](https://github.com/apache/tvm/pull/15966) - [CMake] Fix order of GNUInstallDirs module * [#15952](https://github.com/apache/tvm/pull/15952) - Update ci_arm Docker tag * [#15940](https://github.com/apache/tvm/pull/15940) - [Minor] Fix compilation warnings for clang * [#15947](https://github.com/apache/tvm/pull/15947) - Bump urllib3 from 1.26.9 to 1.26.18 in /docker/python * [#15835](https://github.com/apache/tvm/pull/15835) - [CodeGenC][Redo] Handle GlobalVar callee as internal function call * [#15945](https://github.com/apache/tvm/pull/15945) - Bump urllib3 from 1.26.15 to 1.26.18 in /apps/microtvm

Apache TVM v0.14.0 rc0v0.14.0.rc0预发布
? · 2023-10-23

# Introduction The TVM community has worked since the v0.13.0 release to deliver the following new exciting improvements! The main tags are below (**bold text is with lots of progress**): - Community, RFC - **Arith**, MetaSchedule - Adreno, ArmComputeLibrary, Hexagon, Metal, OpenCL & CLML, ROCm, Vulkan, cuda & cutlass & tensorrt, **micoNPU**, web - Runtime, TVMC, AOT, LLVM, microTVM, CMSIS-NN - **Frontend**, **Relay**, BYOC - TOPI, **TIR**, TVMScript - Docs, **CI**, **Docker** - **Misc**, , BugFix Please visit the full listing of commits for a complete view: [v0.13.0...v0.14.0](https://github.com/apache/tvm/compare/v0.13.0...v0.14.0). ### Community - [#15307](https://github.com/apache/tvm/pull/15307) - Qingchao Shen -> Reviewer - [#15619](https://github.com/apache/tvm/pull/15619) - community strategy decision process ### RFC - [#102](https://github.com/apache/tvm-rfcs/pull/102) - [[Process RFC] Clarify Community Strategy Decision Process](https://github.com/tqchen/tvm-rfcs/blob/strategy/rfcs/0102-clarify-strategy-decision-process.md) ---- ### AOT * [#15301](https://github.com/apache/tvm/pull/15301) - Avoid call_extern() with incorrect argument count * [#15181](https://github.com/apache/tvm/pull/15181) - Remove workaround to help resolve test flakiness ### Adreno * [#15830](https://github.com/apache/tvm/pull/15830) - Minor changes for Adreno docs and help scripts * [#15671](https://github.com/apache/tvm/pull/15671) - [VM]Fix using buffers for weights in VM * [#15391](https://github.com/apache/tvm/pull/15391) - Small fixes in Adreno schedules ### Arith * [#15881](https://github.com/apache/tvm/pull/15881) - Simplify the result of non-divisible floordiv * [#15665](https://github.com/apache/tvm/pull/15665) - Fix detect non-divisible iteration form like (x % 255) // 16 * [#15638](https://github.com/apache/tvm/pull/15638) - MLIR PresburgerSet compile fix mlir >= 160 * [#15628](https://github.com/apache/tvm/pull/15628) - Added simplification rule for multiple equality compares * [#15558](https://github.com/apache/tvm/pull/15558) - Fix detect linear equation with uint var * [#14690](https://github.com/apache/tvm/pull/14690) - Add tvm::arith::PresburgerSetNode to work with Presburger Set in MLIR * [#15555](https://github.com/apache/tvm/pull/15555) - Fix handling of overlapping predicates * [#15471](https://github.com/apache/tvm/pull/15471) - Enhance Canonical Simplify for LE * [#15228](https://github.com/apache/tvm/pull/15228) - Enhance buffer shape bound deduction to include offset ### ArmComputeLibrary * [#15600](https://github.com/apache/tvm/pull/15600) - [ACL] Update Compute Library to v23.05.1 * [#15344](https://github.com/apache/tvm/pull/15344) - [ACL] Update Compute Library to v23.05 ### BugFix * [#15891](https://github.com/apache/tvm/pull/15891) - [Relay]fix axis parsing of repeat converter in the MXNet frontend * [#15873](https://github.com/apache/tvm/pull/15873) - [Fix] Remove duplicated words from comments, NFC * [#15868](https://github.com/apache/tvm/pull/15868) - [Relay]Fix conv transpose with default strides in ONNX frontend * [#15773](https://github.com/apache/tvm/pull/15773) - [CPP] Fix cpp deploy bug * [#15778](https://github.com/apache/tvm/pull/15778) - [Hotfix] Fix Windows Pipe * [#15748](https://github.com/apache/tvm/pull/15748) - Move symbols that are relevant to the runtime from libtvm to… * [#15752](https://github.com/apache/tvm/pull/15752) - [Relay]fix the wrong calculate logic of operator flip in PyTorch frontend * [#15715](https://github.com/apache/tvm/pull/15715) - [Relay]Fix the wrong implementation about operator Threshold in oneflow * [#15711](https://github.com/apache/tvm/pull/15711) - [Strategy] Fix `arm_cpu` int8 conv2d strategy for dotprod and i8mm targets * [#15717](https://github.com/apache/tvm/pull/15717) - [Relay]fix the wrong implementation of Softplus in OneFlow * [#15677](https://github.com/apache/tvm/pull/15677) - [Arith] IterMapRewriter abort rewriting once failure * [#15629](https://github.com/apache/tvm/pull/15629) - [VTA] tvm.tir.Call has no name attribute * [#15584](https://github.com/apache/tvm/pull/15584) - [Relay][Strategy] Enable compile time transformation of weights matrix for arm_cpu NHWC quantized conv2d * [#15542](https://github.com/apache/tvm/pull/15542) - [Fix] Fix the typo in compile flag * [#15484](https://github.com/apache/tvm/pull/15484) - [TOPI] Fix a bug in arm_cpu int8 conv2d i8mm schedule * [#15473](https://github.com/apache/tvm/pull/15473) - [Relay] Fix some bugs of dominator pattern * [#15478](https://github.com/apache/tvm/pull/15478) - [TIR] ThreadSync with shared.dyn awareness * [#15406](https://github.com/apache/tvm/pull/15406) - [TIR]Ensure the Var's scope is correct * [#15399](https://github.com/apache/tvm/pull/15399) - [TIR] Fix multi-grouped multi-warp allreduce * [#15350](https://github.com/apache/tvm/pull/15350) - [Relay] fix a bug of printing dataflow pattern * [#15385](https://github.com/apache/tvm/pull/15385) - Work around "Internal Compiler Error" in MSVC * [#15294](https://github.com/apache/tvm/pull/15294) - [Bug][Relay] fix relay frontend pytorch op addmm bug * [#15323](https://github.com/apache/tvm/pull/15323) - [Fix][TIR] LowerThreadAllreduce with correct thread mask * [#15291](https://github.com/apache/tvm/pull/15291) - [Relay][GraphExecutor] Fix set_input_zero_copy() precision bug * [#15225](https://github.com/apache/tvm/pull/15225) - Fix function to read all file ### CI * [#15903](https://github.com/apache/tvm/pull/15903) - [Target]Add LLVM functions for current system info * [#15897](https://github.com/apache/tvm/pull/15897) - [ADRENO] Few updates to Adreno docker setup * [#15836](https://github.com/apache/tvm/pull/15836) - Update ci-gpu image * [#15668](https://github.com/apache/tvm/pull/15668) - Allow Limit CPUs in Docker * [#15568](https://github.com/apache/tvm/pull/15568) - [Testing] Allow Capitalized name in CompareBeforeAfter * [#15519](https://github.com/apache/tvm/pull/15519) - [TEST] Run tests/python/relay/aot tests in ci-cortexm * [#15485](https://github.com/apache/tvm/pull/15485) - Remove cython version pin * [#15421](https://github.com/apache/tvm/pull/15421) - Bump Flax and Jaxlib versions to fix Jaxlib install error * [#15226](https://github.com/apache/tvm/pull/15226) - Add ml_dypes dependency for all docker images * [#15353](https://github.com/apache/tvm/pull/15353) - Pin cython version to fix cython compilation * [#15352](https://github.com/apache/tvm/pull/15352) - Make Graviton3 default AArch64 job runner node * [#15339](https://github.com/apache/tvm/pull/15339) - Update test to include unique attribute * [#15277](https://github.com/apache/tvm/pull/15277) - [Testing] Return BenchmarkResult in local_run and rpc_run * [#15268](https://github.com/apache/tvm/pull/15268) - [Testing] Add tvm.testing.local_run * [#15136](https://github.com/apache/tvm/pull/15136) - [UnitTest][NVPTX] Avoid cascading failures from CUDA postproc ### CMSIS-NN * [#15747](https://github.com/apache/tvm/pull/15747) - Move CMSIS_5 from SHA to release based upgrade * [#15407](https://github.com/apache/tvm/pull/15407) - Support for Softmax Int16 operator ### Docker * [#15799](https://github.com/apache/tvm/pull/15799) - Add LLVM 17 to the LLVM install script * [#15862](https://github.com/apache/tvm/pull/15862) - Upgrade oneflow to v0.8.0 * [#15819](https://github.com/apache/tvm/pull/15819) - Install oneflow from PyPi * [#15310](https://github.com/apache/tvm/pull/15310) - Update ci-cortexm docker image * [#15293](https://github.com/apache/tvm/pull/15293) - tensorflow_aarch64 package upgrade ### Docs * [#15619](https://github.com/apache/tvm/pull/15619) - community strategy decision process * [#15508](https://github.com/apache/tvm/pull/15508) - Add v0.13.0 docs to site * [#15213](https://github.com/apache/tvm/pull/15213) - [#15157][Rust][Doc] Re-enable the Rust documentation build ### Frontend * [#15821](https://github.com/apache/tvm/pull/15821) - [TFLite]Support quantized ELU * [#15844](https://github.com/apache/tvm/pull/15844) - [TFLite]Fix test failures caused by div-by-zero * [#15798](https://github.com/apache/tvm/pull/15798) - [TFLite]Support quantized Pow * [#15829](https://github.com/apache/tvm/pull/15829) - [Relay][Keras][Bugfix] fix the converters of GRU and SimpleRNN about the go_backwards attribute * [#15838](https://github.com/apache/tvm/pull/15838) - Fix unnecessary pylint errors * [#15802](https://github.com/apache/tvm/pull/15802) - [SkipCI][Hotfix][TFLite] Disable test of quantized floor mod * [#15790](https://github.com/apache/tvm/pull/15790) - [TFLite]Support quantized LESS_EQUAL * [#15775](https://github.com/apache/tvm/pull/15775) - [TFLite]Support quantized GREATER_EQUAL * [#15769](https://github.com/apache/tvm/pull/15769) - [TFLite]Support quantized NOT_EQUAL * [#15768](https://github.com/apache/tvm/pull/15768) - [TFLite]Support quantized div * [#15746](https://github.com/apache/tvm/pull/15746) - [TFLite]Support quantized LESS * [#15733](https://github.com/apache/tvm/pull/15733) - [TFLite]Support quantized floor_mod * [#15724](https://github.com/apache/tvm/pull/15724) - [TFLite]Support quantized floor_div * [#15602](https://github.com/apache/tvm/pull/15602) - [ONNX][BugFix] Support If body with free variable from graph input * [#15472](https://github.com/apache/tvm/pull/15472) - [Relay][TFLite] Fix in qnn.conv2d when parameter groups not equal to 1 * [#15117](https://github.com/apache/tvm/pull/15117) - [TFLITE] Add support for TFLite's regular NMS operator * [#15415](https://github.com/apache/tvm/pull/15415) - [ONNX] add onnx Mish operator * [#15422](https://github.com/apache/tvm/pull/15422) - [Keras] Add support for swish actiivation * [#15370](https://github.com/apache/tvm/pull/15370) - [Relay][Pytorch] Add aten::view_as * [#15335](https://github.com/apache/tvm/pull/15335) - [Bugfix][Keras] Add a check to reject the invalid input shape * [#15334](https://github.com/apache/tvm/pull/15334) - [Bugfix][Relay][Keras] Add a assertion to reject a invalid value for attribute units in RNN layers * [#15337](https://github.com/apache/tvm/pull/15337) - [Bugfix][Keras]Fix a corner case bug in softmax converter of keras frontend * [#15259](https://github.com/apache/tvm/pull/15259) - [TFLITE][BugFix] Fix variable typo in batchmatmul converting func * [#15261](https://github.com/apache/tvm/pull/15261) - [bugfix][keras] Fix go_backwards attribute of LSTM in keras frontend ### Hexagon * [#15788](https://github.com/apache/tvm/pull/15788) - Properly handle RPC server shutdown * [#15599](https://github.com/apache/tvm/pull/15599) - F2qi avgpool bug fix * [#15414](https://github.com/apache/tvm/pull/15414) - Add default vtcm capacity for targets * [#15367](https://github.com/apache/tvm/pull/15367) - Simplify Mul->Sub->Conv to Conv->Add when possible * [#15258](https://github.com/apache/tvm/pull/15258) - Propagate QNN Concat Quantization Params to Inputs ### LLVM * [#15921](https://github.com/apache/tvm/pull/15921) - Fix for llvm CodeGenOpt API change ### MetaSchedule * [#15792](https://github.com/apache/tvm/pull/15792) - Allow generating uint random data * [#15574](https://github.com/apache/tvm/pull/15574) - Fix metaschedule flop estimation for non-integer loop dimensions * [#15532](https://github.com/apache/tvm/pull/15532) - Enable subprocess to stdout for DEBUG level * [#15437](https://github.com/apache/tvm/pull/15437) - Fix mma default rule and disable tuning abort * [#15133](https://github.com/apache/tvm/pull/15133) - [XGBoost,MetaSchedule] Support xgb set tree method ### Metal * [#15756](https://github.com/apache/tvm/pull/15756) - [Unittest]Add minimal metal functionality test to CI * [#15749](https://github.com/apache/tvm/pull/15749) - [UnitTest]Parametrize allreduce GPU tests * [#15401](https://github.com/apache/tvm/pull/15401) - [Codegen]Support metal warp-level primitive ### OpenCL & CLML * [#15745](https://github.com/apache/tvm/pull/15745) - [OpenCL] Don't initialize OpenCL runtime on host * [#15400](https://github.com/apache/tvm/pull/15400) - [VM][OpenCL] Introduce textures allocation to VM memory manager ### ROCm * [#15777](https://github.com/apache/tvm/pull/15777) - [Codegen]Mismatched Dtype of Workgroup/Workitem * [#15464](https://github.com/apache/tvm/pull/15464) - fma intrin * [#15454](https://github.com/apache/tvm/pull/15454) - Fix some ROCm codegen bugs ### Relay * [#15889](https://github.com/apache/tvm/pull/15889) - fix the conflicted documentation description * [#15648](https://github.com/apache/tvm/pull/15648) - [TOPI] Remove input padding for arm_cpu conv2d int8 native schedule in Legalize pass * [#15386](https://github.com/apache/tvm/pull/15386) - Fix an adaptive_max_pool1d operator conversion bug * [#15533](https://github.com/apache/tvm/pull/15533) - Disable exception for ADT in mixed precision pass * [#15506](https://github.com/apache/tvm/pull/15506) - [Strategy] Use x86 pool schedules for arm_cpu * [#15470](https://github.com/apache/tvm/pull/15470) - [Strategy] Use x86 dense schedules for arm_cpu * [#15392](https://github.com/apache/tvm/pull/15392) - add redirecting operation to dataflow pattern graph * [#15468](https://github.com/apache/tvm/pull/15468) - [Strategy] Fix `arm_cpu` int8 conv2d schedule selection for 32-bit targets * [#15461](https://github.com/apache/tvm/pull/15461) - Stop ToMixedPrecision when constant is out of dtype range * [#15362](https://github.com/apache/tvm/pull/15362) - improve SimplifyClipAndConsecutiveCast pass * [#15137](https://github.com/apache/tvm/pull/15137) - Introduce arguments limit to FuseOps pass * [#15211](https://github.com/apache/tvm/pull/15211) - Fix bug in MergeCompilerRegions pass * [#15237](https://github.com/apache/tvm/pull/15237) - ExprMutator Return Origin Expr When All Fields Isn't Changed * [#15235](https://github.com/apache/tvm/pull/15235) - [QNN] Support Dequantize to "float16" and Quantize to "uint16" ### Runtime * [#15693](https://github.com/apache/tvm/pull/15693) - Make `CSourceModule` and `StaticLibraryModule` Binary Serializable * [#15658](https://github.com/apache/tvm/pull/15658) - Make `export_library` parameters after `file_name` keyword-only * [#15637](https://github.com/apache/tvm/pull/15637) - [Backport]Fix ICE from Clang * [#15244](https://github.com/apache/tvm/pull/15244) - Serialization/Deserialization of runtime module * [#15630](https://github.com/apache/tvm/pull/15630) - Utils to Stringify Device * [#15623](https://github.com/apache/tvm/pull/15623) - Expose ModuleGetFunction as PackedFunc * [#15595](https://github.com/apache/tvm/pull/15595) - Enhance PackedFunc Metaprogramming with `PackArgs` * [#15543](https://github.com/apache/tvm/pull/15543) - [Minor] Suppress verbose logging in Metal device API * [#15305](https://github.com/apache/tvm/pull/15305) - Flush L2 cache in time eval * [#15332](https://github.com/apache/tvm/pull/15332) - Device API to query L2 cache size ### TIR * [#15913](https://github.com/apache/tvm/pull/15913) - Fix offset_factor in cuda tensor core intrins * [#15906](https://github.com/apache/tvm/pull/15906) - Fix the error example in the documentation for pad_einsum * [#15816](https://github.com/apache/tvm/pull/15816) - Revert "[TensorIR][Visitor] Visit buffer members in `match_buffer`'s in block visitor functions (#15153) * [#15763](https://github.com/apache/tvm/pull/15763) - Do not drop 4th argument to tir.max * [#15646](https://github.com/apache/tvm/pull/15646) - Output DeclBuffer in LowerThreadAllreduce * [#15493](https://github.com/apache/tvm/pull/15493) - Output DeclBuffer in SplitHostDevice * [#15517](https://github.com/apache/tvm/pull/15517) - Shuffle in PointerValueTypeRewrite for scalar reads * [#15263](https://github.com/apache/tvm/pull/15263) - Output DeclBuffer in MakePackedAPI * [#15465](https://github.com/apache/tvm/pull/15465) - [TIR, Schedule] Fix decompose reduction with thread binding loops * [#15432](https://github.com/apache/tvm/pull/15432) - Generalize implementation of T.macro to work with other dialects * [#15413](https://github.com/apache/tvm/pull/15413) - Fix Primitive Rfactor DType * [#15404](https://github.com/apache/tvm/pull/15404) - Allow starred expressions in TIR script * [#15374](https://github.com/apache/tvm/pull/15374) - Finer predicate handling in cross-thread reduction * [#15373](https://github.com/apache/tvm/pull/15373) - Allreduce broadcast result to each thread in multi-warp case * [#15214](https://github.com/apache/tvm/pull/15214) - [UX] Implement privacy annotations in TIR * [#15241](https://github.com/apache/tvm/pull/15241) - Return error code from kernels in SplitHostDevice * [#15327](https://github.com/apache/tvm/pull/15327) - ThreadAllreduce warp-level primitive support with multi-warp * [#15260](https://github.com/apache/tvm/pull/15260) - Implement TIR macros * [#15253](https://github.com/apache/tvm/pull/15253) - Call TVMBackendFreeWorkspace inside LetStmt * [#15264](https://github.com/apache/tvm/pull/15264) - Allow symbolic bounds in IndexMap analysis * [#15243](https://github.com/apache/tvm/pull/15243) - Output DeclBuffer in LowerTVMBuiltin * [#15236](https://github.com/apache/tvm/pull/15236) - [Schedule] Scoped CacheRead/Write producing compact region * [#15242](https://github.com/apache/tvm/pull/15242) - Preserve AllocateNode::annotations * [#15247](https://github.com/apache/tvm/pull/15247) - Allow VerifyWellFormed to accept IRModule * [#15192](https://github.com/apache/tvm/pull/15192) - Support cross-threaad reduction lowering with thread-broadcasting rewrite * [#15210](https://github.com/apache/tvm/pull/15210) - [Schedule] Derive Nonnegative Bounds from Shape Var * [#15207](https://github.com/apache/tvm/pull/15207) - [Transform] Add LiftThreadBinding Pass ### TOPI * [#15685](https://github.com/apache/tvm/pull/15685) - [Target]Use LLVM for x86 CPU feature lookup * [#15710](https://github.com/apache/tvm/pull/15710) - Ensure vectorization of input padding in `arm_cpu` int8 conv2d interleaved schedule * [#15513](https://github.com/apache/tvm/pull/15513) - check empty array of x86 injective's iters * [#15371](https://github.com/apache/tvm/pull/15371) - Revert "Add `arm_cpu` specific pooling schedules" * [#15311](https://github.com/apache/tvm/pull/15311) - Add `arm_cpu` specific pooling schedules * [#15286](https://github.com/apache/tvm/pull/15286) - Revert "Add `arm_cpu` specific pooling schedules" * [#14855](https://github.com/apache/tvm/pull/14855) - Add `arm_cpu` specific pooling schedules ### TVMC * [#15779](https://github.com/apache/tvm/pull/15779) - enable dumping imported modules too * [#15349](https://github.com/apache/tvm/pull/15349) - Add tvmc flag to print compilation time per pass ### TVMScript * [#15824](https://github.com/apache/tvm/pull/15824) - Preserve traceback across TVMScript parsing * [#15762](https://github.com/apache/tvm/pull/15762) - Use environment variable TVM_BLACK_FORMAT for .show() * [#15706](https://github.com/apache/tvm/pull/15706) - Disable `black_format` by default * [#15705](https://github.com/apache/tvm/pull/15705) - [FIX] Disable `show_object_address` in printing by default * [#15579](https://github.com/apache/tvm/pull/15579) - Optionally output the address as part of variable names * [#15564](https://github.com/apache/tvm/pull/15564) - Use triple-quoted python strings for metadata * [#15547](https://github.com/apache/tvm/pull/15547) - Create loop var with min_val dtype in for frame * [#15492](https://github.com/apache/tvm/pull/15492) - Allow use of Python builtins in script * [#15442](https://github.com/apache/tvm/pull/15442) - Support starred indices in for-loop * [#15249](https://github.com/apache/tvm/pull/15249) - Ensure completed root block has no read/write * [#15239](https://github.com/apache/tvm/pull/15239) - Handle parsing of PrimFunc calls with non-void return ### cuda & cutlass & tensorrt * [#15573](https://github.com/apache/tvm/pull/15573) - [CUTLASS][Cherry-pick] Introduce several features of cutlass profiler * [#15480](https://github.com/apache/tvm/pull/15480) - [Bugfix][CUTLASS] CUTLASS path finding ### micoNPU * [#15780](https://github.com/apache/tvm/pull/15780) - [microNPU][ETHOSU] MatMul legalization support * [#15428](https://github.com/apache/tvm/pull/15428) - [microNPU][ETHOSU] Fix concatenation with reused buffers * [#14909](https://github.com/apache/tvm/pull/14909) - [ETHOSU][MicroNPU][Pass] Add a pass to replicate pads * [#15186](https://github.com/apache/tvm/pull/15186) - [microNPU][ETHOSU] Add Vela's logic to select configuration block ### microTVM * [#15667](https://github.com/apache/tvm/pull/15667) - Check the output of microNPU demos in CI ### web * [#15218](https://github.com/apache/tvm/pull/15218) - Increase default EMCC compilation total memory size ### Misc * [#15934](https://github.com/apache/tvm/pull/15934) - [Release] [Dont Squash] Modify version number to 0.14.0 and 0.15.0.dev on main branch * [#15934](https://github.com/apache/tvm/pull/15934) - [Release] [Dont Squash] Modify version number to 0.14.0 and 0.15.0.dev on main branch * [#15847](https://github.com/apache/tvm/pull/15847) - [release] Update version to 0.14.0 and 0.15.0.dev on main branch * [#15867](https://github.com/apache/tvm/pull/15867) - Bump pillow from 9.3.0 to 10.0.1 in /apps/microtvm/ethosu * [#15866](https://github.com/apache/tvm/pull/15866) - Bump pillow from 9.3.0 to 10.0.1 in /apps/microtvm/cmsisnn * [#15865](https://github.com/apache/tvm/pull/15865) - Bump pillow from 9.2.0 to 10.0.1 in /apps/microtvm * [#15833](https://github.com/apache/tvm/pull/15833) - [VM] Memory Manager moved up to runtime * [#15859](https://github.com/apache/tvm/pull/15859) - [Script] Fix miscs of make_notes.py * [#15818](https://github.com/apache/tvm/pull/15818) - [CLI TOOLS][RTVM] Improve rtvm tool with new options to measure native performance * [#15761](https://github.com/apache/tvm/pull/15761) - [Target] LLVM helper functions for any target info * [#15672](https://github.com/apache/tvm/pull/15672) - [IR] Implemented Variant<...> container * [#15714](https://github.com/apache/tvm/pull/15714) - [Target][Device] Auto detect target and create device from str in torch style * [#15723](https://github.com/apache/tvm/pull/15723) - fix _convert_simple_rnn * [#15725](https://github.com/apache/tvm/pull/15725) - Revert "[CodeGenC] Handle GlobalVar callee as internal function call" * [#15684](https://github.com/apache/tvm/pull/15684) - [Hopper TMA] Add intrinsic to create barriers for synchronization * [#15683](https://github.com/apache/tvm/pull/15683) - Fix a bug caused by PyTorch instance_norm when the input shape is [1,1,1,2] * [#15596](https://github.com/apache/tvm/pull/15596) - [FFI] Propagate Python errors across FFI boundaries * [#15666](https://github.com/apache/tvm/pull/15666) - [Module] Implement custom imported modules serialization * [#15656](https://github.com/apache/tvm/pull/15656) - [Hopper TMA] Add CUDA codegen support for bulk asynchronous copy * [#15664](https://github.com/apache/tvm/pull/15664) - [IR] Use structural equal for Range equality * [#15649](https://github.com/apache/tvm/pull/15649) - Add output_data_sec section in corstone300.ld * [#15639](https://github.com/apache/tvm/pull/15639) - Do not link LLVM libraries into cpptest binary * [#15631](https://github.com/apache/tvm/pull/15631) - [RPC] Enhance RPC Protocol to support TVM Object * [#15624](https://github.com/apache/tvm/pull/15624) - [CMake] Add RCCL to TVM and TVM Runtime * [#15616](https://github.com/apache/tvm/pull/15616) - [Hopper TMA] CUDA codegen for async copy with barrier synchronization * [#15537](https://github.com/apache/tvm/pull/15537) - [CPP_RPC] export listdir for RPC * [#15605](https://github.com/apache/tvm/pull/15605) - [CMake] Add NCCL to TVM and TVM Runtime * [#15580](https://github.com/apache/tvm/pull/15580) - Fix "to" duplicate word in python and C header file * [#15581](https://github.com/apache/tvm/pull/15581) - Remove duplicate load word inside .cc file * [#15582](https://github.com/apache/tvm/pull/15582) - Remove duplicate 'from' word inside python script * [#15554](https://github.com/apache/tvm/pull/15554) - Bump tornado from 6.1 to 6.3.3 in /apps/microtvm * [#15552](https://github.com/apache/tvm/pull/15552) - Bump tornado from 6.1 to 6.3.3 in /apps/microtvm/ethosu * [#15553](https://github.com/apache/tvm/pull/15553) - Bump tornado from 6.1 to 6.3.3 in /apps/microtvm/cmsisnn * [#15536](https://github.com/apache/tvm/pull/15536) - fixed typo [TypoFix] * [#15529](https://github.com/apache/tvm/pull/15529) - [quantize] fix bug of annotate for output of add op * [#15535](https://github.com/apache/tvm/pull/15535) - Fixed search task comment * [#15530](https://github.com/apache/tvm/pull/15530) - Remove duplicate msg word and condition inside the function doc * [#15511](https://github.com/apache/tvm/pull/15511) - Remove IRModule Dependency from Target * [#15525](https://github.com/apache/tvm/pull/15525) - Fix typo mistake and change whethe to whether * [#15524](https://github.com/apache/tvm/pull/15524) - Remove duplicate the word * [#15103](https://github.com/apache/tvm/pull/15103) - [CodeGenC] Handle GlobalVar callee as internal function call * [#15419](https://github.com/apache/tvm/pull/15419) - [VM][Textures] Enable OpenCL textures for VM * [#15483](https://github.com/apache/tvm/pull/15483) - [Script] Be more careful when generating ast.ExtSlice for Subscript * [#15469](https://github.com/apache/tvm/pull/15469) - [CYTHON] Make cython compatible with 3.0 * [#15423](https://github.com/apache/tvm/pull/15423) - [Submodule] Add Flash attention v2 * [#15380](https://github.com/apache/tvm/pull/15380) - [Target] Add Jetson Orin Nano tag * [#15359](https://github.com/apache/tvm/pull/15359) - [CMAKE] Conditionally link "clog" in NNPack install * [#15326](https://github.com/apache/tvm/pull/15326) - [OP] Add `rms_norm` into TOPI * [#15312](https://github.com/apache/tvm/pull/15312) - [skipci] Fix typo in docs/arch/index.rst * [#15298](https://github.com/apache/tvm/pull/15298) - [Release] Extend PR tags and Format PR hyper-links in release report * [#15328](https://github.com/apache/tvm/pull/15328) - [Package] Remove cutlass media/docs inside cutlass_fpA_intB_gemm * [#15321](https://github.com/apache/tvm/pull/15321) - [JVM] Fix the Maven pom.xml for OS X arm64 tvm4j build * [#15265](https://github.com/apache/tvm/pull/15265) - Fix keras version problem * [#15292](https://github.com/apache/tvm/pull/15292) - [RPC] Fix socket bind errno on corner case * [#15287](https://github.com/apache/tvm/pull/15287) - [Exec] Add a script to test GPU memory bandwidth * [#15234](https://github.com/apache/tvm/pull/15234) - [Miscs] Enhance script about make release notes * [#15229](https://github.com/apache/tvm/pull/15229) - [CMAKE] Add Vulkan header for Android * [#15215](https://github.com/apache/tvm/pull/15215) - [Android] ndk static build * [#15208](https://github.com/apache/tvm/pull/15208) - Update version to 0.14.dev0 on main branch

Apache TVM v0.13.0v0.13.0预发布
? · 2023-07-14

# Introduction The TVM community has worked since the v0.12.0 release to deliver the following new exciting improvements! The main tags are below (**bold text is with lots of progress**): - Community, RFC; - Frontend: TensorFlow/TFLite, Pytorch/Torch, Paddle, keras; - Runtime: Adreno, OpenCL & CLML, ROCm, CUDA & CUTLASS & TensorRT, Ethosn, Vulkan, Hexagon, Metal, others about runtime; - Relay, BYOC, TOPI, Arith, **TIR, TVMScript, MetaSchedule**; - microTVM, AOT, TVMC, LLVM; - CI, BugFix, Docs, Docker, Miscs; Please visit the full listing of commits for a complete view: [v0.12.0...v0.13.0](https://github.com/apache/tvm/compare/v0.12.0...v0.13.0). ### Community * [#15086](https://github.com/apache/tvm/pull/15086) - Aleksei-grovety -> Reviewer * [#14676](https://github.com/apache/tvm/pull/14676) - Jiajun Jiang -> Reviewer * [#14677](https://github.com/apache/tvm/pull/14677) - Qiang Zhang -> Reviewer * [#14622](https://github.com/apache/tvm/pull/14622) - Sunghyun Park -> Reviewer * [#14578](https://github.com/apache/tvm/pull/14578) - Zihao Ye -> Committer * [#14853](https://github.com/apache/tvm/pull/14853) - Anirudh Sundar Subramaniam -> Committer * [#14772](https://github.com/apache/tvm/pull/14772) - Add new key for release signing ### RFC * https://github.com/apache/tvm-rfcs/pull/100 ---- ### Frontend * [#14830](https://github.com/apache/tvm/pull/14830) - Use f-strings for string formatting, NFC * Keras * [#15122](https://github.com/apache/tvm/pull/15122) - [Relay][Keras] Fix SeparableConv2D conversion in dilation_rate attribute * [#15107](https://github.com/apache/tvm/pull/15107) - [Relay][Keras] Fix a wrong variable name in keras frontend * [#15053](https://github.com/apache/tvm/pull/15053) - [Relay][Keras] Fix the wrong implementation logic about cropping2D * [#15082](https://github.com/apache/tvm/pull/15082) - [Relay][Keras] Fix UpSampling2D about the wrong assertion about size * [#15060](https://github.com/apache/tvm/pull/15060) - [Relay][keras] Fix the bug about the attribute 'output_padding' in Deconv * [#14707](https://github.com/apache/tvm/pull/14707) - [Keras]fix a bug about alpha attribute in LeakyReLU which lead to passes conflict * [#15175](https://github.com/apache/tvm/pull/15175) - [Relay][Keras] Fix concatenate convert function in axis parsing * Paddle * [#14801](https://github.com/apache/tvm/pull/14801) - [Paddle] [PaddlePaddle Hackathon 4]add attribute support for gaussian_random/softplus/Conv3d/Conv2d * [#14973](https://github.com/apache/tvm/pull/14973) - [Paddle] [PaddlePaddle Hackathon 4] add convert support for tanhshrink/pool3d/set_value ops for paddle frontend * [#14826](https://github.com/apache/tvm/pull/14826) - [Paddle] [PaddlePaddle Hackathon 4] add convert support for p_norm/roi_align/softmax_with_cross_entropy * [#14575](https://github.com/apache/tvm/pull/14575) - [Paddle] [PaddlePaddle Hackathon 4]add attribute support for dropout/hard_sigmoid/pixel_shuffle * TFLite * [#14667](https://github.com/apache/tvm/pull/14667) - [TFLite]Support for quantized squared difference * [#14819](https://github.com/apache/tvm/pull/14819) - [TFLite]Generate name when tensor name is missing * [#15173](https://github.com/apache/tvm/pull/15173) - [FRONTEND][TFLITE]Fix int16 transpose conv loading * TensorFlow * [#14546](https://github.com/apache/tvm/pull/14546) - [Tensorflow] Fix conv2d_transpose for NHWC layout * PyTorch * [#14747](https://github.com/apache/tvm/pull/14747) - [PyTorch] Add aten::new_zeros * [#14699](https://github.com/apache/tvm/pull/14699) - [Torch] fix typo in new_full * [#14963](https://github.com/apache/tvm/pull/14963) - [PyTorch] Support use_input_stats in instance_norm * [#14930](https://github.com/apache/tvm/pull/14930) - Fix pytorch axis * ONNX * [#15017](https://github.com/apache/tvm/pull/15017) - [ONNX] Fix bug in scatter_elements ### Runtime * [#15182](https://github.com/apache/tvm/pull/15182) - Add weak symbol to builtin fp16 * [#15161](https://github.com/apache/tvm/pull/15161) - Clean TVM stacktrace in error messages * [#15162](https://github.com/apache/tvm/pull/15162) - Support void as dtype in FFI * [#14902](https://github.com/apache/tvm/pull/14902) - Update Module and Registry to use String Container * [#14967](https://github.com/apache/tvm/pull/14967) - [Runtime,RPC] Use f-strings for string formatting, NFC * [#14887](https://github.com/apache/tvm/pull/14887) - Make systemlib unique per prefix * [#14775](https://github.com/apache/tvm/pull/14775) - Added __str__ for tvm._ffi.runtime_ctypes.TVMArray * [#14656](https://github.com/apache/tvm/pull/14656) - Fix Can't "query_imports" Bug of VM Executable ### Adreno * [#15061](https://github.com/apache/tvm/pull/15061) - [TOPI]Fix problem with ceil_log2 * [#14996](https://github.com/apache/tvm/pull/14996) - [OpenCL]Fix conv2d when output channels < 4 ### CMSIS-NN * [#15059](https://github.com/apache/tvm/pull/15059) - Update CMSIS-NN release to v4.1.0 ### OpenCL & CLML * [#14972](https://github.com/apache/tvm/pull/14972) - [OPENCL] Always use convert_T for type conversion * [#14995](https://github.com/apache/tvm/pull/14995) - [OpenCL] Improve diagnostic message * [#14833](https://github.com/apache/tvm/pull/14833) - [Codegen][OpenCL] fix amibiguous selection operator call * [#14792](https://github.com/apache/tvm/pull/14792) - [OpenCL] Refactor OpenCL runtime to support SPIRV binary ingestion * [#14922](https://github.com/apache/tvm/pull/14922) - [OpenCLML] Reactor and introduce on chip memory and memory planner * [#14949](https://github.com/apache/tvm/pull/14949) - [CodegenC] Updated unit test for sorted CodegenC output * [#14767](https://github.com/apache/tvm/pull/14767) - [OpenCLML] Transposed convolution support and other fixes ### cuda & cutlass & tensorrt * [#14751](https://github.com/apache/tvm/pull/14751) - [CUDA] Fixed the call of the min function in the schedule for cuda * [#14798](https://github.com/apache/tvm/pull/14798) - [CUTLASS] Add NDEBUG option to CUTLASS compile to speed up attention kernel * [#14782](https://github.com/apache/tvm/pull/14782) - [Bugfix][Codegen][CUDA] Wrong casting in ASM ### metal * [#14962](https://github.com/apache/tvm/pull/14962) - Fix int8 vectorized cast * [#14846](https://github.com/apache/tvm/pull/14846) - Fix vectorized select * [#14727](https://github.com/apache/tvm/pull/14727) - Update metal runtime to directly store kernel map * [#14671](https://github.com/apache/tvm/pull/14671) - Fix flaky memory issue due to racing ### Vulkan * [#15035](https://github.com/apache/tvm/pull/15035) - [Vulkan] Allow DeclBuffer in CodeGenSPIRV * [#14817](https://github.com/apache/tvm/pull/14817) - [Vulkan] Add cooperative matrix support ### Hexagon * [#14997](https://github.com/apache/tvm/pull/14997) - Remove "c" as aot_host_target tvm/contrib/hexagon/pytest_pl… * [#14948](https://github.com/apache/tvm/pull/14948) - Update instructions to compile hexagon runtime * [#14965](https://github.com/apache/tvm/pull/14965) - Add support for v73, make v68 default * [#14720](https://github.com/apache/tvm/pull/14720) - [TIR] Add get_vtcm_allocation_sizes with lowering * [#14567](https://github.com/apache/tvm/pull/14567) - [TIR] Use the "target" value in T.func_attr for VTCM limit ### ROCm * [#15106](https://github.com/apache/tvm/pull/15106) - [TensorIR]AMD Matrix Core Support * [#15088](https://github.com/apache/tvm/pull/15088) - [Target]Replace rocm arch parsing from int to string ### microTVM * [#14872](https://github.com/apache/tvm/pull/14872) - Use self.close_transport() on error ### AOT * [#15033](https://github.com/apache/tvm/pull/15033) - Avoid Var-to-Var Let binding in AOTExecutorCodegen * [#15032](https://github.com/apache/tvm/pull/15032) - Remove duplication in tvm.testing.aot.compile_models * [#14529](https://github.com/apache/tvm/pull/14529) - Fix warning on dropping const in TVMAotExecutor_GetInputName ### micoNPU * [#15159](https://github.com/apache/tvm/pull/15159) - [microNPU][ETHOSU] Fix compiler attributes types * [#15147](https://github.com/apache/tvm/pull/15147) - [microNPU][ETHOSU] Add option to disable copying constants for case without cascader * [#15069](https://github.com/apache/tvm/pull/15069) - [microNPU][ETHOSU] Fix SoftMax legalization parameters * [#15115](https://github.com/apache/tvm/pull/15115) - [microNPU][ETHOSU] Upgrade to 23.05 version of Arm(R) Ethos(TM)-U NPU drivers * [#15114](https://github.com/apache/tvm/pull/15114) - [microNPU] Upgrade Vela to v3.8.0 * [#15104](https://github.com/apache/tvm/pull/15104) - [microNPU][ETHOSU] Fix minimum buffer size * [#15063](https://github.com/apache/tvm/pull/15063) - [microNPU][ETHOSU] Fix CopyComputeReordering pass arguments * [#14861](https://github.com/apache/tvm/pull/14861) - [microNPU][ETHOSU] Add offloading to the NPU the nn.avg_pool2d operator with a stride > 3 * [#14765](https://github.com/apache/tvm/pull/14765) - [microNPU][ETHOSU] Channel pad offloaded to NPU * [#14774](https://github.com/apache/tvm/pull/14774) - [microNPU][ETHOSU] Fix Softmax quantization parameters * [#14629](https://github.com/apache/tvm/pull/14629) - [microNPU][ETHOSU] Softmax int8 legalization support * [#14353](https://github.com/apache/tvm/pull/14353) - [microNPU] Add support for MEAN with uint8 ifm * [#14587](https://github.com/apache/tvm/pull/14587) - [microNPU] Fix skip tests when Vela is not present * [#14464](https://github.com/apache/tvm/pull/14464) - [microNPU][ETHOSU] Add restrictions to convert to NHCWB16 layout in LayoutOptimization pass ### BYOC * [#15046](https://github.com/apache/tvm/pull/15046) - Add GEMM kernel from FasterTransformer as submodule * [#15029](https://github.com/apache/tvm/pull/15029) - Hide internal cutlass symbols ### Relay * [#15068](https://github.com/apache/tvm/pull/15068) - Improve the "clip" op optimization in simplify expr pass * [#14925](https://github.com/apache/tvm/pull/14925) - add a dimension check to reject invalid input * [#14858](https://github.com/apache/tvm/pull/14858) - [simplify_expr]: Add pass to remove trivial transpose ops * [#14838](https://github.com/apache/tvm/pull/14838) - Use f-strings for string formatting, NFC * [#14831](https://github.com/apache/tvm/pull/14831) - [Relay/Op] Use f-strings for string formatting, NFC * [#14580](https://github.com/apache/tvm/pull/14580) - Simplify the square of a binomial * [#14735](https://github.com/apache/tvm/pull/14735) - Handle pad value coming from Tensor instead of scalar * [#14601](https://github.com/apache/tvm/pull/14601) - Enhance type infer for dynamic shape * [#14885](https://github.com/apache/tvm/pull/14885) - [Relay] fix broadcast in PyTorch frontend * [#15090](https://github.com/apache/tvm/pull/15090) - [Relay] Insertion of "device_copy" CallNode to Resolve Device Conflict on Unconstrained Nodes * [#14845](https://github.com/apache/tvm/pull/14845) - [Relay] Fix softplus in paddlepaddle frontend * [#14837](https://github.com/apache/tvm/pull/14837) - [Relay] Fix AdaptiveAvgPool2d about wrong dtype prasing * [#14821](https://github.com/apache/tvm/pull/14821) - [Relay] Fix softplus about the wrong calculation formula in Relay PyTorch frontend * [#14820](https://github.com/apache/tvm/pull/14820) - [Relay] Fix threshold calculation logic in PyTorch frontend * [#14824](https://github.com/apache/tvm/pull/14824) - [Relay] fix a bug about ReLu in the threshold attribute which causes a different results with keras * [#14796](https://github.com/apache/tvm/pull/14796) - [relay] fix wrong calculate logic about celu * [#14773](https://github.com/apache/tvm/pull/14773) - [Relay] fix `scatter_nd` type relation * [#14742](https://github.com/apache/tvm/pull/14742) - [relay] Fix alpha attribute with None in ELU * [#14740](https://github.com/apache/tvm/pull/14740) - [Relay] Fix stride in LpPool for default * [#14556](https://github.com/apache/tvm/pull/14556) - [Relay] fix a bug caused by IncompleteTypeNode in EinsumRel while doing MergeComposite * [#15057](https://github.com/apache/tvm/pull/15057) - [QNN] Implement quantized avg_pool2d * [#14536](https://github.com/apache/tvm/pull/14536) - [QNN] Implement 'qnn.softmax' * [#14875](https://github.com/apache/tvm/pull/14875) - [Quantization]: Update simulated_quantize to infer correct layout ### TOPI * [#15018](https://github.com/apache/tvm/pull/15018) - Fix dynamic dimensions support for Dense on TOPI side * [#14856](https://github.com/apache/tvm/pull/14856) - Fix in interpretation of empty axis parameter in reduction fun… * [#14483](https://github.com/apache/tvm/pull/14483) - [Target] Add SVE specific convolution * [#14839](https://github.com/apache/tvm/pull/14839) - Use f-strings for string formatting, NFC * [#14822](https://github.com/apache/tvm/pull/14822) - Use f-strings for string formatting, NFC * [#14519](https://github.com/apache/tvm/pull/14519) - Vectorize depthwise conv2d output operator * [#14549](https://github.com/apache/tvm/pull/14549) - remove the i32 cast for output shape of pool * [#14566](https://github.com/apache/tvm/pull/14566) - [Topi] Output strides in pack_buffer() utility ### Arith * [#15131](https://github.com/apache/tvm/pull/15131) - Hotfix flaky test in padded matmul * [#15120](https://github.com/apache/tvm/pull/15120) - NormalizeToIterSum * [#15081](https://github.com/apache/tvm/pull/15081) - Improve arith simplify to handle symbolic reshape pattern * [#14532](https://github.com/apache/tvm/pull/14532) - Implement statistics counters for RewriteSimplifier * [#14704](https://github.com/apache/tvm/pull/14704) - [cherry-pick][BUGFIX] Fix a bug of iter map floormod(x,2) simplify * [#14849](https://github.com/apache/tvm/pull/14849) - [TVMScript] Capture fails if var appears only in annotation * [#14596](https://github.com/apache/tvm/pull/14596) - [TensorIR] Improve CompactBufferRegion for symbolic shape * [#15129](https://github.com/apache/tvm/pull/15129) - [TIR] Recognize empty extents * [#14982](https://github.com/apache/tvm/pull/14982) - [TIR][VTA] Update host-side target, even without device func * [#14547](https://github.com/apache/tvm/pull/14547) - Enhance IterMapSimplify for symbolic * [#14571](https://github.com/apache/tvm/pull/14571) - [BUGFIX] Fix a bug of iter map floormod(x,2) simplify * [#14582](https://github.com/apache/tvm/pull/14582) - Fix solve inequality of unbound var ranges * [#14538](https://github.com/apache/tvm/pull/14538) - Enhance CanonicalSimplify to Simplify ProdDiv ### MetaSchedule * [#14781](https://github.com/apache/tvm/pull/14781) - [MetaSchedule] RPC port needs to be an integer * [#14673](https://github.com/apache/tvm/pull/14673) - Introduce MMA Tensor Core Multilevel Tiling * [#14784](https://github.com/apache/tvm/pull/14784) - Enhance `tune_tir` to tune IRModule of TIR Collections * [#14783](https://github.com/apache/tvm/pull/14783) - Add an API to dump a pruned database * [#14785](https://github.com/apache/tvm/pull/14785) - Clear screen only when specified * [#14654](https://github.com/apache/tvm/pull/14654) - Handle output cases for InlineConstantScalars * [#14642](https://github.com/apache/tvm/pull/14642) - PostProc not rewriting unroll for purely spatial block * [#14591](https://github.com/apache/tvm/pull/14591) - Handle cases when no features found by FeatureExtractor * [#14584](https://github.com/apache/tvm/pull/14584) - [ARM] Beautification of the function names ### TIR * [#15153](https://github.com/apache/tvm/pull/15153) - [TensorIR][Visitor] Visit buffer members in `match_buffer`'s in block visitor functions * [#15168](https://github.com/apache/tvm/pull/15168) - [Schedule] Support padding-by-factor in PadEinsum * [#15165](https://github.com/apache/tvm/pull/15165) - Expose UndefinedVars to Python * [#15163](https://github.com/apache/tvm/pull/15163) - Fix RenewDef for symbolic input shapes * [#15142](https://github.com/apache/tvm/pull/15142) - [Schedule] Enhance `compute-inline` for fusion * [#15150](https://github.com/apache/tvm/pull/15150) - Fix typo in code example * [#15144](https://github.com/apache/tvm/pull/15144) - [TensorIR][Schedule] New schedule primitive `unsafe_hide_buffer_access` * [#15146](https://github.com/apache/tvm/pull/15146) - Block dependence analysis without schedules * [#15119](https://github.com/apache/tvm/pull/15119) - Avoid duplicate GlobalVar names in SplitHostDevice * [#15037](https://github.com/apache/tvm/pull/15037) - Handle DeclBuffer in CacheReadWrite schedule primitive * [#15098](https://github.com/apache/tvm/pull/15098) - [Ethos-U]Handle DeclBuffer in Ethos-U inputs * [#15044](https://github.com/apache/tvm/pull/15044) - [USMP] Preserve DeclBuffer in PoolAllocationToOffsetConverter * [#15078](https://github.com/apache/tvm/pull/15078) - Handle DeclBuffer in LowerThreadAllreduce * [#15094](https://github.com/apache/tvm/pull/15094) - Handle DeclBuffer in MergeDynamicSharedMemoryAllocations * [#15093](https://github.com/apache/tvm/pull/15093) - Handle DeclBuffer in StorageAccessInfoLower * [#15045](https://github.com/apache/tvm/pull/15045) - Handle DeclBuffer in InjectDoubleBuffer * [#15096](https://github.com/apache/tvm/pull/15096) - Handle DeclBuffer in RemoveNoOp * [#15076](https://github.com/apache/tvm/pull/15076) - [CodeGen] Define PackedFunc error code in MakePackedAPI * [#15102](https://github.com/apache/tvm/pull/15102) - Update primfunc host attachment to include host * [#14854](https://github.com/apache/tvm/pull/14854) - [Compute-at] Enable complex floordiv/floormod expressions in compute_at * [#15041](https://github.com/apache/tvm/pull/15041) - Handle DeclBuffer in LowerCustomDatatypes * [#15038](https://github.com/apache/tvm/pull/15038) - Handle DeclBuffer in Inline/ComputeAt/ReverseComputeAt * [#15052](https://github.com/apache/tvm/pull/15052) - [Analysis] Handle DeclBuffer in FlopEstimator * [#15051](https://github.com/apache/tvm/pull/15051) - Handle DeclBuffer in StorageRewrite * [#15050](https://github.com/apache/tvm/pull/15050) - [Schedule] Fix decompose_padding bug with dtypes * [#15034](https://github.com/apache/tvm/pull/15034) - Refactor BlockScope outside schedule * [#15054](https://github.com/apache/tvm/pull/15054) - Handle DeclBuffer in IRSubstitute * [#14986](https://github.com/apache/tvm/pull/14986) - Move SplitHostDevice to before MakePackedAPI * [#15042](https://github.com/apache/tvm/pull/15042) - Handle DeclBuffer in StorageFlatten's input * [#15040](https://github.com/apache/tvm/pull/15040) - Preserve object equality in Buffer::GetFlattenedBuffer * [#14693](https://github.com/apache/tvm/pull/14693) - Enhance TVMScript Buffer Slice Access * [#14988](https://github.com/apache/tvm/pull/14988) - Handle callees on same target, different codegen * [#14951](https://github.com/apache/tvm/pull/14951) - Keep trivial LetStmt in tir.Simplify when used in buffer decl * [#14944](https://github.com/apache/tvm/pull/14944) - Restrict tir.transform.LowerTVMBuiltin to host functions * [#14990](https://github.com/apache/tvm/pull/14990) - [IR,TE,TIR] Use f-strings for string formatting, NFC * [#14993](https://github.com/apache/tvm/pull/14993) - Fix incorrect construction of block frames * [#14952](https://github.com/apache/tvm/pull/14952) - Avoid re-defining `var = arg_var` in ArgBinder * [#14918](https://github.com/apache/tvm/pull/14918) - SplitHostDevice, handle subroutines * [#14943](https://github.com/apache/tvm/pull/14943) - Restrict tir.transform.InstallDebugSpans to host functions * [#14942](https://github.com/apache/tvm/pull/14942) - Preserve existing kTarget function attribute in BindTarget * [#14945](https://github.com/apache/tvm/pull/14945) - Restrict tir.transform.CombineContextCall to host functions * [#14914](https://github.com/apache/tvm/pull/14914) - Handle subroutine calls in MakeUnpackedAPI * [#14913](https://github.com/apache/tvm/pull/14913) - Handle subroutine calls in MakePackedAPI * [#14892](https://github.com/apache/tvm/pull/14892) - Expand unit tests for ConvertSSA * [#14866](https://github.com/apache/tvm/pull/14866) - Avoid too complex predicate in compaction * [#14766](https://github.com/apache/tvm/pull/14766) - [Schedule] Improve blockize to support blockizing multiple blocks * [#14776](https://github.com/apache/tvm/pull/14776) - Improved parameter name in DLTensor unpacking error messages * [#14562](https://github.com/apache/tvm/pull/14562) - [Driver] Move ShouldAnnotateEntryFunc logic into transform * [#14741](https://github.com/apache/tvm/pull/14741) - Keep block annotations from tensorization * [#14021](https://github.com/apache/tvm/pull/14021) - More flexible buffer compaction * [#14711](https://github.com/apache/tvm/pull/14711) - [Analysis] Calculate allocated memory at module level * [#14492](https://github.com/apache/tvm/pull/14492) - Flatten SeqStmt on construction * [#14598](https://github.com/apache/tvm/pull/14598) - Add CUDA int4 tensor core intrinsics * [#14593](https://github.com/apache/tvm/pull/14593) - [Schedule] Method returning the function being worked on * [#14592](https://github.com/apache/tvm/pull/14592) - [TensorIR] Fix ComputeAt with perfect symbolic bound * [#14491](https://github.com/apache/tvm/pull/14491) - Use String instead of StringImm for AttrStmtNode::node * [#14626](https://github.com/apache/tvm/pull/14626) - [TensorIR]`reindex_cache_write` do not mutate init statement * [#14588](https://github.com/apache/tvm/pull/14588) - [Fix][TIR] UnifyThreadBinding creating unit loop with annotation * [#14589](https://github.com/apache/tvm/pull/14589) - [Fix][TIR][Analysis] Reduction block checking alloc_buffers ### TVMScript * [#15083](https://github.com/apache/tvm/pull/15083) - Avoid visiting repetition tensor in SetCommonPrefix Visitor * [#15091](https://github.com/apache/tvm/pull/15091) - [TIR]Convert tir.op operands to PrimExpr * [#14919](https://github.com/apache/tvm/pull/14919) - [TIR] Parse subroutine calls with no arguments * [#14941](https://github.com/apache/tvm/pull/14941) - Prevent bool to int conversion in T.Assert condition * [#14915](https://github.com/apache/tvm/pull/14915) - Allow T.target("device", host="host") to specify host * [#14900](https://github.com/apache/tvm/pull/14900) - Round-trip DeclBuffer with undefined data pointer * [#14889](https://github.com/apache/tvm/pull/14889) - [TIR]Added format/parsing of subroutine calls * [#14874](https://github.com/apache/tvm/pull/14874) - Use default fallback for un-registered type * [#14840](https://github.com/apache/tvm/pull/14840) - Print Executor, Runtime, and FunctionInfo as metadata * [#14812](https://github.com/apache/tvm/pull/14812) - Handle AllocatedPoolInfo, ConstantPoolInfo, ConstantInfo * [#14786](https://github.com/apache/tvm/pull/14786) - Add `__name__` attr for parsed PrimFunc and IRModule * [#14531](https://github.com/apache/tvm/pull/14531) - Preserve LetStmt of constants * [#14488](https://github.com/apache/tvm/pull/14488) - Distinguish between void* and handle ### TVMC * [#14994](https://github.com/apache/tvm/pull/14994) - [Bugfix]Fix tvmc option for printing which operators are offloaded to the Ethos-U ### LLVM * [#15127](https://github.com/apache/tvm/pull/15127) - Remove the "ret_void" argument of AddFunction * [#15139](https://github.com/apache/tvm/pull/15139) - Minor refactor to LLVMModuleNode::SaveToFile * [#14958](https://github.com/apache/tvm/pull/14958) - [Codegen]Allow void return type from PackedFunc * [#14946](https://github.com/apache/tvm/pull/14946) - Expose Host CPU Feature Detection * [#14901](https://github.com/apache/tvm/pull/14901) - Codegen subroutine call when CallNode::op is GlobalVar * [#14570](https://github.com/apache/tvm/pull/14570) - Use Var annotation in LetStmt for pointer type * [#14843](https://github.com/apache/tvm/pull/14843) - [RUNTIME] Enable multi systemlib with device code * [#14564](https://github.com/apache/tvm/pull/14564) - Validate generated LLVM module before optimization * [#14568](https://github.com/apache/tvm/pull/14568) - Expand tvm::Type to DWARF conversion * [#14563](https://github.com/apache/tvm/pull/14563) - [Codegen]Remove cast to i8* in builtin::address_of ### BugFix * [#14960](https://github.com/apache/tvm/pull/14960) - [Bug] Add typing_extensions requirement again * [#15015](https://github.com/apache/tvm/pull/15015) - [Hotfix] Remove `LOG(INFO)` from unsupported dtype legalization pass * [#14991](https://github.com/apache/tvm/pull/14991) - Make ThreadAllReduce pass compatible with int64 * [#14950](https://github.com/apache/tvm/pull/14950) - Avoid symbol conflicts in MakePackedAPI/MakeUnpackedAPI * [#14903](https://github.com/apache/tvm/pull/14903) - [Test Cases]Add some version check to make test cases run in all PyTorch versions * [#14890](https://github.com/apache/tvm/pull/14890) - [Fix] Fix typo in error message * [#14879](https://github.com/apache/tvm/pull/14879) - fix the undeclared identifier 'f' * [#14857](https://github.com/apache/tvm/pull/14857) - Fix batch_norm * [#14787](https://github.com/apache/tvm/pull/14787) - [FIX] fix typo in comment ## CI * [#15179](https://github.com/apache/tvm/pull/15179) - [Testing] Utility method to run TVM on remote device * [#15138](https://github.com/apache/tvm/pull/15138) - [Test] Improve check for TVMError exception in test_cast * [#15062](https://github.com/apache/tvm/pull/15062) - Clone submodule recursively * [#15065](https://github.com/apache/tvm/pull/15065) - Revert "Make Graviton3 default AArch64 job runner node (#14983)" * [#14983](https://github.com/apache/tvm/pull/14983) - Make Graviton3 default AArch64 job runner node * [#15056](https://github.com/apache/tvm/pull/15056) - [Bugfix]Fix CacheControl version constraint violation * [#14908](https://github.com/apache/tvm/pull/14908) - Update the expected CI jobs list in the update_branch script * [#14847](https://github.com/apache/tvm/pull/14847) - Update CPU image to install PyTorch * [#14808](https://github.com/apache/tvm/pull/14808) - [Testing] Use TVMScript's "name" argument for error messages * [#14780](https://github.com/apache/tvm/pull/14780) - fix doc deploy issue * [#14651](https://github.com/apache/tvm/pull/14651) - Modify test cases to accommodate the CI upgrades * [#14666](https://github.com/apache/tvm/pull/14666) - sccache support while using ci.py under multi user environments * [#14635](https://github.com/apache/tvm/pull/14635) - Upgrade CI * [#14713](https://github.com/apache/tvm/pull/14713) - Add PLATFORM env var to builds * [#14680](https://github.com/apache/tvm/pull/14680) - Downgrade ci_cpu llvm version back to 11 * [#14653](https://github.com/apache/tvm/pull/14653) - [tests][scripts][release] Optimize release note script about categories etc * [#14646](https://github.com/apache/tvm/pull/14646) - [test][script] Fix release gather_pr.py of script about ghost users or blank PR nodes * [#14550](https://github.com/apache/tvm/pull/14550) - Add JAX deps in Dockerfiles * [#14466](https://github.com/apache/tvm/pull/14466) - Update ci_cpu image and build with llvm-15 ### Docker * [#15149](https://github.com/apache/tvm/pull/15149) - Fix build.sh environment variables * [#15105](https://github.com/apache/tvm/pull/15105) - Update docker images for llvm-16 * [#15092](https://github.com/apache/tvm/pull/15092) - Update ci-cortexm docker image to contain CMSIS-NN release v… * [#15095](https://github.com/apache/tvm/pull/15095) - Add build.sh environment variables * [#15067](https://github.com/apache/tvm/pull/15067) - Migrate arm docker image to use llvm packages * [#15031](https://github.com/apache/tvm/pull/15031) - Update ci_cpu docker image to one containing polly package f… * [#15003](https://github.com/apache/tvm/pull/15003) - [ADRENO] Docker setup changes for multi user environments * [#14912](https://github.com/apache/tvm/pull/14912) - Add polly package * [#14842](https://github.com/apache/tvm/pull/14842) - Install PyTorch on cpu image * [#14590](https://github.com/apache/tvm/pull/14590) - Support rootless docker when using docker/bash.sh ### Docs * [#15126](https://github.com/apache/tvm/pull/15126) - [DOC] Add RPC System Setup Document * [#15071](https://github.com/apache/tvm/pull/15071) - Updated the copyright year from 2020 to 2023 * [#15055](https://github.com/apache/tvm/pull/15055) - [DOC][TUTORIAL] Fix typo for the 'Making your Hardware Accelerator TVM-ready with UMA' * [#14504](https://github.com/apache/tvm/pull/14504) - [TensorIR][Doc] Docstring of `reorder_block_iter_var` * [#14611](https://github.com/apache/tvm/pull/14611) - [TIR] Fix unsafe_set_dtype docstring * [#14585](https://github.com/apache/tvm/pull/14585) - Fix typo in the Vitis AI Integration docs ### Misc * [#15267](https://github.com/apache/tvm/pull/15267) - [release] Disable git merge to avoid conflict * [#15187](https://github.com/apache/tvm/pull/15187) - [RPC] Report RPC Session Timeout to Client Instead of "kShutdown" * [#15185](https://github.com/apache/tvm/pull/15185) - Update tvm_runtime.h * [#15164](https://github.com/apache/tvm/pull/15164) - [CMake] Support LLVM-16 static linking * [#15167](https://github.com/apache/tvm/pull/15167) - [Python] Enhance Wheel Packaging * [#15166](https://github.com/apache/tvm/pull/15166) - [Target] Add MetaSchedule-compatible attributes to OpenCL * [#15154](https://github.com/apache/tvm/pull/15154) - [Minor] Fix Compilation Warnings * [#15132](https://github.com/apache/tvm/pull/15132) - [NDArray] Allow creating a view from a strided array * [#15116](https://github.com/apache/tvm/pull/15116) - [RPC] Add Missing Option "port_end" to RPC Proxy * [#15073](https://github.com/apache/tvm/pull/15073) - [CodeGenC] Use PrimFuncNode::ret_type in function signature * [#15036](https://github.com/apache/tvm/pull/15036) - [StackVM] Updated CodeGenStackVM to handle DeclBuffer * [#15022](https://github.com/apache/tvm/pull/15022) - [Build] Fix missing virtual destructor in SIBuilder * [#15016](https://github.com/apache/tvm/pull/15016) - Fix type parse error about AdaptiveMaxPool * [#15007](https://github.com/apache/tvm/pull/15007) - [Minor] Fix compilation warnings * [#15000](https://github.com/apache/tvm/pull/15000) - [CMAKE] Introduce dummy build as an option * [#14863](https://github.com/apache/tvm/pull/14863) - [DataType] Initial support of fp8 (e4m3/e5m2) * [#14975](https://github.com/apache/tvm/pull/14975) - [CMAKE] Add a dummy target to defer libtvm dep * [#14574](https://github.com/apache/tvm/pull/14574) - [IR][SIBuilder] * [#14939](https://github.com/apache/tvm/pull/14939) - [Target] Add target to all TVM callbacks * [#14937](https://github.com/apache/tvm/pull/14937) - [BUILD] Enable log before throw message in windows * [#14934](https://github.com/apache/tvm/pull/14934) - [TestCases] fix unreachable test cases due to outside the for-loop * [#14916](https://github.com/apache/tvm/pull/14916) - [TypoFix] fix some typo problem in keras frontend * [#14893](https://github.com/apache/tvm/pull/14893) - [Contrib] Use f-strings for string formatting, NFC * [#14884](https://github.com/apache/tvm/pull/14884) - [AutoTVM] Use f-strings for string formatting, NFC * [#14876](https://github.com/apache/tvm/pull/14876) - [CONTRIB] Enable create_staticlib to take in tar files * [#14867](https://github.com/apache/tvm/pull/14867) - Fix f-string typo * [#14851](https://github.com/apache/tvm/pull/14851) - Add v0.12.0 docs * [#14813](https://github.com/apache/tvm/pull/14813) - [BUILD] Removed the duplicated MACROs in config.cmake * [#14743](https://github.com/apache/tvm/pull/14743) - [SUPPORT] Fix RingBuffer ReadWithCallback * [#14799](https://github.com/apache/tvm/pull/14799) - [LINT] Fix clang-format script for newest clang-format * [#14797](https://github.com/apache/tvm/pull/14797) - [NDArray] Allow arbitrary stride when the corresponding shape is 1 * [#14790](https://github.com/apache/tvm/pull/14790) - More clear ref of thirdparty license * [#14779](https://github.com/apache/tvm/pull/14779) - fix: use arm on demand instead of spot * [#14762](https://github.com/apache/tvm/pull/14762) - [Target][Minor] Add A6000 Target Tag * [#14683](https://github.com/apache/tvm/pull/14683) - [AutoTVM] Added Droplet algorithm in TVM * [#14694](https://github.com/apache/tvm/pull/14694) - unify search path approach to various libs * [#14686](https://github.com/apache/tvm/pull/14686) - [CMAKE] Update search pattern of config * [#14636](https://github.com/apache/tvm/pull/14636) - Fix bug about wrong attribute name * [#14628](https://github.com/apache/tvm/pull/14628) - [CODEGEN] Fix metal codegen when with only single working dim * [#14607](https://github.com/apache/tvm/pull/14607) - fix: deploy ci * [#14569](https://github.com/apache/tvm/pull/14569) - [Node] Allow alternative root names in ObjectPath::Root() * [#14522](https://github.com/apache/tvm/pull/14522) - [Object] Implemented .as<T> for ObjectRef param, returns Optional<T> * [#14477](https://github.com/apache/tvm/pull/14477) - feat: use spot instances for ci with on demand as a backup * [#14468](https://github.com/apache/tvm/pull/14468) - [AutoTVM] New rank-binary loss_type for the new xgboost >= 2.0.0 behaviour * [#14544](https://github.com/apache/tvm/pull/14544) - Update to v0.13.dev0 * [#14539](https://github.com/apache/tvm/pull/14539) - [Target] Add Apple M1 GPU tag with 256-thread restriction