TVM Monthly - May 2023

TVM Monthly - May 2023

Note: This montly report contains main branch only.

As discussed by the TVM PMC, our goal is to provide a monthly summary of the project so users and developers can get a better understanding of the goings on of the TVM community.

Feedback and suggestions are welcomed so that we can further improve these updates.

Community

During May of 2023 we welcomed many new contributors to the project. Importantly we welcomed Anirudh Sundar Subramaniam as new committers. Thanks to everyone for the hard work and contributions!

We continue to improve TensorIR, MetaSchedule, Frontend and other runtimes.

Pull Requests

The below is high-level summary of the PRs closed in the last month grouped by area.

Community

  • #14853 - Anirudh Sundar Subramaniam → Committer
  • #14772 - Add new key for release signing

Arith

  • #14532 - Implement statistics counters for RewriteSimplifier

CI

  • #14908 - Update the expected CI jobs list in the update_branch script
  • #14847 - Update CPU image to install PyTorch
  • #14808 - [Testing] Use TVMScript’s “name” argument for error messages
  • #14780 - fix doc deploy issue
  • #14651 - Modify test cases to accommodate the CI upgrades
  • #14666 - sccache support while using ci.py under multi user environments
  • #14635 - Upgrade CI

Docker

  • #14912 - Add polly package
  • #14842 - Install PyTorch on cpu image

Frontend

  • #14963 - [Bugfix][PyTorch] Support use_input_stats in instance_norm
  • #14826 - [Paddle] [PaddlePaddle Hackathon 4] add convert support for p_norm/roi_align/softmax_with_cross_entropy
  • #14819 - [TFLite]Generate name when tensor name is missing
  • #14830 - Use f-strings for string formatting, NFC
  • #14747 - [PyTorch] Add aten::new_zeros

Hexagon

  • #14948 - Update instructions to compile hexagon runtime
  • #14965 - Add support for v73, make v68 default

LLVM

  • #14958 - [Codegen]Allow void return type from PackedFunc
  • #14946 - Expose Host CPU Feature Detection
  • #14901 - Codegen subroutine call when CallNode::op is GlobalVar
  • #14570 - Use Var annotation in LetStmt for pointer type
  • #14843 - [RUNTIME] Enable multi systemlib with device code

MetaSchedule

  • #14784 - Enhance tune_tir to tune IRModule of TIR Collections
  • #14783 - Add an API to dump a pruned database
  • #14785 - Clear screen only when specified
  • #14781 - [Bugfix]RPC port needs to be an integer

OpenCL & CLML

  • #14995 - [OpenCL] Improve diagnostic message
  • #14833 - [Codegen][OpenCL] fix amibiguous selection operator call
  • #14792 - [OpenCL] Refactor OpenCL runtime to support SPIRV binary ingestion

Relay

  • #14925 - add a dimension check to reject invalid input
  • #14858 - [simplify_expr]: Add pass to remove trivial transpose ops
  • #14838 - Use f-strings for string formatting, NFC
  • #14831 - [Relay/Op] Use f-strings for string formatting, NFC
  • #14580 - Simplify the square of a binomial

Runtime

  • #14967 - [Runtime,RPC] Use f-strings for string formatting, NFC
  • #14887 - Make systemlib unique per prefix
  • #14775 - Added str for tvm._ffi.runtime_ctypes.TVMArray

TIR

  • #14993 - Fix incorrect construction of block frames
  • #14982 - [Bugfix][VTA] Update host-side target, even without device func
  • #14952 - Avoid re-defining var = arg_var in ArgBinder
  • #14918 - SplitHostDevice, handle subroutines
  • #14943 - Restrict tir.transform.InstallDebugSpans to host functions
  • #14942 - Preserve existing kTarget function attribute in BindTarget
  • #14945 - Restrict tir.transform.CombineContextCall to host functions
  • #14914 - Handle subroutine calls in MakeUnpackedAPI
  • #14913 - Handle subroutine calls in MakePackedAPI
  • #14892 - Expand unit tests for ConvertSSA
  • #14866 - Avoid too complex predicate in compaction
  • #14766 - [Schedule] Improve blockize to support blockizing multiple blocks
  • #14776 - Improved parameter name in DLTensor unpacking error messages
  • #14562 - [Driver] Move ShouldAnnotateEntryFunc logic into transform
  • #14741 - Keep block annotations from tensorization

TOPI

  • #14856 - Fix in interpretation of empty axis parameter in reduction fun…
  • #14483 - [Target] Add SVE specific convolution
  • #14839 - Use f-strings for string formatting, NFC
  • #14822 - Use f-strings for string formatting, NFC
  • #14519 - Vectorize depthwise conv2d output operator

TVMScript

  • #14919 - [TIR] Parse subroutine calls with no arguments
  • #14941 - Prevent bool to int conversion in T.Assert condition
  • #14915 - Allow T.target(“device”, host=“host”) to specify host
  • #14900 - Round-trip DeclBuffer with undefined data pointer
  • #14889 - [TIR]Added format/parsing of subroutine calls
  • #14874 - Use default fallback for un-registered type
  • #14849 - [Bugfix]Capture fails if var appears only in annotation
  • #14840 - Print Executor, Runtime, and FunctionInfo as metadata
  • #14812 - Handle AllocatedPoolInfo, ConstantPoolInfo, ConstantInfo
  • #14786 - Add __name__ attr for parsed PrimFunc and IRModule
  • #14531 - Preserve LetStmt of constants

cuda & cutlass & tensorrt

  • #14751 - [CUDA] Fixed the call of the min function in the schedule for cuda
  • #14798 - [CUTLASS] Add NDEBUG option to CUTLASS compile to speed up attention kernel

metal

  • #14962 - Fix int8 vectorized cast
  • #14846 - Fix vectorized select

micoNPU

  • #14861 - [microNPU][ETHOSU] Add offloading to the NPU the nn.avg_pool2d operator with a stride > 3
  • #14765 - [microNPU][ETHOSU] Channel pad offloaded to NPU
  • #14774 - [microNPU][ETHOSU] Fix Softmax quantization parameters

microTVM

  • #14872 - Use self.close_transport() on error

Misc

  • #14975 - [CMAKE] Add a dummy target to defer libtvm dep
  • #14574 - [IR][SIBuilder]
  • #14930 - Fix pytorch axis
  • #14939 - [Target] Add target to all TVM callbacks
  • #14937 - [BUILD] Enable log before throw message in windows
  • #14934 - [TestCases] fix unreachable test cases due to outside the for-loop
  • #14916 - [TypoFix] fix some typo problem in keras frontend
  • #14893 - [Contrib] Use f-strings for string formatting, NFC
  • #14817 - [Vulkan] Add cooperative matrix support
  • #14884 - [AutoTVM] Use f-strings for string formatting, NFC
  • #14876 - [CONTRIB] Enable create_staticlib to take in tar files
  • #14875 - [Quantization]: Update simulated_quantize to infer correct layout
  • #14867 - Fix f-string typo
  • #14536 - [QNN] Implement ‘qnn.softmax’
  • #14851 - Add v0.12.0 docs
  • #14813 - [BUILD] Removed the duplicated MACROs in config.cmake
  • #14743 - [SUPPORT] Fix RingBuffer ReadWithCallback
  • #14767 - [OpenCLML] Transposed convolution support and other fixes
  • #14799 - [LINT] Fix clang-format script for newest clang-format
  • #14797 - [NDArray] Allow arbitrary stride when the corresponding shape is 1
  • #14790 - More clear ref of thirdparty license
  • #14779 - fix: use arm on demand instead of spot
  • #14762 - [Target][Minor] Add A6000 Target Tag

BugFix

  • #14991 - Make ThreadAllReduce pass compatible with int64
  • #14950 - Avoid symbol conflicts in MakePackedAPI/MakeUnpackedAPI
  • #14903 - [Test Cases]Add some version check to make test cases run in all PyTorch versions
  • #14885 - [Relay] fix broadcast in PyTorch frontend
  • #14890 - [Fix] Fix typo in error message
  • #14879 - fix the undeclared identifier ‘f’
  • #14857 - Fix batch_norm
  • #14787 - [FIX] fix typo in comment
  • #14845 - [Relay] Fix softplus in paddlepaddle frontend
  • #14837 - [Relay] Fix AdaptiveAvgPool2d about wrong dtype prasing
  • #14821 - [Relay] Fix softplus about the wrong calculation formula in Relay PyTorch frontend
  • #14820 - [Relay] Fix threshold calculation logic in PyTorch frontend
  • #14824 - [Relay]fix a bug about ReLu in the threshold attribute which causes a different results with keras
  • #14796 - [relay] fix wrong calculate logic about celu
  • #14773 - [Relay] fix scatter_nd type relation
  • #14782 - [Codegen][CUDA] Wrong casting in ASM
  • #14742 - [relay] Fix alpha attribute with None in ELU

Contributors Whose Pull Requests were Updated

Note: The format is name (number of activities).

Disclaimer: number of activities do not directly correspond to the community’s view about the significance of contributions. Data is from 2023-05-01&to=2023-05-31.

Lunderberg(25), jikechao(12), kparzysz-quic(11), tqchen(11), masahi(5), junrushao(4), Hzfengsy(3), vinx13(2), yzh119(2), srkreddy1238(2), echuraev(2), wrongtest-intellif(1), ashutosh-arm(1), quic-sanirudh(1), spectrometerHBH(1), gigiblender(1).

2 Likes