From 9ee3ad1a68df1861dab3547c5c23ff09caa5779d Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Fri, 23 Sep 2022 15:49:52 -0700 Subject: [PATCH 01/17] hook up topi --- python/tvm/relay/op/nn/_nn.py | 3 +++ python/tvm/relay/op/strategy/generic.py | 24 +++++++++++++++++++ src/relay/op/nn/nn.cc | 3 ++- src/relay/transforms/simplify_inference.cc | 27 ---------------------- 4 files changed, 29 insertions(+), 28 deletions(-) diff --git a/python/tvm/relay/op/nn/_nn.py b/python/tvm/relay/op/nn/_nn.py index e956c82828c1..e552b71edeee 100644 --- a/python/tvm/relay/op/nn/_nn.py +++ b/python/tvm/relay/op/nn/_nn.py @@ -47,6 +47,9 @@ # log_softmax reg.register_strategy("nn.log_softmax", strategy.log_softmax_strategy) +# layer_norm +reg.register_strategy("nn.layer_norm", strategy.layer_norm_strategy) + @reg.register_legalize("nn.matmul") def legalize_matmul(attrs, inputs, types): diff --git a/python/tvm/relay/op/strategy/generic.py b/python/tvm/relay/op/strategy/generic.py index 1cf55f7145cd..9b6e5251cef5 100644 --- a/python/tvm/relay/op/strategy/generic.py +++ b/python/tvm/relay/op/strategy/generic.py @@ -197,6 +197,30 @@ def log_softmax_strategy(attrs, inputs, out_type, target): return strategy +def wrap_layer_norm_strategy(topi_compute): + """Wrap softmax topi compute""" + + def _compute_layer_norm(attrs, inputs, out_type): + axis = attrs.axis + epsilon = attrs.epsilon + # TODO: forward center and scale + # TODO: make list of axis more soon + return [topi_compute(inputs[0], inputs[1], inputs[2], [axis], epsilon)] + + return _compute_layer_norm + + +@override_native_generic_func("layer_norm_strategy") +def layer_norm_strategy(attrs, inputs, out_type, target): + strategy = _op.OpStrategy() + strategy.add_implementation( + wrap_layer_norm_strategy(topi.nn.layer_norm), + wrap_topi_schedule(topi.generic.schedule_injective), + name="layer_norm.generic", + ) + return strategy + + # lrn @generic_func def schedule_lrn(attrs, outs, target): diff --git a/src/relay/op/nn/nn.cc b/src/relay/op/nn/nn.cc index 9e2fe63b006a..2165e13bc406 100644 --- a/src/relay/op/nn/nn.cc +++ b/src/relay/op/nn/nn.cc @@ -1024,7 +1024,8 @@ RELAY_REGISTER_OP("nn.layer_norm") .set_attr("FInferCorrectLayout", NormalizationInferCorrectLayout) .set_support_level(1) - .add_type_rel("LayerNorm", LayerNormRel); + .add_type_rel("LayerNorm", LayerNormRel) + .set_attr("TOpPattern", kOutEWiseFusable); // group_norm TVM_REGISTER_NODE_TYPE(GroupNormAttrs); diff --git a/src/relay/transforms/simplify_inference.cc b/src/relay/transforms/simplify_inference.cc index e7eef41e41c4..ab587a902caf 100644 --- a/src/relay/transforms/simplify_inference.cc +++ b/src/relay/transforms/simplify_inference.cc @@ -115,29 +115,6 @@ Expr GroupNormToInferUnpack(const Attrs attrs, Expr data, Expr gamma, Expr beta, return out; } -Expr LayerNormToInferUnpack(const Attrs attrs, Expr data, Expr gamma, Expr beta, Type tdata) { - auto ttype = tdata.as(); - ICHECK(ttype); - const auto param = attrs.as(); - ICHECK(param); - - Expr epsilon = MakeConstantScalar(ttype->dtype, static_cast(param->epsilon)); - Expr mean = Mean(data, {param->axis}, true, false); - Expr var = Variance(data, mean, {param->axis}, true, false); - Expr denom = Sqrt(Add(var, epsilon)); - Expr out = Divide(Subtract(data, mean), denom); - - size_t ndim = ttype->shape.size(); - int axis = (param->axis < 0) ? param->axis + ndim : param->axis; - if (param->scale) { - out = Multiply(out, ExpandBiasToMatchAxis(gamma, ndim, {axis})); - } - if (param->center) { - out = Add(out, ExpandBiasToMatchAxis(beta, ndim, {axis})); - } - return out; -} - Expr InstanceNormToInferUnpack(const Attrs attrs, Expr data, Expr gamma, Expr beta, Type tdata) { auto ttype = tdata.as(); ICHECK(ttype); @@ -207,10 +184,6 @@ class InferenceSimplifier : public MixedModeMutator { Expr Rewrite_(const CallNode* n, const Expr& new_n) { if (n->op == batch_norm_op_) { ty_map_[new_n.as()->args[0]] = n->args[0]->checked_type(); - } else if (n->op == layer_norm_op_) { - const auto* call = new_n.as(); - return LayerNormToInferUnpack(call->attrs, call->args[0], call->args[1], call->args[2], - n->args[0]->checked_type()); } else if (n->op == group_norm_op_) { const auto* call = new_n.as(); return GroupNormToInferUnpack(call->attrs, call->args[0], call->args[1], call->args[2], From 23d60e8c97cb94b91530600ce7b0cd6e600a136f Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Fri, 23 Sep 2022 16:16:57 -0700 Subject: [PATCH 02/17] this works lol --- src/meta_schedule/schedule_rule/random_compute_location.cc | 3 ++- src/relay/op/nn/nn.cc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/meta_schedule/schedule_rule/random_compute_location.cc b/src/meta_schedule/schedule_rule/random_compute_location.cc index 7796eddd44d3..b50ae6a6c0d5 100644 --- a/src/meta_schedule/schedule_rule/random_compute_location.cc +++ b/src/meta_schedule/schedule_rule/random_compute_location.cc @@ -43,7 +43,8 @@ class RandomComputeLocationNode : public ScheduleRuleNode { true)) { producers = sch->GetProducers(block_rv); sch->Unannotate(block_rv, tir::attr::meta_schedule_random_compute_producer); - ICHECK_EQ(producers.size(), 1); + + // ICHECK_EQ(producers.size(), 1); } // Step 2. Transform the input block. diff --git a/src/relay/op/nn/nn.cc b/src/relay/op/nn/nn.cc index 2165e13bc406..adbd6ee3d694 100644 --- a/src/relay/op/nn/nn.cc +++ b/src/relay/op/nn/nn.cc @@ -1025,7 +1025,7 @@ RELAY_REGISTER_OP("nn.layer_norm") NormalizationInferCorrectLayout) .set_support_level(1) .add_type_rel("LayerNorm", LayerNormRel) - .set_attr("TOpPattern", kOutEWiseFusable); + .set_attr("TOpPattern", kOpaque); // group_norm TVM_REGISTER_NODE_TYPE(GroupNormAttrs); From 26fc5ff6876937ecdbe8ff287746c01a83fbeef1 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Fri, 23 Sep 2022 16:33:21 -0700 Subject: [PATCH 03/17] cuda sch --- python/tvm/relay/op/strategy/cuda.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/python/tvm/relay/op/strategy/cuda.py b/python/tvm/relay/op/strategy/cuda.py index cc438092666a..c130dd3ba0a1 100644 --- a/python/tvm/relay/op/strategy/cuda.py +++ b/python/tvm/relay/op/strategy/cuda.py @@ -125,6 +125,17 @@ def log_softmax_strategy_cuda(attrs, inputs, out_type, target): return strategy +@layer_norm_strategy.register(["cuda", "gpu"]) +def layer_norm_strategy_cuda(attrs, inputs, out_type, target): + strategy = _op.OpStrategy() + strategy.add_implementation( + wrap_layer_norm_strategy(topi.nn.layer_norm), + wrap_topi_schedule(topi.cuda.schedule_injective), + name="layer_norm.cuda", + ) + return strategy + + @schedule_lrn.register(["cuda", "gpu"]) def schedule_lrn_cuda(attrs, outs, target): """schedule LRN for cuda""" From 00e386b693efbecc46816df83a26a4f4c8e03ce3 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Mon, 26 Sep 2022 12:29:13 -0700 Subject: [PATCH 04/17] hook up loop --- src/tir/schedule/primitive/get_block_loop.cc | 22 +++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/tir/schedule/primitive/get_block_loop.cc b/src/tir/schedule/primitive/get_block_loop.cc index 72f43a8d4929..6b92499eea45 100644 --- a/src/tir/schedule/primitive/get_block_loop.cc +++ b/src/tir/schedule/primitive/get_block_loop.cc @@ -80,12 +80,28 @@ Array GetChildBlocks(const ScheduleState& self, const StmtSRef& parent Array GetProducers(const ScheduleState& self, const StmtSRef& block_sref) { StmtSRef scope_root = GetScopeRoot(self, block_sref, /*require_stage_pipeline=*/false); - return tir::GetProducers(block_sref, self->GetBlockScope(scope_root)); + Array edges = self->GetBlockScope(scope_root)->GetDepsByDst(block_sref); + std::unordered_set results; + results.reserve(edges.size()); + for (const Dependency& edge : edges) { + if (edge->kind == DepKind::kRAW || edge->kind == DepKind::kWAW) { + results.emplace(edge->src); + } + } + return Array(results.begin(), results.end()); } Array GetConsumers(const ScheduleState& self, const StmtSRef& block_sref) { StmtSRef scope_root = GetScopeRoot(self, block_sref, /*require_stage_pipeline=*/false); - return tir::GetConsumers(block_sref, self->GetBlockScope(scope_root)); + Array edges = self->GetBlockScope(scope_root)->GetDepsBySrc(block_sref); + std::unordered_set results; + results.reserve(edges.size()); + for (const Dependency& edge : edges) { + if (edge->kind == DepKind::kRAW || edge->kind == DepKind::kWAW) { + results.emplace(edge->dst); + } + } + return Array(results.begin(), results.end()); } /******** InstructionKind Registration ********/ @@ -225,4 +241,4 @@ TVM_REGISTER_INST_KIND_TRAITS(GetProducersTraits); TVM_REGISTER_INST_KIND_TRAITS(GetConsumersTraits); } // namespace tir -} // namespace tvm +} // namespace tvm \ No newline at end of file From 4c7caa1c1ddffb56bd88d61281989d2db791a93a Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Mon, 26 Sep 2022 13:48:32 -0700 Subject: [PATCH 05/17] manual merge --- .../schedule_rule/random_compute_location.cc | 3 +-- src/tir/schedule/primitive/get_block_loop.cc | 22 ++++++++++++------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/meta_schedule/schedule_rule/random_compute_location.cc b/src/meta_schedule/schedule_rule/random_compute_location.cc index b50ae6a6c0d5..7796eddd44d3 100644 --- a/src/meta_schedule/schedule_rule/random_compute_location.cc +++ b/src/meta_schedule/schedule_rule/random_compute_location.cc @@ -43,8 +43,7 @@ class RandomComputeLocationNode : public ScheduleRuleNode { true)) { producers = sch->GetProducers(block_rv); sch->Unannotate(block_rv, tir::attr::meta_schedule_random_compute_producer); - - // ICHECK_EQ(producers.size(), 1); + ICHECK_EQ(producers.size(), 1); } // Step 2. Transform the input block. diff --git a/src/tir/schedule/primitive/get_block_loop.cc b/src/tir/schedule/primitive/get_block_loop.cc index 6b92499eea45..0fa12d1d5583 100644 --- a/src/tir/schedule/primitive/get_block_loop.cc +++ b/src/tir/schedule/primitive/get_block_loop.cc @@ -81,27 +81,33 @@ Array GetChildBlocks(const ScheduleState& self, const StmtSRef& parent Array GetProducers(const ScheduleState& self, const StmtSRef& block_sref) { StmtSRef scope_root = GetScopeRoot(self, block_sref, /*require_stage_pipeline=*/false); Array edges = self->GetBlockScope(scope_root)->GetDepsByDst(block_sref); - std::unordered_set results; + Array results; + std::unordered_set result_set; results.reserve(edges.size()); for (const Dependency& edge : edges) { - if (edge->kind == DepKind::kRAW || edge->kind == DepKind::kWAW) { - results.emplace(edge->src); + if ((edge->kind == DepKind::kRAW || edge->kind == DepKind::kWAW) && + !result_set.count(edge->src)) { + results.push_back(edge->src); + result_set.emplace(edge->src); } } - return Array(results.begin(), results.end()); + return results; } Array GetConsumers(const ScheduleState& self, const StmtSRef& block_sref) { StmtSRef scope_root = GetScopeRoot(self, block_sref, /*require_stage_pipeline=*/false); Array edges = self->GetBlockScope(scope_root)->GetDepsBySrc(block_sref); - std::unordered_set results; + Array results; + std::unordered_set result_set; results.reserve(edges.size()); for (const Dependency& edge : edges) { - if (edge->kind == DepKind::kRAW || edge->kind == DepKind::kWAW) { - results.emplace(edge->dst); + if ((edge->kind == DepKind::kRAW || edge->kind == DepKind::kWAW) && + !result_set.count(edge->dst)) { + results.push_back(edge->dst); + result_set.emplace(edge->dst); } } - return Array(results.begin(), results.end()); + return results; } /******** InstructionKind Registration ********/ From f4d6d1563d59ac9e1ea39547d3d1087f3ace1f72 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Tue, 27 Sep 2022 22:52:18 -0700 Subject: [PATCH 06/17] fp16 conversion --- src/runtime/pack_args.h | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/runtime/pack_args.h b/src/runtime/pack_args.h index 5291b12fa13e..3a1e7fdc7175 100644 --- a/src/runtime/pack_args.h +++ b/src/runtime/pack_args.h @@ -43,6 +43,8 @@ namespace runtime { * \brief argument union type of 32bit. */ union ArgUnion32 { + // uint16 useful for 16 bit types like FP16. + uint16_t v_uint16[2]; int32_t v_int32; uint32_t v_uint32; float v_float32; @@ -52,6 +54,8 @@ union ArgUnion32 { * \brief argument union type of 64 bit, for use by Vulkan and Metal runtime. */ union ArgUnion64 { + // uint16 useful for 16 bit types like FP16. + uint16_t v_uint16[4]; int32_t v_int32[2]; uint32_t v_uint32[2]; float v_float32[2]; @@ -125,11 +129,33 @@ enum ArgConvertCode { INT64_TO_INT64, INT64_TO_INT32, INT64_TO_UINT32, + FLOAT64_TO_FLOAT16, FLOAT64_TO_FLOAT32, FLOAT64_TO_FLOAT64, HANDLE_TO_HANDLE }; +uint as_uint(const float x) { + return reinterpret_cast(x); +} +float as_float(const uint x) { + return reinterpret_cast(x); +} + +// FROM https://stackoverflow.com/questions/1659440/32-bit-to-16-bit-floating-point-conversion by ProjectPhysX +float half_to_float(const ushort x) { // IEEE-754 16-bit floating-point format (without infinity): 1-5-10, exp-15, +-131008.0, +-6.1035156E-5, +-5.9604645E-8, 3.311 digits + const uint e = (x&0x7C00)>>10; // exponent + const uint m = (x&0x03FF)<<13; // mantissa + const uint v = as_uint((float)m)>>23; // evil log2 bit hack to count leading zeros in denormalized format + return as_float((x&0x8000)<<16 | (e!=0)*((e+112)<<23|m) | ((e==0)&(m!=0))*((v-37)<<23|((m<<(150-v))&0x007FE000))); // sign : normalized : denormalized +} +ushort float_to_half(const float x) { // IEEE-754 16-bit floating-point format (without infinity): 1-5-10, exp-15, +-131008.0, +-6.1035156E-5, +-5.9604645E-8, 3.311 digits + const uint b = as_uint(x)+0x00001000; // round-to-nearest-even: add last bit after truncated mantissa + const uint e = (b&0x7F800000)>>23; // exponent + const uint m = b&0x007FFFFF; // mantissa; in line below: 0x007FF000 = 0x00800000-0x00001000 = decimal indicator flag - initial rounding + return (b&0x80000000)>>16 | (e>112)*((((e-112)<<10)&0x7C00)|m>>13) | ((e<113)&(e>101))*((((0x007FF000+m)>>(125-e))+1)>>1) | (e>143)*0x7FFF; // sign : normalized : denormalized : saturate +} + inline ArgConvertCode GetArgConvertCode(DLDataType t) { ICHECK_EQ(t.lanes, 1U) << "Cannot pass vector type argument to devic function for now"; if (t.code == kDLInt) { @@ -140,6 +166,7 @@ inline ArgConvertCode GetArgConvertCode(DLDataType t) { } else if (t.code == kDLFloat) { if (t.bits == 64U) return FLOAT64_TO_FLOAT64; if (t.bits == 32U) return FLOAT64_TO_FLOAT32; + if (t.bits == 16U) return FLOAT64_TO_FLOAT16; } else if (t.code == kTVMOpaqueHandle) { return HANDLE_TO_HANDLE; } @@ -177,6 +204,12 @@ inline PackedFunc PackFuncVoidAddr_(F f, const std::vector& code addr[i] = &(holder[i]); break; } + case FLOAT64_TO_FLOAT16: { + holder[i].v_float32 = (args.values[i].v_float64); + holder[i].v_uint16[0] = float_to_half(holder[i].v_float32); + addr[i] = &(holder[i]); + break; + } } } f(args, ret, addr); @@ -212,6 +245,10 @@ inline PackedFunc PackFuncNonBufferArg_(F f, int base, const std::vector(args.values[base + i].v_float64); break; } + case FLOAT64_TO_FLOAT16: { + holder[i].v_uint16[0] = float_to_half(static_cast(args.values[base + i].v_float64)); + break; + } case HANDLE_TO_HANDLE: { LOG(FATAL) << "not reached"; break; @@ -260,6 +297,11 @@ inline PackedFunc PackFuncPackedArg_(F f, const std::vector& cod ++ptr; break; } + case FLOAT64_TO_FLOAT16: { + *reinterpret_cast(ptr) = float_to_half(static_cast(args.values[i].v_float64)); + ++ptr; + break; + } default: { LOG(FATAL) << "not reached"; break; From ab9829d113bc238a93318a33ce3274596cb03769 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Tue, 27 Sep 2022 23:10:58 -0700 Subject: [PATCH 07/17] remove aliasing warnings --- src/runtime/pack_args.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/runtime/pack_args.h b/src/runtime/pack_args.h index 3a1e7fdc7175..21915d9221ea 100644 --- a/src/runtime/pack_args.h +++ b/src/runtime/pack_args.h @@ -136,10 +136,12 @@ enum ArgConvertCode { }; uint as_uint(const float x) { - return reinterpret_cast(x); + const uint* result = reinterpret_cast(&x); + return *result; } float as_float(const uint x) { - return reinterpret_cast(x); + const float* result = reinterpret_cast(&x); + return *result; } // FROM https://stackoverflow.com/questions/1659440/32-bit-to-16-bit-floating-point-conversion by ProjectPhysX From 43689b18a75a70449adef69165a1b97538a46fe0 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Tue, 27 Sep 2022 23:12:00 -0700 Subject: [PATCH 08/17] injective type --- src/relay/op/nn/nn.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/relay/op/nn/nn.cc b/src/relay/op/nn/nn.cc index adbd6ee3d694..8f13451ebd48 100644 --- a/src/relay/op/nn/nn.cc +++ b/src/relay/op/nn/nn.cc @@ -1025,7 +1025,7 @@ RELAY_REGISTER_OP("nn.layer_norm") NormalizationInferCorrectLayout) .set_support_level(1) .add_type_rel("LayerNorm", LayerNormRel) - .set_attr("TOpPattern", kOpaque); + .set_attr("TOpPattern", kInjective); // group_norm TVM_REGISTER_NODE_TYPE(GroupNormAttrs); From dea9804c0ea0faaee1a51fa2ab44170509122332 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Wed, 28 Sep 2022 15:54:04 -0700 Subject: [PATCH 09/17] fix --- include/tvm/topi/nn/layer_norm.h | 7 +++++-- python/tvm/relay/op/strategy/generic.py | 12 +++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/include/tvm/topi/nn/layer_norm.h b/include/tvm/topi/nn/layer_norm.h index 93e5582ef184..029db16f9485 100644 --- a/include/tvm/topi/nn/layer_norm.h +++ b/include/tvm/topi/nn/layer_norm.h @@ -38,7 +38,7 @@ using namespace tvm::te; /*! * \brief Layer normalization. * \param data N-D tensor with shape [d_0, d_1, ..., d_{N-1}] - * \param gamma K-D tensor with shape [r_0, r_1, ..., r_{K-1}] where K == len(axis) and + * \param gamma Optional, K-D tensor with shape [r_0, r_1, ..., r_{K-1}] where K == len(axis) and * d_{axis_k} == r_k * \param beta Optional, K-D tensor with shape [r_0, r_1, ..., r_{K-1}] where * d_{axis_k} == r_k @@ -51,6 +51,7 @@ using namespace tvm::te; inline Tensor layer_norm(const Tensor& data, const Tensor& gamma, const Tensor& beta, const Array& axis, double epsilon, std::string name = "T_layer_norm", std::string tag = kInjective) { + LOG(WARNING) << gamma.defined() << " " << beta.defined(); // sum x and x^2 auto ndim = data->shape.size(); ICHECK_NE(ndim, 0) << "Cannot reduce a 0 dim Tensor"; @@ -101,7 +102,9 @@ inline Tensor layer_norm(const Tensor& data, const Tensor& gamma, const Tensor& auto mean = temp_x(non_reduce_indices) / reduce_extent; auto var = temp_x2(non_reduce_indices) / reduce_extent - mean * mean; auto layer_norm = (data(indices) - mean) * tvm::rsqrt(var + make_const(var->dtype, epsilon)); - layer_norm = topi::multiply(layer_norm, gamma(reduce_indices)); + if (gamma.defined()) { + layer_norm = topi::multiply(layer_norm, gamma(reduce_indices)); + } if (beta.defined()) { layer_norm = topi::add(layer_norm, beta(reduce_indices)); } diff --git a/python/tvm/relay/op/strategy/generic.py b/python/tvm/relay/op/strategy/generic.py index 9b6e5251cef5..f37503d76100 100644 --- a/python/tvm/relay/op/strategy/generic.py +++ b/python/tvm/relay/op/strategy/generic.py @@ -203,9 +203,15 @@ def wrap_layer_norm_strategy(topi_compute): def _compute_layer_norm(attrs, inputs, out_type): axis = attrs.axis epsilon = attrs.epsilon - # TODO: forward center and scale - # TODO: make list of axis more soon - return [topi_compute(inputs[0], inputs[1], inputs[2], [axis], epsilon)] + return [ + topi_compute( + inputs[0], + inputs[1] if attrs.scale else None, + inputs[2] if attrs.center else None, + [axis], + epsilon, + ) + ] return _compute_layer_norm From aaaf441a8932ba09f1249a019e90b167e0888427 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Wed, 28 Sep 2022 15:55:30 -0700 Subject: [PATCH 10/17] new line --- src/tir/schedule/primitive/get_block_loop.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tir/schedule/primitive/get_block_loop.cc b/src/tir/schedule/primitive/get_block_loop.cc index 0fa12d1d5583..d30b705fcec9 100644 --- a/src/tir/schedule/primitive/get_block_loop.cc +++ b/src/tir/schedule/primitive/get_block_loop.cc @@ -247,4 +247,4 @@ TVM_REGISTER_INST_KIND_TRAITS(GetProducersTraits); TVM_REGISTER_INST_KIND_TRAITS(GetConsumersTraits); } // namespace tir -} // namespace tvm \ No newline at end of file +} // namespace tvm From f348162ff55cce6b3e8a29a2a5e29ddb1e5c2bb8 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Wed, 28 Sep 2022 16:29:42 -0700 Subject: [PATCH 11/17] use existing fp16 support --- src/runtime/pack_args.h | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/src/runtime/pack_args.h b/src/runtime/pack_args.h index 21915d9221ea..b9a460b6870e 100644 --- a/src/runtime/pack_args.h +++ b/src/runtime/pack_args.h @@ -31,6 +31,7 @@ #ifndef TVM_RUNTIME_PACK_ARGS_H_ #define TVM_RUNTIME_PACK_ARGS_H_ +#include #include #include @@ -135,29 +136,6 @@ enum ArgConvertCode { HANDLE_TO_HANDLE }; -uint as_uint(const float x) { - const uint* result = reinterpret_cast(&x); - return *result; -} -float as_float(const uint x) { - const float* result = reinterpret_cast(&x); - return *result; -} - -// FROM https://stackoverflow.com/questions/1659440/32-bit-to-16-bit-floating-point-conversion by ProjectPhysX -float half_to_float(const ushort x) { // IEEE-754 16-bit floating-point format (without infinity): 1-5-10, exp-15, +-131008.0, +-6.1035156E-5, +-5.9604645E-8, 3.311 digits - const uint e = (x&0x7C00)>>10; // exponent - const uint m = (x&0x03FF)<<13; // mantissa - const uint v = as_uint((float)m)>>23; // evil log2 bit hack to count leading zeros in denormalized format - return as_float((x&0x8000)<<16 | (e!=0)*((e+112)<<23|m) | ((e==0)&(m!=0))*((v-37)<<23|((m<<(150-v))&0x007FE000))); // sign : normalized : denormalized -} -ushort float_to_half(const float x) { // IEEE-754 16-bit floating-point format (without infinity): 1-5-10, exp-15, +-131008.0, +-6.1035156E-5, +-5.9604645E-8, 3.311 digits - const uint b = as_uint(x)+0x00001000; // round-to-nearest-even: add last bit after truncated mantissa - const uint e = (b&0x7F800000)>>23; // exponent - const uint m = b&0x007FFFFF; // mantissa; in line below: 0x007FF000 = 0x00800000-0x00001000 = decimal indicator flag - initial rounding - return (b&0x80000000)>>16 | (e>112)*((((e-112)<<10)&0x7C00)|m>>13) | ((e<113)&(e>101))*((((0x007FF000+m)>>(125-e))+1)>>1) | (e>143)*0x7FFF; // sign : normalized : denormalized : saturate -} - inline ArgConvertCode GetArgConvertCode(DLDataType t) { ICHECK_EQ(t.lanes, 1U) << "Cannot pass vector type argument to devic function for now"; if (t.code == kDLInt) { @@ -208,7 +186,7 @@ inline PackedFunc PackFuncVoidAddr_(F f, const std::vector& code } case FLOAT64_TO_FLOAT16: { holder[i].v_float32 = (args.values[i].v_float64); - holder[i].v_uint16[0] = float_to_half(holder[i].v_float32); + holder[i].v_uint16[0] = __gnu_f2h_ieee(holder[i].v_float32); addr[i] = &(holder[i]); break; } @@ -248,7 +226,8 @@ inline PackedFunc PackFuncNonBufferArg_(F f, int base, const std::vector(args.values[base + i].v_float64)); + holder[i].v_uint16[0] = + __gnu_f2h_ieee(static_cast(args.values[base + i].v_float64)); break; } case HANDLE_TO_HANDLE: { @@ -300,7 +279,8 @@ inline PackedFunc PackFuncPackedArg_(F f, const std::vector& cod break; } case FLOAT64_TO_FLOAT16: { - *reinterpret_cast(ptr) = float_to_half(static_cast(args.values[i].v_float64)); + *reinterpret_cast(ptr) = + __gnu_f2h_ieee(static_cast(args.values[i].v_float64)); ++ptr; break; } From 530cb245ddc50354670412d4393cb88aa81fd087 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Wed, 28 Sep 2022 16:35:04 -0700 Subject: [PATCH 12/17] remove LOG --- include/tvm/topi/nn/layer_norm.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/tvm/topi/nn/layer_norm.h b/include/tvm/topi/nn/layer_norm.h index 029db16f9485..371d8e1c8102 100644 --- a/include/tvm/topi/nn/layer_norm.h +++ b/include/tvm/topi/nn/layer_norm.h @@ -51,7 +51,6 @@ using namespace tvm::te; inline Tensor layer_norm(const Tensor& data, const Tensor& gamma, const Tensor& beta, const Array& axis, double epsilon, std::string name = "T_layer_norm", std::string tag = kInjective) { - LOG(WARNING) << gamma.defined() << " " << beta.defined(); // sum x and x^2 auto ndim = data->shape.size(); ICHECK_NE(ndim, 0) << "Cannot reduce a 0 dim Tensor"; From 049dd5f589269adc58e10ba7b5eb6f3a0bf8e40f Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Wed, 28 Sep 2022 17:36:58 -0700 Subject: [PATCH 13/17] unittest --- tests/python/relay/test_op_level1.py | 42 ++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/tests/python/relay/test_op_level1.py b/tests/python/relay/test_op_level1.py index bd4e1b72c3cd..3aa1970b9b31 100644 --- a/tests/python/relay/test_op_level1.py +++ b/tests/python/relay/test_op_level1.py @@ -14,6 +14,8 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +import itertools +from math import gamma import numpy as np import pytest import tvm @@ -172,6 +174,46 @@ def check_binary_op(opfunc, ref, dtype): check_binary_op(opfunc, ref, dtype) +@tvm.testing.uses_gpu +def test_layer_norm(): + from tvm.topi.testing import layer_norm_python + + # based on topi test + def verify_layer_norm(dshape, dtype, gamma, beta, axis, center, scale, rtol, atol): + x = relay.Var("x", relay.TensorType(dshape, dtype)) + func = relay.Function( + [x], + relay.nn.layer_norm( + x, + relay.const([gamma] * dshape[axis], dtype=dtype), + relay.const([beta] * dshape[axis], dtype=dtype), + axis=axis, + center=center, + scale=scale, + ), + ) + for target, dev in tvm.testing.enabled_targets(): + if 'cuda' in target or "nvptx" in target: + # CUDA needs tuning to work + continue + data = np.random.uniform(size=dshape).astype(dtype) + ref_res = layer_norm_python(data, gamma if scale else 1, beta if center else 0, axis) + op_res = relay.create_executor("graph", device=dev, target=target).evaluate(func)(data) + np.testing.assert_allclose(op_res.numpy(), ref_res, rtol=rtol, atol=atol) + + for dtype, gamma, beta, axis, center, scale in itertools.product( + ["float16", "float32"], [3.0], [1.0], [1, 2], [True, False], [True, False] + ): + if dtype == 'float16': + # Float16 version is a lot less accurate + rtol = 0.1 + atol = 0.1 + else: + rtol = 1e-5 + atol = 1e-3 + verify_layer_norm((1, 10, 10), dtype, gamma, beta, axis=axis, center=center, scale=scale, rtol=rtol, atol=atol) + + @tvm.testing.uses_gpu def test_expand_dims(): # based on topi test From d22f4bee6bfaabeba8126f6c120016e414121ff4 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Thu, 29 Sep 2022 10:52:26 -0700 Subject: [PATCH 14/17] lint --- tests/python/relay/test_op_level1.py | 18 +- tests/scripts/out-large.csv | 230 +++++++++++++++ tests/scripts/out-small.csv | 418 +++++++++++++++++++++++++++ tests/scripts/out.md | 0 tests/scripts/out.pkl | Bin 0 -> 391774 bytes 5 files changed, 662 insertions(+), 4 deletions(-) create mode 100644 tests/scripts/out-large.csv create mode 100644 tests/scripts/out-small.csv create mode 100644 tests/scripts/out.md create mode 100644 tests/scripts/out.pkl diff --git a/tests/python/relay/test_op_level1.py b/tests/python/relay/test_op_level1.py index 3aa1970b9b31..de5f526da147 100644 --- a/tests/python/relay/test_op_level1.py +++ b/tests/python/relay/test_op_level1.py @@ -193,9 +193,9 @@ def verify_layer_norm(dshape, dtype, gamma, beta, axis, center, scale, rtol, ato ), ) for target, dev in tvm.testing.enabled_targets(): - if 'cuda' in target or "nvptx" in target: + if "cuda" in target or "nvptx" in target: # CUDA needs tuning to work - continue + continue data = np.random.uniform(size=dshape).astype(dtype) ref_res = layer_norm_python(data, gamma if scale else 1, beta if center else 0, axis) op_res = relay.create_executor("graph", device=dev, target=target).evaluate(func)(data) @@ -204,14 +204,24 @@ def verify_layer_norm(dshape, dtype, gamma, beta, axis, center, scale, rtol, ato for dtype, gamma, beta, axis, center, scale in itertools.product( ["float16", "float32"], [3.0], [1.0], [1, 2], [True, False], [True, False] ): - if dtype == 'float16': + if dtype == "float16": # Float16 version is a lot less accurate rtol = 0.1 atol = 0.1 else: rtol = 1e-5 atol = 1e-3 - verify_layer_norm((1, 10, 10), dtype, gamma, beta, axis=axis, center=center, scale=scale, rtol=rtol, atol=atol) + verify_layer_norm( + (1, 10, 10), + dtype, + gamma, + beta, + axis=axis, + center=center, + scale=scale, + rtol=rtol, + atol=atol, + ) @tvm.testing.uses_gpu diff --git a/tests/scripts/out-large.csv b/tests/scripts/out-large.csv new file mode 100644 index 000000000000..8da351f7ae44 --- /dev/null +++ b/tests/scripts/out-large.csv @@ -0,0 +1,230 @@ +category,description,date,number,author,tags,title,additions,deletions,changed files +metaschedule,,2022-09-21T00:32:12Z,https://github.com/apache/tvm/pull/12845,masahi,metaschedule,[Metaschedule] MultiLevelTiling for wide vector architectures,307,12,7 +containers,,2022-09-20T20:49:46Z,https://github.com/apache/tvm/pull/12692,Lunderberg,containers,[Containers] Add Array::Map,353,125,18 +hexagon,,2022-09-20T19:38:04Z,https://github.com/apache/tvm/pull/12785,adstraw,hexagon,[Hexagon] 2-Stage Pipeline; Lower Async TIR primitives to Hexagon User DMA,367,7,10 +metaschedule,,2022-09-20T00:20:53Z,https://github.com/apache/tvm/pull/12838,zxybazh,metaschedule,[MetaSchedule] PyDatabase Complete Function Reload Support,365,3,4 +metaschedule,,2022-09-19T17:04:16Z,https://github.com/apache/tvm/pull/12759,vinx13,metaschedule,[MetaSchedule] Support padding for irregular shapes for CUDA tensor core,242,28,9 +hexagon,,2022-09-19T17:01:29Z,https://github.com/apache/tvm/pull/12654,nverke,hexagon,[Hexagon] Create test examples to show parallelization,389,0,2 +tir,,2022-09-19T13:20:33Z,https://github.com/apache/tvm/pull/12720,Lunderberg,tir,[TIR] Implement API for padded layout transformations,1408,67,17 +tvmscript,,2022-09-18T18:51:23Z,https://github.com/apache/tvm/pull/12831,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `Stmt`,1061,14,8 +tvmscript,,2022-09-18T02:18:01Z,https://github.com/apache/tvm/pull/12830,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `Stmt`,486,0,7 +tvmscript,,2022-09-17T20:54:01Z,https://github.com/apache/tvm/pull/12829,yelite,tvmscript,[TVMScript] Add more helper functions to the printer infra ,228,62,9 +tir,,2022-09-17T01:13:58Z,https://github.com/apache/tvm/pull/12797,vinx13,tir,[TIR] Construct the inverse in SuggestIndexMap,188,21,5 +tir,,2022-09-17T01:11:31Z,https://github.com/apache/tvm/pull/12827,MasterJH5574,tir,[TIR] Support pattern matching argmax/argmin generated by TOPI,233,57,2 +tvmscript,,2022-09-17T01:11:06Z,https://github.com/apache/tvm/pull/12815,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `Block`,442,52,10 +testing,,2022-09-16T22:01:11Z,https://github.com/apache/tvm/pull/12778,Lunderberg,testing,[Testing] Add decorator tvm.testing.requires_cuda_compute_version,71,161,6 +ci,,2022-09-16T20:29:57Z,https://github.com/apache/tvm/pull/12695,driazati,ci,[ci] Add bot to post welcome comment,741,283,13 +tvmscript,,2022-09-16T06:29:17Z,https://github.com/apache/tvm/pull/12808,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `Axis`,334,1,4 +,,2022-09-16T06:28:45Z,https://github.com/apache/tvm/pull/12805,junrushao,"metaschedule, test",[MetaSchedule][Test] MLT uses SEqual tests,1961,1383,10 +metaschedule,,2022-09-16T05:01:33Z,https://github.com/apache/tvm/pull/12796,zxybazh,metaschedule,[MetaSchedule] Enable Clone Function for Task-Level Classes,675,186,48 +tvmscript,,2022-09-15T23:39:58Z,https://github.com/apache/tvm/pull/12786,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `For`,422,0,7 +ci,,2022-09-15T22:20:24Z,https://github.com/apache/tvm/pull/12773,driazati,ci,[ci] Add retries to docker push,223,1443,8 +,,2022-09-15T21:02:22Z,https://github.com/apache/tvm/pull/12534,PhilippvK,"docker, ci, risc-v",[Docker][CI][RISC-V] Build riscv-isa-sim (spike) in ci_riscv Docker image to enable RISC-V unit testing,288,24,10 +,,2022-09-15T20:15:10Z,https://github.com/apache/tvm/pull/12750,vinx13,"tir, schedule","[TIR, Schedule] Add schedule primitive PadEinsum",841,40,15 +,,2022-09-15T11:39:20Z,https://github.com/apache/tvm/pull/12784,Lunderberg,"arith, refactor",[Arith][Refactor] Return Optional from TryConstFold,99,140,7 +,,2022-09-14T21:24:14Z,https://github.com/apache/tvm/pull/11639,MasterJH5574,"tir, meta-schedule",[TIR][Meta-Schedule] Tuple-reduction scheduling support,2314,850,10 +tvmscript,,2022-09-14T19:36:10Z,https://github.com/apache/tvm/pull/12755,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `PrimFunc`,1022,3,5 +openclml,,2022-09-14T09:48:03Z,https://github.com/apache/tvm/pull/12762,srkreddy1238,openclml,[OpenCLML] More ops and network coverage,529,108,6 +aot,,2022-09-14T09:25:45Z,https://github.com/apache/tvm/pull/12550,mbaret,aot,[AOT] Add AOTLowerMain pass to lower a Relay main into TIR,1572,13,10 +hexagon,,2022-09-13T21:23:35Z,https://github.com/apache/tvm/pull/12667,nverke,hexagon,[Hexagon] Create tests to showcase vtcm loading capabilities on Hexagon. ,723,5,5 +,,2022-09-13T09:20:30Z,https://github.com/apache/tvm/pull/12764,junrushao,"metaschedule, test",[MetaSchedule][Test] Migrate `check_trace` to `check_sketch`,718,353,5 +,,2022-09-12T23:42:40Z,https://github.com/apache/tvm/pull/12758,junrushao,"metaschedule, testing",[MetaSchedule][Testing] Migrate Add-RFactor to use SEqual,109,66,5 +hexagon,,2022-09-12T19:14:40Z,https://github.com/apache/tvm/pull/12204,quic-sanirudh,hexagon,[Hexagon] Add Hand written HVX conv2d,1477,0,6 +,,2022-09-12T16:23:44Z,https://github.com/apache/tvm/pull/12663,areusch,,Always install into a python venv in ci containers,875,157,22 +tvmscript,,2022-09-12T08:00:29Z,https://github.com/apache/tvm/pull/12748,cyx-6,tvmscript,[TVMScript] Base IRBuilder methods for `Block`,180,0,8 +,,2022-09-09T21:21:23Z,https://github.com/apache/tvm/pull/12606,trahman-quic,"topi, hexagon",[TOPI][Hexagon] Implement quantized elementwise for hexagon,463,26,3 +,,2022-09-09T19:10:50Z,https://github.com/apache/tvm/pull/12515,wrongtest-intellif,"tir, arith",[TIR][Arith] Add more strict checking in imm construction and folding.,743,36,13 +opencl,,2022-09-09T19:01:53Z,https://github.com/apache/tvm/pull/12490,valmat07,opencl,[OpenCL] Enable OpenCL for GPU tests,112,167,14 +tvmscript,,2022-09-09T18:54:38Z,https://github.com/apache/tvm/pull/12745,cyx-6,tvmscript,[TVMScript] Base IRBuilder methods for `PrimFunc`,561,0,14 +,,2022-09-09T01:51:32Z,https://github.com/apache/tvm/pull/12717,vinx13,"tir, schedule","[TIR, Schedule] Check consumer in-bound and covered in reverse_compute_inline",178,14,2 +tir,,2022-09-08T15:02:42Z,https://github.com/apache/tvm/pull/12652,Lunderberg,tir,[TIR] Handle axis_separators during FlattenBuffer,417,231,4 +,,2022-09-08T05:16:46Z,https://github.com/apache/tvm/pull/12448,guberti,,Add Arm DSP implementation of Depthwise Conv2D,491,0,5 +openclml,,2022-09-08T04:58:17Z,https://github.com/apache/tvm/pull/12711,srkreddy1238,openclml,[OpenCLML] CLML Profiling fixes corresponding to OpenCL Timer recent …,80,93,4 +ci,,2022-09-07T20:17:12Z,https://github.com/apache/tvm/pull/12473,driazati,ci,[ci] Re-balance shards,567,878,5 +tvmscript,,2022-09-07T19:17:59Z,https://github.com/apache/tvm/pull/12694,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `IRModule`,325,0,9 +,,2022-09-07T14:29:54Z,https://github.com/apache/tvm/pull/12677,avquicinc,"hexagon, topi",[HEXAGON] [TOPI] Dequantize,229,0,5 +ethosn,,2022-09-07T09:05:52Z,https://github.com/apache/tvm/pull/12674,lhutton1,ethosn,[ETHOSN] Add support for transpose convolution,487,33,9 +ethosn,,2022-09-05T08:27:03Z,https://github.com/apache/tvm/pull/12688,lhutton1,ethosn,[ETHOSN] Use pytest parameterization for integration tests,492,465,9 +,,2022-09-02T21:27:45Z,https://github.com/apache/tvm/pull/12685,junrushao,"autotvm, testing",[AutoTVM][Testing] Add `tune_relay` scripts,280,0,2 +,,2022-09-02T16:44:22Z,https://github.com/apache/tvm/pull/12361,driazati,"ci, tvmbot",[ci][tvmbot] Trigger GitHub Actions after merging,624,2105,16 +,,2022-09-02T07:47:38Z,https://github.com/apache/tvm/pull/12643,junrushao,"metaschedule, ux",[MetaSchedule][UX] Convenient Object Creation,198,18,14 +metaschedule,,2022-09-01T23:44:42Z,https://github.com/apache/tvm/pull/12628,junrushao,metaschedule,[MetaSchedule] Introduce `Union` and `OrderedUnion` in Database,477,29,10 +adreno,,2022-09-01T16:33:15Z,https://github.com/apache/tvm/pull/12537,elvin-n,adreno,[Adreno] Change compute/schedule for ToMixedPrecision pass,218,395,11 +hexagon,,2022-09-01T13:31:54Z,https://github.com/apache/tvm/pull/12659,ibsidorenko,hexagon,[Hexagon] Implement fixed_point_multiply op through intrinsics.,216,3,4 +relay,,2022-09-01T10:32:42Z,https://github.com/apache/tvm/pull/12646,sisleyli,relay,[Relay] Extract intermediate node by its expression ID,256,0,3 +ethosn,,2022-09-01T07:10:55Z,https://github.com/apache/tvm/pull/12649,NicolaLancellotti,ethosn,[ETHOSN] Fix tests pylint errors,158,82,20 +ci,,2022-08-31T23:10:07Z,https://github.com/apache/tvm/pull/12367,driazati,ci,[ci] Add linter for PR title and body,192,4,4 +,,2022-08-31T16:41:41Z,https://github.com/apache/tvm/pull/12412,vinx13,"tir, tvmscript","[TIR, TVMScript] Update printer / parser to make T.allocate return buffer var",804,590,32 +refactor,,2022-08-29T09:29:24Z,https://github.com/apache/tvm/pull/12610,Lunderberg,refactor,[Refactor] Replace std::tie with structured bindings,105,185,35 +metaschedule,,2022-08-29T07:34:11Z,https://github.com/apache/tvm/pull/12626,junrushao,metaschedule,[MetaSchedule] Introduce `ScheduleFnDatabase`,226,135,13 +tir,,2022-08-27T18:14:58Z,https://github.com/apache/tvm/pull/12623,cyx-6,tir,[TIR] Expose MMA-related PTX builtins,363,0,3 +,,2022-08-27T03:20:42Z,https://github.com/apache/tvm/pull/12520,junrushao,"metaschedule, ux",[MetaSchedule][UX] Make `Database` with-able,511,764,27 +hexagon,,2022-08-26T21:22:04Z,https://github.com/apache/tvm/pull/12411,adstraw,hexagon,[Hexagon] Asynchronous DMA support,631,53,8 +,,2022-08-26T20:59:53Z,https://github.com/apache/tvm/pull/12615,kparzysz-quic,,"Replace '> >' in templates with >>, NFC",128,130,46 +tir,,2022-08-26T17:15:54Z,https://github.com/apache/tvm/pull/12607,Lunderberg,tir,[TIR] More hygenic TVM_SREF macros,133,120,30 +hexagon,,2022-08-26T17:01:24Z,https://github.com/apache/tvm/pull/12587,masahi,hexagon,[Hexagon] Initial support for meta schedule tuning,472,7,10 +,,2022-08-26T11:42:57Z,https://github.com/apache/tvm/pull/12450,yincs-intellif,"tir, schedule",[TIR][Schedule] enhance compute_at and reverse_compute_at primitive to choose possible position,308,99,12 +tir,,2022-08-26T09:30:38Z,https://github.com/apache/tvm/pull/12611,cyx-6,tir,[TIR] Expose Memory Copy-Related PTX Builtins,140,26,3 +runtime,,2022-08-25T20:05:09Z,https://github.com/apache/tvm/pull/12586,jwfromm,runtime,[Runtime] Change default alignment to 64 bytes.,303,299,24 +ethosn,,2022-08-25T16:17:22Z,https://github.com/apache/tvm/pull/12531,lhutton1,ethosn,[ETHOSN] Support conversion of add to depthwise,377,101,7 +ci,,2022-08-25T15:43:06Z,https://github.com/apache/tvm/pull/12436,gigiblender,ci,[CI] Assert some unittests are not skipped in CI,456,0,3 +tir,,2022-08-25T10:03:27Z,https://github.com/apache/tvm/pull/12589,cyx-6,tir,[TIR] Expose WMMA-related TensorCore builtins,286,0,3 +metaschedule,,2022-08-25T06:28:54Z,https://github.com/apache/tvm/pull/12544,vinx13,metaschedule,[MetaSchedule] Add software pipeline in CUDA tensor core auto tensorization,255,2,6 +,,2022-08-24T18:55:50Z,https://github.com/apache/tvm/pull/12340,jverma-quic,"topi, hexagon",[TOPI][Hexagon] Implement quantized avgpool,625,91,9 +ethosn,,2022-08-24T12:45:57Z,https://github.com/apache/tvm/pull/12403,lhutton1,ethosn,[ETHOSN] Support multiply conversion to depthwise,582,18,8 +,,2022-08-24T09:44:22Z,https://github.com/apache/tvm/pull/12527,wrongtest-intellif,"tir, compactbufferallocation",[TIR][CompactBufferAllocation] Improve upperbound estimation of buffer compaction,496,220,10 +ethosn,,2022-08-24T07:16:45Z,https://github.com/apache/tvm/pull/12535,NicolaLancellotti,ethosn,[ETHOSN] Add support for Resize,237,0,6 +target,,2022-08-24T04:02:27Z,https://github.com/apache/tvm/pull/12416,mehrdadh,target,[Target] Remove deprecated parameters from target,80,261,25 +autotvm,,2022-08-23T16:32:56Z,https://github.com/apache/tvm/pull/12521,guberti,autotvm,[AutoTVM] Add support for text buffers to ApplyHistoryBest,155,56,4 +cmsis-nn,,2022-08-23T09:00:34Z,https://github.com/apache/tvm/pull/12353,ashutosh-arm,cmsis-nn,[CMSIS-NN] Pad fusion with QNN Conv2D,886,35,5 +tir,,2022-08-22T20:35:40Z,https://github.com/apache/tvm/pull/12352,tkonolige,tir,[TIR] Add pass to check for out of bounds memory access,237,5,8 +llvm,,2022-08-22T19:23:10Z,https://github.com/apache/tvm/pull/12440,kparzysz-quic,llvm,"[LLVM] Add ""cl-opt"" attribute to target_kind ""llvm""",765,54,6 +,,2022-08-22T17:02:51Z,https://github.com/apache/tvm/pull/12505,jwfromm,"tir, schedule",[TIR][Schedule] Support for specific consumer block targeting in cache_read,127,30,10 +tir,,2022-08-22T15:03:40Z,https://github.com/apache/tvm/pull/12489,masahi,tir,[TIR] Support AllocateConst nodes in TensorIR scheduling flow,267,87,19 +ethosn,,2022-08-22T10:31:44Z,https://github.com/apache/tvm/pull/12347,lhutton1,ethosn,[ETHOSN] Remove support for older versions of the driver stack,43,218,15 +tvmscript,,2022-08-22T05:10:23Z,https://github.com/apache/tvm/pull/12518,yelite,tvmscript,[TVMScript] Printer: add boolean operators to OperationDoc,124,50,4 +tvmscript,,2022-08-21T03:41:42Z,https://github.com/apache/tvm/pull/12462,yelite,tvmscript,[TVMScript] Printer entry point,355,3,11 +metaschedule,,2022-08-20T22:11:58Z,https://github.com/apache/tvm/pull/12514,junrushao,metaschedule,[MetaSchedule] Migrate MemoryDatabase to C++,123,45,3 +metaschedule,,2022-08-20T22:11:13Z,https://github.com/apache/tvm/pull/12513,junrushao,metaschedule,[MetaSchedule] Implement ScheduleFn as a C++ class,137,75,7 +,,2022-08-20T22:10:19Z,https://github.com/apache/tvm/pull/12507,junrushao,"tir, schedule, ux",[TIR][Schedule][UX] Beautify TIR Trace Printing,118,56,6 +fix,,2022-08-19T23:31:30Z,https://github.com/apache/tvm/pull/11503,Yulv-git,fix,[Fix] Fix some typos.,113,115,84 +cmsis-nn,,2022-08-18T22:11:04Z,https://github.com/apache/tvm/pull/12320,Mousius,cmsis-nn,[CMSIS-NN] Re-use CPU Target Parser,95,178,9 +,,2022-08-18T14:05:55Z,https://github.com/apache/tvm/pull/12441,areusch,,Add RISC-V build/test pipeline to Jenkins.,331,50,7 +tvmscript,,2022-08-18T12:43:00Z,https://github.com/apache/tvm/pull/12482,cyx-6,tvmscript,"[TVMScript] IRBuilder, IRBuilderFrame base class",678,0,6 +,,2022-08-17T21:04:12Z,https://github.com/apache/tvm/pull/12478,mehrdadh,"skip ci, microtvm",[skip ci][microTVM] Add pytest-xdist to pyproject.toml,165,508,3 +tir,,2022-08-17T19:06:19Z,https://github.com/apache/tvm/pull/12468,cyx-6,tir,[TIR] Expose TVM Backend API-related Builtins and Misc,198,5,3 +tvm pytorch integration,,2022-08-17T08:33:37Z,https://github.com/apache/tvm/pull/12232,juda,tvm pytorch integration,[TVM PyTorch Integration] libstdc++ CXX11 ABI Compatibility & boolean tensor support,844,279,10 +tvmscript,,2022-08-16T21:06:29Z,https://github.com/apache/tvm/pull/12396,yelite,tvmscript,[TVMScript] Printer IRDocsifier,761,0,9 +,,2022-08-16T15:43:34Z,https://github.com/apache/tvm/pull/12443,kparzysz-quic,,"Use std::optional instead of dmlc::optional, NFC",85,106,11 +ethosn,,2022-08-16T09:17:17Z,https://github.com/apache/tvm/pull/12384,NicolaLancellotti,ethosn,[ETHOSN] Add support for Requantize,183,0,6 +microtvm,,2022-08-15T23:01:04Z,https://github.com/apache/tvm/pull/12125,mkatanbaf,microtvm,[microTVM] Zephyr: Add support for FVP,590,62,13 +tvmscript,,2022-08-13T20:04:39Z,https://github.com/apache/tvm/pull/12336,yelite,tvmscript,[TVMScript] Printer VarTable,617,0,5 +tir,,2022-08-13T08:06:50Z,https://github.com/apache/tvm/pull/12355,vinx13,tir,[TIR] Add pass ManifestSharedMemoryLocalStage,443,1,7 +,,2022-08-12T23:01:55Z,https://github.com/apache/tvm/pull/12028,blackkker,"pylint, part 1",[Pylint] Making frontend tests pylint compliant [part 1],1968,1383,15 +profiler,,2022-08-12T16:26:38Z,https://github.com/apache/tvm/pull/12382,echuraev,profiler,[Profiler] Fix graph_executor_debug hang,159,61,11 +target,,2022-08-12T15:31:34Z,https://github.com/apache/tvm/pull/12319,Mousius,target,[Target] Add Target Parser for Arm(R) Cortex(R) M-Profile CPUs,550,5,13 +micronpu,,2022-08-12T15:20:08Z,https://github.com/apache/tvm/pull/11591,ekalda,micronpu,[microNPU] Reorder copies and computes based on the cycle count,381,23,4 +tvmscript,,2022-08-12T03:22:37Z,https://github.com/apache/tvm/pull/12366,yelite,tvmscript,[TVMScript] Printer Frame,331,0,4 +,,2022-08-12T02:53:39Z,https://github.com/apache/tvm/pull/12286,echuraev,"adreno, opencl",[Adreno][OpenCL] Get rid of extra memory copy,312,63,11 +,,2022-08-11T22:54:25Z,https://github.com/apache/tvm/pull/11832,driazati,"ci, docker",[ci][docker] Tag tlcpackstaging images to tlcpack,291,73,3 +,,2022-08-11T18:25:28Z,https://github.com/apache/tvm/pull/12178,gigiblender,,Build and test TVM under minimal configuration,367,14,15 +,,2022-08-11T16:18:46Z,https://github.com/apache/tvm/pull/12066,gigiblender,,Unify name mangling in TVM,1052,350,35 +tvmscript,,2022-08-11T05:43:54Z,https://github.com/apache/tvm/pull/12344,gbonik,tvmscript,[TVMScript] Text underlining in DocPrinter based on Doc's source_paths,718,17,6 +testing,,2022-08-10T21:35:48Z,https://github.com/apache/tvm/pull/11566,driazati,testing,[testing] Remove wrapper from @slow,129,88,5 +ci,,2022-08-10T08:58:15Z,https://github.com/apache/tvm/pull/12325,driazati,ci,[ci] De-duplicate retry functions,957,966,3 +tvmscript,,2022-08-10T05:34:35Z,https://github.com/apache/tvm/pull/12237,yelite,tvmscript,[TVMScript] Printer Registry,431,0,4 +metaschedule,,2022-08-09T21:44:26Z,https://github.com/apache/tvm/pull/12342,jwfromm,metaschedule,[MetaSchedule] Extend tune_tir to support tuning of specific blocks.,171,39,6 +uma,,2022-08-09T16:40:55Z,https://github.com/apache/tvm/pull/12087,MichaelJKlaiber,uma,[UMA] UMA v1.0,2605,5,39 +,,2022-08-09T16:28:59Z,https://github.com/apache/tvm/pull/12169,cconvey,"hexagon, topi",[hexagon][topi] add sliced max_pool2,586,0,3 +,,2022-08-08T17:51:52Z,https://github.com/apache/tvm/pull/12284,jwfromm,"relay, op",[Relay][Op] Multinomial,382,23,12 +ci,,2022-08-08T15:24:01Z,https://github.com/apache/tvm/pull/12329,mehrdadh,ci,[CI] Cleanup after renaming ci_qemu,0,155,2 +skip ci,,2022-08-08T13:09:12Z,https://github.com/apache/tvm/pull/12334,gigiblender,skip ci,[skip ci] Increase the number of shards for Cortex-M from 4 to 8.,321,21,2 +,,2022-08-08T09:16:33Z,https://github.com/apache/tvm/pull/12215,ashutosh-arm,,Pass that removes reshapes post LowerTE,597,27,10 +tir,,2022-08-06T00:47:41Z,https://github.com/apache/tvm/pull/12266,Lunderberg,tir,[TIR] Add tir::builtin::undef,296,0,5 +tir,,2022-08-05T21:59:01Z,https://github.com/apache/tvm/pull/12300,vinx13,tir,[TIR] Add DeclBuffer IR node and functors,241,2,15 +,,2022-08-05T21:13:34Z,https://github.com/apache/tvm/pull/12281,mehrdadh,"microtvm, ci",[microTVM][CI] Rename ci_qemu to ci_cortexm,261,188,13 +tir,,2022-08-05T15:43:45Z,https://github.com/apache/tvm/pull/12267,Lunderberg,tir,[TIR] Add tir::builtin::assume,169,0,7 +ci,,2022-08-05T13:26:29Z,https://github.com/apache/tvm/pull/12316,mikepapadim,ci,[CI] Increase CPU Intergration tests shards to speedup runtime,340,32,2 +tvmscript,,2022-08-05T04:16:00Z,https://github.com/apache/tvm/pull/12299,gbonik,tvmscript,[TVMScript] TracedObject class that simplifies tracing ObjectPaths,750,0,2 +,,2022-08-04T18:18:02Z,https://github.com/apache/tvm/pull/12213,zhang-yi-chi,"relay, frontend, onnx",[Relay][Frontend][Onnx] Add RNN operation for ONNX frontend,313,319,2 +,,2022-08-04T17:29:15Z,https://github.com/apache/tvm/pull/12295,driazati,"ci, tvmbot",[ci][tvmbot] Enable re-run for GitHub Actions,123,33,4 +ethosn,,2022-08-04T13:35:10Z,https://github.com/apache/tvm/pull/12160,lhutton1,ethosn,[ETHOSN] Get buffer sizes from the compiled network,131,78,8 +llvm,,2022-08-03T23:16:48Z,https://github.com/apache/tvm/pull/12140,kparzysz-quic,llvm,[LLVM] Create LLVM scope object for use with LLVM libraries,1157,888,17 +metaschedule,,2022-08-03T21:42:08Z,https://github.com/apache/tvm/pull/12127,zxybazh,metaschedule,[MetaSchedule] Enhance Conv2d NCHW Winograd Schedule Rules,271,4,3 +microtvm,,2022-08-03T17:58:15Z,https://github.com/apache/tvm/pull/12207,mehrdadh,microtvm,[microTVM] Refactor pytest fixtures,221,225,16 +ci,,2022-08-03T14:27:10Z,https://github.com/apache/tvm/pull/12221,driazati,ci,[ci] Add retries to S3 uploads/downloads,1378,234,2 +tvmscript,,2022-08-03T08:28:59Z,https://github.com/apache/tvm/pull/12101,gbonik,tvmscript,[TVMScript] Add object path tracing to StructuralEqual,969,44,11 +release,,2022-08-02T22:56:50Z,https://github.com/apache/tvm/pull/11987,driazati,release,"[release] Follow ups from v0.9.0 - scripts, docs",509,7,6 +,,2022-08-02T19:48:59Z,https://github.com/apache/tvm/pull/12124,jwfromm,"relay, op",[Relay][Op] Trilu operator implementation,298,43,13 +ci,,2022-08-02T19:04:20Z,https://github.com/apache/tvm/pull/12258,gigiblender,ci,[CI] Shard Qemu python tests,250,73,2 +adreno,,2022-08-02T16:10:48Z,https://github.com/apache/tvm/pull/11878,elvin-n,adreno,[Adreno] Add markup pass of relay tensors for static texture planning,1142,19,10 +ethosn,,2022-08-02T08:33:10Z,https://github.com/apache/tvm/pull/11759,lhutton1,ethosn,[ETHOSN] Upgrade NPU driver stack to v22.05,139,48,12 +pylint,,2022-08-02T02:31:56Z,https://github.com/apache/tvm/pull/12176,quic-sanirudh,pylint,[Pylint] Making hexagon tests pylint compliant Part 2 of N,265,189,9 +,,2022-08-02T00:46:35Z,https://github.com/apache/tvm/pull/12264,Lunderberg,"unittest, tir",[UnitTest][TIR] Testing utility for before/after transform tests,291,36,3 +,,2022-08-01T22:07:38Z,https://github.com/apache/tvm/pull/12262,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for TBG,270,0,2 +,,2022-08-01T12:36:24Z,https://github.com/apache/tvm/pull/12252,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for CBR,268,2,4 +,,2022-08-01T07:49:35Z,https://github.com/apache/tvm/pull/12251,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for SFM,798,0,2 +tvmscript,,2022-08-01T06:45:44Z,https://github.com/apache/tvm/pull/12148,yelite,tvmscript,[TVMScript] Python Expression Precedence,508,42,6 +,,2022-08-01T04:32:30Z,https://github.com/apache/tvm/pull/12250,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for NRM,208,0,2 +byoc-dnnl,,2022-08-01T01:32:52Z,https://github.com/apache/tvm/pull/12151,crazydemo,byoc-dnnl,[BYOC-DNNL] add post_sum pattern,164,4,4 +,,2022-07-31T23:55:15Z,https://github.com/apache/tvm/pull/12249,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for T2D,267,3,3 +,,2022-07-31T10:02:47Z,https://github.com/apache/tvm/pull/12246,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for GRP,265,0,2 +,,2022-07-31T04:24:19Z,https://github.com/apache/tvm/pull/12243,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for GMM,205,0,2 +tvmscript,,2022-07-31T02:58:08Z,https://github.com/apache/tvm/pull/12244,junrushao,tvmscript,[TVMScript] Doc Definition,1140,0,1 +roofline,,2022-07-30T23:35:25Z,https://github.com/apache/tvm/pull/12205,tkonolige,roofline,[ROOFLINE] Add CUDA support to roofline analysis,736,342,10 +,,2022-07-30T07:17:03Z,https://github.com/apache/tvm/pull/11037,BBuf,,Deploy the Pretrained Model on Jetson Nano ,248,0,1 +,,2022-07-29T19:01:57Z,https://github.com/apache/tvm/pull/12218,arangasa,"topi, hexagon",[TOPI][HEXAGON] Implement depthwise conv2d slice op.,481,0,3 +ux,,2022-07-29T17:50:00Z,https://github.com/apache/tvm/pull/12197,ganler,ux,[UX] highlight tvm script,212,0,5 +,,2022-07-29T14:20:55Z,https://github.com/apache/tvm/pull/12209,mehrdadh,"microtvm, zephyr, projectapi",[microTVM][Zephyr][projectAPI] Minimize project build commands,86,67,4 +,,2022-07-28T18:56:24Z,https://github.com/apache/tvm/pull/12182,mehrdadh,"microtvm, tutorial",[microTVM][tutorial] AOT host-driven tutorial with TFLite model,183,0,3 +tir,,2022-07-28T18:13:31Z,https://github.com/apache/tvm/pull/12171,masahi,tir,[TIR] Asynchronous stage in software pipeline,966,69,8 +tvmscript,,2022-07-28T05:33:44Z,https://github.com/apache/tvm/pull/12112,yelite,tvmscript,[TVMScript] StmtDoc Printing,906,6,4 +tvmscript,,2022-07-27T23:56:15Z,https://github.com/apache/tvm/pull/12111,yelite,tvmscript,[TVMScript] StmtDoc Definitions,1154,37,6 +target,,2022-07-27T22:09:16Z,https://github.com/apache/tvm/pull/12152,kparzysz-quic,target,[Target] Improve string interpretation in Target creation,274,70,2 +,,2022-07-27T17:35:54Z,https://github.com/apache/tvm/pull/12174,wrongtest-intellif,"tir, schedule",[TIR][Schedule] DecomposePadding,1048,26,12 +tvmscript,,2022-07-27T16:27:48Z,https://github.com/apache/tvm/pull/12048,yelite,tvmscript,[TVMScript] ExprDoc,1741,6,8 +tir pass,,2022-07-27T06:22:18Z,https://github.com/apache/tvm/pull/12172,FredJia-intellif,tir pass,[TIR Pass] Decouple flatten buffer to lower opaque block and flatten buffer.,615,330,12 +,,2022-07-26T08:00:44Z,https://github.com/apache/tvm/pull/11911,juda,,TVM Vertical Integration with PyTorch,1099,3,8 +tvmc,,2022-07-25T09:43:00Z,https://github.com/apache/tvm/pull/11427,dchauhan-arm,tvmc,[TVMC] Workspace Pools Parameters,717,5,8 +tir,,2022-07-25T06:50:33Z,https://github.com/apache/tvm/pull/12166,Hzfengsy,tir,[TIR] Well-Formed Verifier,235,15,7 +,,2022-07-24T21:28:09Z,https://github.com/apache/tvm/pull/12165,avquicinc,"topi, hexagon",[TOPI] [HEXAGON] Tanh Float16 Slice Op,166,0,3 +qnn,,2022-07-22T21:33:31Z,https://github.com/apache/tvm/pull/12116,zhaoyang-star,qnn,[QNN] Support different qnn params between in/out tensor in leaky_relu,104,47,5 +,,2022-07-22T19:54:24Z,https://github.com/apache/tvm/pull/11557,huajsj,"runtime, pipelineexecutor",[Runtime][PipelineExecutor] Tutorial of using pipeline executor.,281,9,4 +hexagon,,2022-07-22T16:59:57Z,https://github.com/apache/tvm/pull/12149,avquicinc,hexagon,[HEXAGON] QCOM hexagon library (qhl),332,20,7 +ethosn,,2022-07-21T15:38:40Z,https://github.com/apache/tvm/pull/11944,lhutton1,ethosn,[ETHOSN] Supply output tensor to issupported checks,217,97,7 +,,2022-07-20T09:58:11Z,https://github.com/apache/tvm/pull/12143,wrongtest-intellif,,Fix #12039‘s broken cases,281,163,8 +,,2022-07-19T23:36:38Z,https://github.com/apache/tvm/pull/12137,gigiblender,"skip ci, arith","[skip ci] Revert ""[Arith] DetectIterMap support overlapped iteration sum""",58,176,8 +hexagon,,2022-07-19T20:14:05Z,https://github.com/apache/tvm/pull/11449,arangasa,hexagon,[Hexagon] Slice op relu,189,0,3 +,,2022-07-19T16:13:52Z,https://github.com/apache/tvm/pull/12122,vinx13,"metaschedule, testing","[MetaSchedule, Testing] Generalize in/out dtype of testing te workloads",125,158,4 +pylint,,2022-07-19T15:20:24Z,https://github.com/apache/tvm/pull/12082,quic-sanirudh,pylint,[Pylint] Making hexagon tests pylint compliant Part 1 of N,347,288,8 +arith,,2022-07-19T14:45:11Z,https://github.com/apache/tvm/pull/12039,wrongtest-intellif,arith,[Arith] DetectIterMap support overlapped iteration sum,176,58,8 +micronpu,,2022-07-19T07:28:45Z,https://github.com/apache/tvm/pull/12120,lhutton1,micronpu,[microNPU] Add support for hard swish,201,0,4 +texture,,2022-07-18T20:39:59Z,https://github.com/apache/tvm/pull/11876,elvin-n,texture,[Texture] Add 2d memory support into static memory planner,363,95,4 +tir,,2022-07-18T16:03:54Z,https://github.com/apache/tvm/pull/11973,Lunderberg,tir,[TIR] Moved PrimExpr operator overload from op.h to expr.h,228,201,4 +metaschedule,,2022-07-16T04:17:31Z,https://github.com/apache/tvm/pull/12113,vinx13,metaschedule,[MetaSchedule] Allow MultiLevelTilingTensorCore rule to specify multiple tensor intrin groups,260,109,5 +collage,,2022-07-15T18:04:33Z,https://github.com/apache/tvm/pull/12105,mbs-octoml,collage,[Collage] PruneCandidates and demo_collage_partition.py,5272,127,13 +relay,,2022-07-15T15:27:35Z,https://github.com/apache/tvm/pull/12095,mbs-octoml,relay,[Relay] Allow Primitive functions to carry virtual device annotations in PlanDevices,168,57,8 +collage,,2022-07-14T21:30:44Z,https://github.com/apache/tvm/pull/12086,mbs-octoml,collage,[Collage] CollagePartition pass,1854,14,18 +metaschedule,,2022-07-14T20:32:11Z,https://github.com/apache/tvm/pull/12059,vinx13,metaschedule,[MetaSchedule] Add MultiLevelTilingTensorCore rule for auto-tensorization on CUDA,1092,65,20 +topi,,2022-07-14T03:42:38Z,https://github.com/apache/tvm/pull/11936,vinx13,topi,[TOPI] Allow conv definition to have custom kernel layout,175,73,13 +tvmscript,,2022-07-13T23:03:11Z,https://github.com/apache/tvm/pull/11977,gbonik,tvmscript,[TVMScript] Add ObjectPath class,865,0,4 +collage,,2022-07-13T19:48:51Z,https://github.com/apache/tvm/pull/12078,mbs-octoml,collage,[Collage] CombinerRule and CandidatePartition::EstimateCost,2167,92,15 +arith,,2022-07-13T16:17:53Z,https://github.com/apache/tvm/pull/11970,Lunderberg,arith, [Arith] Updated BufferDomainTouched to use IRVisitorWithAnalyzer,409,90,8 +,,2022-07-13T15:57:01Z,https://github.com/apache/tvm/pull/12070,junrushao,"tir, schedule",[TIR][Schedule] Refactor Tensorize,580,595,2 +,,2022-07-12T22:04:04Z,https://github.com/apache/tvm/pull/12077,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for DIL,268,0,2 +relay,,2022-07-12T20:55:24Z,https://github.com/apache/tvm/pull/12072,mbs-octoml,relay,[Relay] Move TOpPattern registration for nn.* to C++,109,113,7 +,,2022-07-12T20:15:48Z,https://github.com/apache/tvm/pull/11561,arangasa,"topi, hexagon",[Topi][Hexagon] Implement Cast F32ToF16 and F16ToF32 Slice Op,374,0,5 +,,2022-07-12T20:09:35Z,https://github.com/apache/tvm/pull/12071,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for DEP,250,0,2 +collage,,2022-07-12T16:46:33Z,https://github.com/apache/tvm/pull/11993,mbs-octoml,collage,[Collage] PartitionRule (though without CombinePartitionRule),1998,0,11 +micronpu,,2022-07-12T16:23:44Z,https://github.com/apache/tvm/pull/12029,NicolaLancellotti,micronpu,[microNPU] Add MergeConstants pass,1336,263,11 +collage,,2022-07-11T20:57:55Z,https://github.com/apache/tvm/pull/11981,mbs-octoml,collage,[Collage] SubGraphs,2609,0,11 +,,2022-07-11T18:58:47Z,https://github.com/apache/tvm/pull/12006,ashutosh-arm,"cmsis-nn, perf",[CMSIS-NN][Perf] Converted Relay Conv2D into CMSIS-NN Depthwise,260,15,6 +,,2022-07-11T18:37:11Z,https://github.com/apache/tvm/pull/12023,mehrdadh,"microtvm, rvm",[microtvm][RVM] Refactor Arduino/Zephyr into one RVM,99,505,26 +metaschedule,,2022-07-11T11:32:13Z,https://github.com/apache/tvm/pull/11961,Kathryn-cat,metaschedule,[MetaSchedule] Added a cost model,1012,2,3 +byoc-dnnl,,2022-07-11T00:55:57Z,https://github.com/apache/tvm/pull/12002,crazydemo,byoc-dnnl,[BYOC-DNNL] support more post-ops,95,104,6 +,,2022-07-09T02:01:54Z,https://github.com/apache/tvm/pull/12047,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for CAP,296,0,2 +,,2022-07-09T00:06:28Z,https://github.com/apache/tvm/pull/12046,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for C3D,294,0,2 +,,2022-07-08T20:10:54Z,https://github.com/apache/tvm/pull/12043,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for C2D,268,1,2 +,,2022-07-08T00:31:04Z,https://github.com/apache/tvm/pull/12036,junrushao,"metaschedule, testing",[MetaSchedule][Testing] Add unittests for C1D search space,181,2,2 +pylint,,2022-07-07T23:45:17Z,https://github.com/apache/tvm/pull/11672,AndrewZhaoLuo,pylint,[Pylint] Pylint integration_tests folder,1089,770,13 +,,2022-07-07T21:05:59Z,https://github.com/apache/tvm/pull/12032,junrushao,"metaschedule, testing",[MetaSchedule][Testing] Test search space of conv1d,179,1,2 +,,2022-07-07T18:19:01Z,https://github.com/apache/tvm/pull/11983,abhikran-quic,"topi, hexagon",[TOPI] [Hexagon] Reshape slice op,277,101,4 +pytorch,,2022-07-07T06:37:48Z,https://github.com/apache/tvm/pull/12017,yuanfz98,pytorch,"[Pytorch] add aten::rnn_tanh, aten::rnn_relu",307,1,3 +tvmscript,,2022-07-07T05:11:10Z,https://github.com/apache/tvm/pull/11971,yelite,tvmscript,[TVMScript] Doc Base Class & DocPrinter Scaffolding,725,0,14 +micronpu,,2022-07-06T15:46:29Z,https://github.com/apache/tvm/pull/11209,lhutton1,micronpu,[microNPU] Calculate memory pressure for microNPU external functions,407,18,5 +,,2022-07-06T14:52:44Z,https://github.com/apache/tvm/pull/11489,quic-sanirudh,"topi, hexagon",[Topi] [Hexagon] Conv2d slice op initial version,596,0,4 +tir,,2022-07-06T01:49:55Z,https://github.com/apache/tvm/pull/12010,kparzysz-quic,tir,[TIR] Make conversion from Integer to int64_t explicit,179,144,56 +microtvm,,2022-07-05T17:36:26Z,https://github.com/apache/tvm/pull/11782,guberti,microtvm,[microTVM] Autotuning performance tests,373,88,14 +byoc-dnnl,,2022-07-05T07:41:25Z,https://github.com/apache/tvm/pull/11822,crazydemo,byoc-dnnl,[BYOC-DNNL]rewrite downsize blocks for rensetv1 to get better performance,279,0,2 +tir,,2022-07-03T20:16:18Z,https://github.com/apache/tvm/pull/11999,junrushao,tir,[TIR] Add sugar method `Schedule.work_on`,225,58,15 +byoc,,2022-07-01T22:09:06Z,https://github.com/apache/tvm/pull/11979,mbs-octoml,byoc,[BYOC] Switch TensorRT BYOC integration to IRModule-at-a-time using RelayToTIR hook,524,348,19 +hexagon,,2022-07-01T20:50:35Z,https://github.com/apache/tvm/pull/11693,joshherr-quic,hexagon,[Hexagon] Enable int8 vlut codegen for Relay take (LUT) operator,153,0,2 +metaschedule,,2022-06-30T23:16:58Z,https://github.com/apache/tvm/pull/11955,vinx13,metaschedule,[MetaSchedule] Handle 'warp_execution' in RewriteCooperativeFetch,182,2,2 +byoc,,2022-06-30T17:27:21Z,https://github.com/apache/tvm/pull/11770,mbs-octoml,byoc,[BYOC] Handle constants in IRModule-at-a-time external codegen,571,262,34 +ci,,2022-06-30T16:10:12Z,https://github.com/apache/tvm/pull/11839,driazati,ci,[ci] Redirect sphinx-gallery URLs to S3,582,1,67 +,,2022-06-30T14:36:27Z,https://github.com/apache/tvm/pull/11522,abhikran-quic,"topi, hexagon",[TOPI] [Hexagon] Batch flatten slice op initial version,199,0,5 +metaschedule,,2022-06-30T04:11:41Z,https://github.com/apache/tvm/pull/11797,zxybazh,metaschedule,[MetaSchedule] Tuning Script Upgrade,448,363,11 +metaschedule,,2022-06-30T00:03:32Z,https://github.com/apache/tvm/pull/11949,vinx13,metaschedule,[MetaSchedule] Handle 'warp_execution' implied extend of threadIdx.x in VerifyGpuCode,417,45,3 +,,2022-06-29T21:22:35Z,https://github.com/apache/tvm/pull/11847,arangasa,"topi, hexagon",[TOPI][Hexagon] Implement Argmax Slice Op,178,0,5 +,,2022-06-28T23:05:36Z,https://github.com/apache/tvm/pull/11927,areusch,,Move jenkins/ dir into ci/jenkins and spread docs around,288,121,19 +relay,,2022-06-28T23:05:18Z,https://github.com/apache/tvm/pull/11926,mbs-octoml,relay,[Relay] CaptureIndexInSpans debugging pass,255,0,4 diff --git a/tests/scripts/out-small.csv b/tests/scripts/out-small.csv new file mode 100644 index 000000000000..7c5ef457299b --- /dev/null +++ b/tests/scripts/out-small.csv @@ -0,0 +1,418 @@ +category,description,date,number,author,tags,title,additions,deletions,changed files +tir,,2022-09-21T03:03:14Z,https://github.com/apache/tvm/pull/12836,yincs-intellif,tir,[TIR] Enhance RemoveNoOp pass to remove negative loop,26,1,2 +,,2022-09-20T21:55:16Z,https://github.com/apache/tvm/pull/12828,areusch,,"Fix caffe, boost install in Python venvs by creating python3.X link",12,2,3 +,,2022-09-20T16:48:23Z,https://github.com/apache/tvm/pull/12848,driazati,"skip ci, ci","[skip ci] Revert ""[ci] Lint PR title/body for @ tags (#12840)""",10,20,2 +ci,,2022-09-20T15:10:59Z,https://github.com/apache/tvm/pull/12840,driazati,ci,[ci] Lint PR title/body for @ tags,20,10,2 +onnx,,2022-09-20T15:10:23Z,https://github.com/apache/tvm/pull/12729,sfvaroglu,onnx,[ONNX] Upgrade onnx and onnxruntime,66,2,2 +fix,,2022-09-20T03:07:46Z,https://github.com/apache/tvm/pull/12809,victorsoda,fix,[Fix] naming outputs of graph nodes by op_name:output_index,3,1,1 +,,2022-09-19T22:32:58Z,https://github.com/apache/tvm/pull/12817,yanghaku,"bugfix, llvm",[BugFix][LLVM] Fix the bug that the generated systemlib cannot register ```__tvm_module_ctx``` symbol sometimes,1,1,1 +,,2022-09-19T18:02:53Z,https://github.com/apache/tvm/pull/12816,Lunderberg,"tir, bugfix",[TIR][Bugfix] Correct handling of buffer argument when scheduling,32,15,2 +,,2022-09-19T16:50:20Z,https://github.com/apache/tvm/pull/12821,Lunderberg,"arith, tir","[Arith][TIR] IntSetAnalyzer, delay intersection of IntSet until use",52,74,1 +,,2022-09-19T05:49:04Z,https://github.com/apache/tvm/pull/12593,czh978,"frontend, tflite, ""force_suppress""","[Frontend][TFLite] fix detection_postprocess's non_max_suppression_attrs[""force_suppress""]",27,12,2 +metaschedule,,2022-09-18T02:03:17Z,https://github.com/apache/tvm/pull/12825,MasterJH5574,metaschedule,[MetaSchedule] Relax conditions of rule Cross-Thread Reduction,100,4,2 +,,2022-09-17T15:08:34Z,https://github.com/apache/tvm/pull/12819,MasterJH5574,"bugfix, tir",[BugFix][TIR] Fix Buffer LCA Detector,70,1,2 +,,2022-09-16T23:25:28Z,https://github.com/apache/tvm/pull/12727,janetsc,"hexagon, runtime",[Hexagon] [runtime] Improve runtime resource management,76,10,4 +hexagon,,2022-09-16T22:24:03Z,https://github.com/apache/tvm/pull/12795,mehrdadh,hexagon,[Hexagon] Add debug option to hexagon pytest,22,8,2 +ci,,2022-09-16T19:54:51Z,https://github.com/apache/tvm/pull/12810,driazati,ci,[ci] Fix docs push,6,4,2 +,,2022-09-16T18:53:53Z,https://github.com/apache/tvm/pull/12807,janetsc,"hexagon, runtime",[Hexagon] [runtime] Protect access to global HexagonBufferManager map,22,3,1 +hexagon,,2022-09-16T17:50:30Z,https://github.com/apache/tvm/pull/12783,nverke,hexagon,[Hexagon] Reduce the number of tests run for VTCM testing in order to…,36,19,2 +,,2022-09-16T15:51:09Z,https://github.com/apache/tvm/pull/12813,ashutosh-arm,,Fix for import requests and import caffe failures,7,3,2 +,,2022-09-16T13:11:07Z,https://github.com/apache/tvm/pull/12811,zxybazh,"metaschedule, minor",[MetaSchedule][Minor]Fix Random State Fork in TuneContext Clone Function,1,0,1 +,,2022-09-16T07:02:18Z,https://github.com/apache/tvm/pull/12804,driazati,"ci, docker",[ci][docker] Fix nightly Docker tests,3,3,2 +tir,,2022-09-16T01:49:22Z,https://github.com/apache/tvm/pull/12800,vinx13,tir,[TIR] Add extra simpliciation in region cover analysis,90,1,2 +community,,2022-09-16T00:07:39Z,https://github.com/apache/tvm/pull/12799,driazati,community,[community] Fix outdated contributor GitHub usernames,6,6,1 +tvmscript,,2022-09-15T23:40:55Z,https://github.com/apache/tvm/pull/12772,wrongtest-intellif,tvmscript,[TVMScript] Fix parse minimal i32 literal for tir script,17,0,2 +,,2022-09-15T23:38:38Z,https://github.com/apache/tvm/pull/12798,vinx13,,Fix typo in doc of logging,2,2,1 +ci,,2022-09-15T22:43:33Z,https://github.com/apache/tvm/pull/12788,driazati,ci,[ci] Remove author check from ping bot,1,38,2 +,,2022-09-15T22:29:15Z,https://github.com/apache/tvm/pull/12774,driazati,"ci, docker",[ci][docker] Always build cmake from source,24,16,9 +target,,2022-09-15T21:03:21Z,https://github.com/apache/tvm/pull/12747,Mousius,target,[Target] Print deprecation warning before canonicalisation in build module,2,2,1 +arith,,2022-09-15T20:30:08Z,https://github.com/apache/tvm/pull/12749,vinx13,arith,[Arith] Simplify nested if_then_else,30,0,2 +,,2022-09-14T23:08:32Z,https://github.com/apache/tvm/pull/12756,gromero,"microtvm, zephyr",[microTVM][Zephyr] Fix PLL freq. in overlay for nucleo_l4r5zi board,22,0,1 +,,2022-09-14T22:06:05Z,https://github.com/apache/tvm/pull/12775,ashutosh-arm,,Fixed pylint issues after moving to venv in ci_lint docker,4,4,4 +ci,,2022-09-14T16:16:57Z,https://github.com/apache/tvm/pull/12456,ekalda,ci,[CI] Set USE_CMSISNN and USE_ETHOSU off in task_config_build_cpu.sh,2,2,1 +,,2022-09-14T14:23:51Z,https://github.com/apache/tvm/pull/10516,Lunderberg,"relay, te",[Relay][TE] Use Relay parameter name to generated TE tensor name,48,35,5 +hybrid,,2022-09-14T04:43:54Z,https://github.com/apache/tvm/pull/12769,vinx13,hybrid,[Hybrid] Fix handling AST subcription for Python3.9,4,0,1 +fq2i,,2022-09-14T00:24:33Z,https://github.com/apache/tvm/pull/12666,mbrookhart,fq2i,[FQ2I] Quantized constant bias,36,22,2 +community,,2022-09-13T21:43:23Z,https://github.com/apache/tvm/pull/12768,ZihengJiang,community,[COMMUNITY] Josh Fromm -> PMC,1,1,1 +autotvm,,2022-09-12T23:06:16Z,https://github.com/apache/tvm/pull/12760,junrushao,autotvm,[AutoTVM] Fix `None` feature in AutoTVM tuning,11,11,3 +hexagon,,2022-09-12T20:31:52Z,https://github.com/apache/tvm/pull/12662,Lunderberg,hexagon,[Hexagon] Validate 2-d physical shapes for TIR-derived schedules,58,1,1 +tflite,,2022-09-12T20:03:56Z,https://github.com/apache/tvm/pull/12754,dchauhan-arm,tflite,[TFLite] Support quantized GREATER op in TFLite frontend,37,31,2 +metaschedule,,2022-09-12T08:07:00Z,https://github.com/apache/tvm/pull/12704,wrongtest-intellif,metaschedule,[MetaSchedule] Fix typo of compare between GlobalVar and str,1,1,1 +tf,,2022-09-12T07:01:10Z,https://github.com/apache/tvm/pull/12751,apivovarov,tf,[TF] Add Bincount support,135,1,3 +ethosn,,2022-09-10T09:58:45Z,https://github.com/apache/tvm/pull/12650,lhutton1,ethosn,[ETHOSN] Update driver stack version to 22.08,57,28,6 +,,2022-09-09T21:19:45Z,https://github.com/apache/tvm/pull/12559,trahman-quic,"topi, hexagon",[TOPI][Hexagon] Add test and schedule for uint8 resize2d,80,13,2 +,,2022-09-09T19:02:16Z,https://github.com/apache/tvm/pull/12658,blackkker,"frontend, paddle",[Frontend][Paddle] Fix op in paddle did't transmit layout information,4,1,1 +,,2022-09-09T18:59:55Z,https://github.com/apache/tvm/pull/12726,Lunderberg,"tvmscript, tir",[TVMScript][TIR] Clarify scope of BlockNode::iter_vars,62,17,3 +,,2022-09-09T16:25:30Z,https://github.com/apache/tvm/pull/12741,mehrdadh,"microtvm, zephyr",[microtvm][Zephyr] Add project overlay to overwrite device tree configs,36,4,4 +,,2022-09-09T15:49:37Z,https://github.com/apache/tvm/pull/12723,ashutosh-arm,,Aligned CMSIS-NN SHA in TVM to CMSIS top of tree,25,18,5 +ci,,2022-09-09T15:24:05Z,https://github.com/apache/tvm/pull/12738,leandron,ci,[CI] Update Docker images to bring TF 2.9 and integration tests,31,21,4 +tf,,2022-09-09T08:29:57Z,https://github.com/apache/tvm/pull/12728,apivovarov,tf,[TF] Add DenseBincount support,96,0,2 +,,2022-09-09T07:07:09Z,https://github.com/apache/tvm/pull/12744,driazati,"ci, docker",[ci][docker] Use CMake 3.20.0 for cortexm,10,4,2 +,,2022-09-08T22:30:38Z,https://github.com/apache/tvm/pull/12678,rkimball,,Move static array initialization into a function go avoid link errors,33,34,2 +tir,,2022-09-08T16:35:58Z,https://github.com/apache/tvm/pull/12725,Lunderberg,tir,[TIR] Update region min/extent in ReplaceBufferMutator,48,3,2 +test,,2022-09-08T13:50:36Z,https://github.com/apache/tvm/pull/12737,leandron,test,[Test] Add tvm.testing.requires_libtorch,5,0,2 +metaschedule,,2022-09-08T13:50:14Z,https://github.com/apache/tvm/pull/12733,leandron,metaschedule,[MetaSchedule] Mark two tests as xfail,2,0,1 +,,2022-09-08T13:49:55Z,https://github.com/apache/tvm/pull/12730,leandron,"ci, aarch64",[CI][AArch64] Mark tests to be skipped due to torch crash,8,0,1 +relay,,2022-09-08T08:54:10Z,https://github.com/apache/tvm/pull/12671,guberti,relay,[Relay] Change when int8 operations are converted to int16 on Arm,14,8,1 +tir,,2022-09-08T03:28:36Z,https://github.com/apache/tvm/pull/12631,yincs-intellif,tir,[TIR] Add unroll_loop_with_partition_hint_no_interval attr in LoopPartitionConfig to unroll loop,71,29,2 +ci,,2022-09-07T20:15:42Z,https://github.com/apache/tvm/pull/12716,driazati,ci,[ci] Add onnx model to S3,3,0,2 +,,2022-09-07T19:53:54Z,https://github.com/apache/tvm/pull/12131,leandron,"tflite, ci",[TFLite][CI] Update TensorFlow dependency to 2.9.1,35,31,12 +build,,2022-09-07T16:12:02Z,https://github.com/apache/tvm/pull/12712,Lunderberg,build,"[Build] Update C++ standard to C++17 for AOT, iOS, VTA",5,5,4 +,,2022-09-07T14:26:09Z,https://github.com/apache/tvm/pull/12718,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Enable -O2 optimization on build by default,7,2,1 +,,2022-09-07T07:06:31Z,https://github.com/apache/tvm/pull/12702,cery999,,support false-positive fast math,1,1,1 +tir,,2022-09-07T07:03:47Z,https://github.com/apache/tvm/pull/12699,yincs-intellif,tir,[TIR] Fix pragma_loop_partition_hint attrs should check it's value,11,8,2 +docs,,2022-09-07T07:00:24Z,https://github.com/apache/tvm/pull/12689,gromero,docs,[Docs] Add Commit Message Guideline,112,1,1 +tvmc,,2022-09-06T20:10:36Z,https://github.com/apache/tvm/pull/12713,lhutton1,tvmc,[TVMC] Run module once by default,101,19,4 +hexagon,,2022-09-06T19:45:53Z,https://github.com/apache/tvm/pull/12714,ibsidorenko,hexagon,[Hexagon] Add optimized schedule for nn.pad,125,1,6 +community,,2022-09-06T17:33:58Z,https://github.com/apache/tvm/pull/12715,areusch,community,[COMMUNITY] ekalda -> Committer,1,0,1 +,,2022-09-06T17:31:39Z,https://github.com/apache/tvm/pull/12655,Lunderberg,"tir, storagerewrite",[TIR][StorageRewrite] Allow in-place buffer reuse of non-flat memory,132,4,2 +,,2022-09-06T15:06:03Z,https://github.com/apache/tvm/pull/12574,cconvey,"hexagon, runtime",[Hexagon][Runtime] Better support for 2-tier memory,126,23,3 +apps,,2022-09-06T13:12:14Z,https://github.com/apache/tvm/pull/12710,leandron,apps,[Apps] Pin android_camera TensorFlow/Keras dependency version,2,2,1 +,,2022-09-02T23:43:31Z,https://github.com/apache/tvm/pull/12693,Lunderberg,"web, emscripten",[Web][Emscripten] Update EMCC C++ standard to C++17,1,1,1 +adreno,,2022-09-02T22:42:59Z,https://github.com/apache/tvm/pull/12647,Icemist,adreno,[Adreno] Define memory_info for global.texture*,17,3,2 +ci,,2022-09-02T22:01:22Z,https://github.com/apache/tvm/pull/12680,driazati,ci,[ci] Add tests for PR linter,49,11,2 +ethosn,,2022-09-02T12:52:23Z,https://github.com/apache/tvm/pull/12686,lhutton1,ethosn,[ETHOSN] Add support for concatenate with negative axis,32,24,2 +ethosn,,2022-09-02T07:53:44Z,https://github.com/apache/tvm/pull/12675,lhutton1,ethosn,[ETHOSN] Fix some more pylint issues,13,7,4 +pytorch,,2022-09-02T07:24:04Z,https://github.com/apache/tvm/pull/12681,shingjan,pytorch,[PyTorch] Fix aten::arange for pytorch,14,18,1 +,,2022-09-02T05:13:20Z,https://github.com/apache/tvm/pull/12683,Hzfengsy,"skip ci, community",[skip ci][COMMUNITY] Yaxing Cai -> Reviewer,1,0,1 +tir,,2022-09-02T01:56:32Z,https://github.com/apache/tvm/pull/12679,vinx13,tir,[TIR] Handle DeclBuffer in ToSSA,13,6,3 +,,2022-09-01T21:19:40Z,https://github.com/apache/tvm/pull/12472,arangasa,"hexagon, topi",[HEXAGON][TOPI]Slice Op Argmax uint8,15,6,2 +,,2022-09-01T20:51:33Z,https://github.com/apache/tvm/pull/12676,cconvey,"hexagon, tests",[hexagon][tests] re-enable maxpool hardware test,0,3,1 +,,2022-09-01T15:57:40Z,https://github.com/apache/tvm/pull/12664,rkimball,,Add methods to get and set late-bound constants.,126,1,4 +metaschedule,,2022-09-01T14:23:35Z,https://github.com/apache/tvm/pull/12668,shingjan,metaschedule,[MetaSchedule] Fix autoinline for single const consumer block,32,1,2 +tir,,2022-09-01T02:23:15Z,https://github.com/apache/tvm/pull/12661,Lunderberg,tir,[TIR] Allow string/buffer arguments to Schedule cache_read/write,42,8,2 +,,2022-08-31T19:51:21Z,https://github.com/apache/tvm/pull/12660,leandron,"torch, aarch64",[Torch][AArch64] Skip test_load_model___wrong_language__to_pytorch,4,0,1 +ethosn,,2022-08-31T09:54:54Z,https://github.com/apache/tvm/pull/12594,NicolaLancellotti,ethosn,[ETHOSN] Improve inferring new shape of the Reshape operator,33,16,4 +testing,,2022-08-31T08:21:36Z,https://github.com/apache/tvm/pull/12656,junrushao,testing,[Testing] Allow NCHW layout in `relay_workload`,60,31,4 +tir,,2022-08-31T03:12:05Z,https://github.com/apache/tvm/pull/12572,wrongtest-intellif,tir,[TIR] Preserve annotations after lower opaque block,83,14,2 +metaschedule,,2022-08-31T03:09:15Z,https://github.com/apache/tvm/pull/12648,zxybazh,metaschedule,[MetaSchedule] Complete NCHW Conv2D Winograd Kernel Scheduling,40,3,3 +ci,,2022-08-30T22:19:27Z,https://github.com/apache/tvm/pull/12604,driazati,ci,[ci] Add mechanism for trust on certain CI scripts,51,1,2 +,,2022-08-30T22:10:54Z,https://github.com/apache/tvm/pull/12642,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Add missing CMSIS-NN source files to cmake file,5,1,1 +hexagon,,2022-08-30T20:56:04Z,https://github.com/apache/tvm/pull/12502,adstraw,hexagon,[Hexagon] Expose gtest output through runtime exception,4,3,1 +microtvm,,2022-08-30T20:40:18Z,https://github.com/apache/tvm/pull/12641,mehrdadh,microtvm,[microTVM]Fix test util functions,6,4,2 +,,2022-08-30T19:48:43Z,https://github.com/apache/tvm/pull/12653,mehrdadh,"microtvm, arm-dsp",[microTVM][ARM-DSP] Fix pool schedule ,2,1,1 +tvmscript,,2022-08-30T18:51:53Z,https://github.com/apache/tvm/pull/12618,shingjan,tvmscript,"[TVMScript] support float inf, -inf and nan in TVMScript parser and printer",69,12,4 +ci,,2022-08-30T18:51:12Z,https://github.com/apache/tvm/pull/12609,driazati,ci,[ci] Move non-task CI scripts into ci/ folder,43,37,38 +tir,,2022-08-30T00:27:34Z,https://github.com/apache/tvm/pull/12638,Lunderberg,tir,[TIR] Improved error messages for PrimExpr operator overloads,40,18,1 +utils,,2022-08-29T21:33:04Z,https://github.com/apache/tvm/pull/12633,Lunderberg,utils,[Utils] Handled Callable in tir.schedule._type_checker,103,14,2 +ci,,2022-08-29T18:00:54Z,https://github.com/apache/tvm/pull/12621,driazati,ci,[ci] Don't update Jenkinsfile timestamp on image updates,58,4,1 +,,2022-08-29T16:59:10Z,https://github.com/apache/tvm/pull/12620,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Disable test_armv7m_intrinsic since it's broken,2,2,1 +qnn,,2022-08-29T10:31:00Z,https://github.com/apache/tvm/pull/12624,zhaoyang-star,qnn,[QNN] Align output_scale/zero_point of sigmoid to Torch,39,7,2 +ci,,2022-08-26T19:37:32Z,https://github.com/apache/tvm/pull/12613,masahi,ci,[CI] Update Hexagon image to install boost,3,3,2 +simplifyexpr,,2022-08-26T16:28:20Z,https://github.com/apache/tvm/pull/12580,mbrookhart,simplifyexpr,[SimplifyExpr] Add simplify for dq->arg funcs,96,0,2 +,,2022-08-26T06:19:19Z,https://github.com/apache/tvm/pull/12596,wzh99,"topi, bugfix",[TOPI][Bugfix] Make semantics of empty `axis` in `squeeze` consistent with Relay,5,4,2 +,,2022-08-25T21:21:13Z,https://github.com/apache/tvm/pull/12605,yzhliu,"skip ci, community",[skip ci][Community] Wuwei Lin -> PMC,1,1,1 +community,,2022-08-25T20:06:54Z,https://github.com/apache/tvm/pull/12598,leandron,community,[COMMUNITY] @cconvey -> Reviewer,1,0,1 +ci,,2022-08-25T17:55:58Z,https://github.com/apache/tvm/pull/12414,driazati,ci,[ci] Default to n=2 for test parallelism,111,4,5 +,,2022-08-25T17:42:57Z,https://github.com/apache/tvm/pull/12581,wrongtest-intellif,"cuda, codegen",[CUDA][CodeGen] Fix cuda codegen's fp16 inf literal,16,6,2 +f2qi,,2022-08-25T16:23:46Z,https://github.com/apache/tvm/pull/12577,mbrookhart,f2qi,[F2QI] Fix a rounding error on AvgPool when input and output affine scales differ,61,18,2 +micronpu,,2022-08-25T15:48:40Z,https://github.com/apache/tvm/pull/12570,lhutton1,micronpu,[microNPU] Remove xfail from tests relating to #12511,0,5,1 +ci,,2022-08-25T15:45:43Z,https://github.com/apache/tvm/pull/12578,yelite,ci,[CI] github_cc_reviewers: Catch all exceptions so all reviewers can be processed,5,1,1 +doc,,2022-08-25T15:44:50Z,https://github.com/apache/tvm/pull/12597,huanmei9,doc,[DOC] fix code-block error in debuggging TVM part.,1,1,1 +,,2022-08-25T14:22:37Z,https://github.com/apache/tvm/pull/12585,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Add recommended heap size for NRF and qemu_x86,5,3,1 +ci,,2022-08-25T11:05:45Z,https://github.com/apache/tvm/pull/12592,masahi,ci,[CI] Install xgboost in Hexagon image,4,0,1 +pytorch,,2022-08-25T10:04:07Z,https://github.com/apache/tvm/pull/12591,shingjan,pytorch,[PyTorch] Add aten::new_empty,33,0,2 +tir,,2022-08-25T02:21:35Z,https://github.com/apache/tvm/pull/12584,cyx-6,tir,[TIR] Expose `shift_left` and `shift_right` to Python,55,1,3 +microtvm,,2022-08-25T00:46:08Z,https://github.com/apache/tvm/pull/12519,Lucien0,microtvm,[MicroTVM] fix compile error when the compiler implements char as unsigned,1,1,1 +microtvm,,2022-08-25T00:45:14Z,https://github.com/apache/tvm/pull/12575,mehrdadh,microtvm,[microTVM] Fix `build` directory exists error,2,0,1 +hexagon,,2022-08-24T18:44:59Z,https://github.com/apache/tvm/pull/12565,mehrdadh,hexagon,[Hexagon] Fix missing pytest import,2,0,1 +hexagon,,2022-08-24T15:29:30Z,https://github.com/apache/tvm/pull/12504,farshidsp,hexagon,[Hexagon] Add support to run on multiple devices,59,17,3 +tir,,2022-08-24T14:13:28Z,https://github.com/apache/tvm/pull/12571,cyx-6,tir,[TIR] Expose Vector-related API in Python,82,0,3 +,,2022-08-24T12:44:55Z,https://github.com/apache/tvm/pull/12568,leandron,"ci, onnx",[CI][ONNX] Set test python.contrib.test_onnx.test_resize as xfail,1,0,1 +target,,2022-08-24T10:24:05Z,https://github.com/apache/tvm/pull/12322,Mousius,target,[Target] Replace IsaAnalyzer with Target Features ,6,54,3 +,,2022-08-24T07:13:30Z,https://github.com/apache/tvm/pull/12557,ashutosh-arm,"ci, cmsis-nn",[CI][CMSIS-NN] Running tests parallel using pytest-xdist,1,1,1 +micronpu,,2022-08-24T07:10:59Z,https://github.com/apache/tvm/pull/12558,lhutton1,micronpu,[microNPU] Force compute_cycles_hint to be interpreted as an int64 value,5,1,1 +,,2022-08-24T07:08:47Z,https://github.com/apache/tvm/pull/12563,crawlingcub,"pytorch, fix",[PyTorch][Fix] Fix for numerically unstable logsigmoid,5,1,2 +,,2022-08-23T21:42:43Z,https://github.com/apache/tvm/pull/12561,kparzysz-quic,,"Add using directives for otherwise hidden virtual functions, NFC",7,1,3 +,,2022-08-23T20:44:34Z,https://github.com/apache/tvm/pull/12562,kparzysz-quic,,"Replace std::result_of (deprecated in C++17) with std::invoke_result,…",1,1,1 +microtvm,,2022-08-23T20:10:50Z,https://github.com/apache/tvm/pull/12390,mkatanbaf,microtvm,[MicroTVM] add heap-size to project options,48,2,3 +ethosn,,2022-08-23T19:57:24Z,https://github.com/apache/tvm/pull/12556,NicolaLancellotti,ethosn,[ETHOSN] Add support for special indices of Reshape,12,63,2 +ci,,2022-08-23T19:49:52Z,https://github.com/apache/tvm/pull/12533,ekalda,ci,[CI] Remove Vela from ci_cpu,0,7,1 +,,2022-08-23T18:08:55Z,https://github.com/apache/tvm/pull/12560,driazati,"skip ci, ci",[skip ci][ci] Mark more ethosu tests with xfail,5,12,1 +relay,,2022-08-23T15:51:04Z,https://github.com/apache/tvm/pull/12363,mbrookhart,relay,[Relay] Add Rsqrt to SimplifyExpr,46,1,4 +ethosn,,2022-08-23T13:28:12Z,https://github.com/apache/tvm/pull/12540,lhutton1,ethosn,[ETHOSN] Fix requantize output conversion,75,10,2 +,,2022-08-23T13:03:04Z,https://github.com/apache/tvm/pull/12554,leandron,"ci, aarch64",[CI][AArch64] Skip libgomp failures in integration tests,22,0,3 +tflite,,2022-08-23T07:38:45Z,https://github.com/apache/tvm/pull/12130,NicolaLancellotti,tflite,[TFLite] Fix tests so that TensorFlow 2.9 is supported,30,11,2 +community,,2022-08-23T06:37:39Z,https://github.com/apache/tvm/pull/12543,leandron,community,[COMMUNITY] @konturn -> Reviewer,1,0,1 +acl,,2022-08-23T05:46:26Z,https://github.com/apache/tvm/pull/12541,leandron,acl,[ACL] Adjust mobilenet test for Keras 2.9,21,1,1 +,,2022-08-23T02:59:58Z,https://github.com/apache/tvm/pull/12551,areusch,,Add instructions on how to add a new CI docker image,23,0,1 +microtvm,,2022-08-23T01:59:26Z,https://github.com/apache/tvm/pull/12530,guberti,microtvm,[microTVM] Replace static fixtures with parameterization,39,25,4 +microtvm,,2022-08-23T01:58:54Z,https://github.com/apache/tvm/pull/12539,guberti,microtvm,[microTVM] Rework evaluate_model_accuracy into a more generic helper function,14,22,3 +bug fix,,2022-08-23T01:39:16Z,https://github.com/apache/tvm/pull/12547,mkatanbaf,bug fix,[bug fix] verify CMSIS_PATH at project generation,8,1,2 +,,2022-08-23T00:11:40Z,https://github.com/apache/tvm/pull/12546,michalpiszczek,,Remove mutable default arguments in mlp_model,22,15,1 +,,2022-08-22T20:13:47Z,https://github.com/apache/tvm/pull/12447,MichaelJKlaiber,"bugfix, uma",[BugFix][UMA] Fix order issue in uma_lower ,107,30,5 +ci,,2022-08-22T19:07:45Z,https://github.com/apache/tvm/pull/12510,shingjan,ci,[CI] Add alexnet and googlenet caffe model to request hook,3,0,1 +ci,,2022-08-22T17:35:08Z,https://github.com/apache/tvm/pull/12508,driazati,ci,[ci] xfail failing ethosu codegen tests,42,2,2 +relay,,2022-08-22T17:07:38Z,https://github.com/apache/tvm/pull/12498,Olivert007,relay,[Relay] Fix bug in resize2d unittest func name,2,2,1 +microtvm,,2022-08-22T16:58:11Z,https://github.com/apache/tvm/pull/12479,mkatanbaf,microtvm,[MicroTVM] expose project options in autotuning,14,5,1 +ci,,2022-08-22T16:01:11Z,https://github.com/apache/tvm/pull/12528,leandron,ci,"[CI] Set test dependency on ""transformers"" package with pytest.importorskip",4,0,1 +onnx,,2022-08-22T15:48:59Z,https://github.com/apache/tvm/pull/12532,leandron,onnx,[ONNX] Fix test to disable default ONNX frontend constant folding,1,1,1 +topi,,2022-08-22T08:01:23Z,https://github.com/apache/tvm/pull/12523,chengven027-intellif,topi,[topi]fix group conv3d pack kernel shape error,21,2,2 +community,,2022-08-20T23:32:26Z,https://github.com/apache/tvm/pull/12517,ZihengJiang,community,[COMMUNITY] An Wang -> Reviewer,1,0,1 +tir,,2022-08-20T20:55:35Z,https://github.com/apache/tvm/pull/12516,wrongtest-intellif,tir,[TIR] Fix temp obj reference typo in manifest_shared_memory_local_stage,2,2,1 +,,2022-08-20T19:54:22Z,https://github.com/apache/tvm/pull/12497,blackkker,"relay, layout",[Relay][Layout] Add FInferCorrectLayout for L2 norm layout transform.,76,1,2 +micro,,2022-08-19T23:35:14Z,https://github.com/apache/tvm/pull/12483,mehrdadh,micro,[micro] Fix pytest fixture,1,0,1 +,,2022-08-19T23:30:47Z,https://github.com/apache/tvm/pull/12500,chengven027-intellif,"onnx, topi",[onnx][topi]fix group_conv3d caculate error,3,3,2 +topi,,2022-08-19T23:29:06Z,https://github.com/apache/tvm/pull/12200,chengven027-intellif,topi,[TOPI]fix scatterND large shape problem,22,1,2 +microtvm,,2022-08-19T22:40:08Z,https://github.com/apache/tvm/pull/12444,mehrdadh,microtvm,[microTVM] Add config space to dense_dsp schedule,68,36,3 +microtvm,,2022-08-19T19:44:13Z,https://github.com/apache/tvm/pull/12484,guberti,microtvm,[microTVM] Fix test_autotune to support schedules with no tuning space,5,1,1 +,,2022-08-19T18:42:35Z,https://github.com/apache/tvm/pull/12501,MichaelJKlaiber,"community, skip ci",[COMMUNITY] [skip ci] MichaelJKlaiber -> reviewer,1,0,1 +,,2022-08-18T23:12:12Z,https://github.com/apache/tvm/pull/12491,driazati,"ci, tvmbot",[ci][tvmbot] Search more users when checking usernames,2,2,1 +target,,2022-08-18T23:11:23Z,https://github.com/apache/tvm/pull/12474,kparzysz-quic,target,[Target] Only append default keys if target doesn't have any yet,32,27,5 +,,2022-08-18T17:44:07Z,https://github.com/apache/tvm/pull/12370,yangulei,"tir, bfloat16",[TIR] [bfloat16] add bfloat16 promotion for CallNode,24,1,2 +hexagon,,2022-08-18T17:40:05Z,https://github.com/apache/tvm/pull/12397,avquicinc,hexagon,[HEXAGON] Auto-vectorization (fp16) for v68,7,1,2 +crt runtime,,2022-08-18T14:04:43Z,https://github.com/apache/tvm/pull/12437,hugy718,crt runtime,[CRT runtime] Fix memset of memory pool in PageMemoryManagerCreate,1,1,1 +tir,,2022-08-18T08:57:03Z,https://github.com/apache/tvm/pull/12477,vinx13,tir,[TIR] Disallow vectorization with strides in VerifyGPUCode,46,9,3 +community,,2022-08-18T08:56:33Z,https://github.com/apache/tvm/pull/12480,kparzysz-quic,community,[COMMUNITY] Adam Straw -> Reviewer,1,0,1 +,,2022-08-18T08:55:44Z,https://github.com/apache/tvm/pull/12471,arangasa,"hexagon, topi",[HEXAGON][TOPI] This PR adjusts schedules so >64 length vector loads/…,6,4,2 +metaschedule,,2022-08-18T04:00:14Z,https://github.com/apache/tvm/pull/12481,AndrewZhaoLuo,metaschedule,[MetaSchedule] Handle deserializing empty string RVs in trace,60,1,2 +,,2022-08-18T00:22:42Z,https://github.com/apache/tvm/pull/12467,blackkker,"frontend, pytorch","[Frontend][Pytorch] Add axis N when maxpool3d layout is (C,D,H,W)",16,7,2 +docs,,2022-08-17T21:04:52Z,https://github.com/apache/tvm/pull/12476,driazati,docs,[docs] Add instructions for uploading CI resources to S3,4,2,1 +tir,,2022-08-17T09:26:45Z,https://github.com/apache/tvm/pull/12466,cyx-6,tir,[TIR] Expose Missing TIR Builtins to Python,137,2,6 +,,2022-08-17T04:38:29Z,https://github.com/apache/tvm/pull/12460,kparzysz-quic,,"Use std::string_view, remove experimental or pre-14 variants, NFC",12,42,9 +,,2022-08-16T23:10:16Z,https://github.com/apache/tvm/pull/12461,kparzysz-quic,,"Remove uses of std::iterator, NFC",9,3,1 +,,2022-08-16T21:06:48Z,https://github.com/apache/tvm/pull/12459,kparzysz-quic,,"Use std::make_unique instead of std::unique_ptr(new ...), NFC",28,33,17 +,,2022-08-16T20:34:34Z,https://github.com/apache/tvm/pull/12458,kparzysz-quic,,Change tir::GetPointerType to return std::optional,23,25,5 +tir,,2022-08-16T18:58:04Z,https://github.com/apache/tvm/pull/12452,cyx-6,tir,[TIR] Expose `Struct/Tuple`-related TVM Builtins,90,0,3 +arith,,2022-08-16T17:08:03Z,https://github.com/apache/tvm/pull/12457,Lunderberg,arith,[Arith] Parse > and >= bounds in ConstIntBoundAnalyzer,39,41,2 +hotfix,,2022-08-16T15:48:12Z,https://github.com/apache/tvm/pull/12401,echuraev,hotfix,[HotFix] Op is not bound to any variables,7,4,2 +tir,,2022-08-16T07:35:31Z,https://github.com/apache/tvm/pull/12435,cyx-6,tir,[TIR] Expose Misc TIR operations to python,93,1,4 +metaschedule,,2022-08-16T01:32:04Z,https://github.com/apache/tvm/pull/12445,vinx13,metaschedule,[MetaSchedule] Add logging of usage of tensor intrinsics,11,2,4 +,,2022-08-15T17:02:35Z,https://github.com/apache/tvm/pull/12439,Hzfengsy,"tir, ux",[TIR][UX] allow override when register TensorIntrin,13,6,3 +,,2022-08-15T16:58:29Z,https://github.com/apache/tvm/pull/12369,areusch,,"Add ci_riscv image, update all to 20220810-060142-fae79bbc3",20,17,3 +,,2022-08-15T15:46:38Z,https://github.com/apache/tvm/pull/12438,leandron,"ci, aarch64",[CI][AArch64] Enable ONNX installation in ci_arm image,4,0,1 +tir,,2022-08-15T05:01:13Z,https://github.com/apache/tvm/pull/12429,cyx-6,tir,[TIR] Expose Stack-related TVM builtins in Python,69,0,2 +tir,,2022-08-15T04:58:52Z,https://github.com/apache/tvm/pull/12425,cyx-6,tir,"[TIR] Expose: `call_packed_lowered`, `call_cpacked_lowered`",56,0,2 +tir,,2022-08-14T14:43:58Z,https://github.com/apache/tvm/pull/12422,cyx-6,tir,[TIR] Allow `tir.Buffer` converted to `BufferLoad/BufferRegion` with `__getitem__`,39,2,1 +tir,,2022-08-14T14:43:38Z,https://github.com/apache/tvm/pull/12424,cyx-6,tir,[TIR] Avoid `import *` in TIR tensor intrinsic registration,32,32,10 +fix,,2022-08-14T14:43:21Z,https://github.com/apache/tvm/pull/12421,cyx-6,fix,[Fix] Fix `dtype` in Cache-Read/Write,4,2,2 +tir,,2022-08-14T14:43:00Z,https://github.com/apache/tvm/pull/12420,cyx-6,tir,[TIR] Allow converting `BufferRegion` to vectorized `BufferLoad`,32,1,2 +tir,,2022-08-14T06:15:34Z,https://github.com/apache/tvm/pull/12365,AndrewZhaoLuo,tir,[TIR] Fix assert for tensorcore int8 intrinsics,2,2,1 +,,2022-08-14T04:15:44Z,https://github.com/apache/tvm/pull/12418,cyx-6,,Add `operator()` to `support::With`,2,0,1 +fix,,2022-08-14T03:07:45Z,https://github.com/apache/tvm/pull/12423,cyx-6,fix,[Fix] Fix errors in error checking and reporting,9,7,2 +fix,,2022-08-14T03:06:33Z,https://github.com/apache/tvm/pull/12417,cyx-6,fix,[Fix] Fix precision issue in FFI converting `int/float` to `PrimExpr`,2,2,1 +,,2022-08-14T02:39:56Z,https://github.com/apache/tvm/pull/12315,huanmei9,"topi, op",[TOPI][OP]change float multiplication of resize op to integer division,102,7,3 +tir,,2022-08-14T02:23:23Z,https://github.com/apache/tvm/pull/12419,cyx-6,tir,[TIR] Expose `ScriptComplete` in header,39,3,2 +metaschedule,,2022-08-13T08:06:16Z,https://github.com/apache/tvm/pull/12408,vinx13,metaschedule,[MetaSchedule] Filter vector_load_lens based on buffer dtype,38,15,4 +,,2022-08-12T20:25:18Z,https://github.com/apache/tvm/pull/12413,driazati,"skip ci, ci","[skip ci] Revert ""[ci] Default to n=2 for test parallelism (#12376)""",4,68,4 +,,2022-08-12T20:17:21Z,https://github.com/apache/tvm/pull/12394,nverke,,Cap hexagon max con to number of HVX units,17,3,1 +lowervtcmalloc,,2022-08-12T20:16:23Z,https://github.com/apache/tvm/pull/12364,tkonolige,lowervtcmalloc,[LowerVTCMAlloc] Move LowerVtcmAlloc to after StorageRewrite,5,4,2 +,,2022-08-12T18:15:45Z,https://github.com/apache/tvm/pull/12402,Icemist,,Add sort_by_time flag to debug_executor.run method,5,1,1 +docs,,2022-08-12T17:57:09Z,https://github.com/apache/tvm/pull/12405,kparzysz-quic,docs,[docs] Update minimum compiler requirements for building from source,5,1,1 +ci,,2022-08-12T16:04:43Z,https://github.com/apache/tvm/pull/12376,driazati,ci,[ci] Default to n=2 for test parallelism,68,4,4 +,,2022-08-12T12:19:39Z,https://github.com/apache/tvm/pull/12386,driazati,,Add needs-triage label to CI Problem template,1,0,1 +pytorch,,2022-08-12T09:09:22Z,https://github.com/apache/tvm/pull/12395,shingjan,pytorch,[PyTorch] Fix all_any_common with no default input,13,2,2 +pytorch,,2022-08-12T07:02:48Z,https://github.com/apache/tvm/pull/12134,shingjan,pytorch,[PyTorch] Fix pad_common for float pad_value,36,7,2 +target,,2022-08-12T03:38:09Z,https://github.com/apache/tvm/pull/12385,zxybazh,target,[Target] Fix C5 Target Tag to Include CascadeLake Archs,11,12,1 +,,2022-08-12T03:36:47Z,https://github.com/apache/tvm/pull/12393,yelite,,Add function to get type index from Python class,37,5,4 +,,2022-08-12T02:50:06Z,https://github.com/apache/tvm/pull/12371,yangulei,"byoc, dnnl",[BYOC] [DNNL] enable in-place post-op sum in dnnl json runtime,76,23,3 +,,2022-08-11T22:21:53Z,https://github.com/apache/tvm/pull/12337,kparzysz-quic,,Update C++ standard to C++17,27,25,16 +,,2022-08-11T19:54:48Z,https://github.com/apache/tvm/pull/12387,driazati,"skip ci, ci",[skip ci][ci] Fix Jenkinsfile,30,30,1 +hexagon,,2022-08-11T19:23:06Z,https://github.com/apache/tvm/pull/12368,farshidsp,hexagon,[Hexagon] Add skip option for RPC server initialization,17,4,1 +ci,,2022-08-11T01:09:42Z,https://github.com/apache/tvm/pull/12312,driazati,ci,[ci] Box all tests in pytest-forked,5,0,1 +,,2022-08-10T16:08:11Z,https://github.com/apache/tvm/pull/12310,driazati,"ci, tvmbot",[ci][tvmbot] Fix authorization filtering,66,36,2 +byoc-dnnl,,2022-08-10T11:16:03Z,https://github.com/apache/tvm/pull/12357,crazydemo,byoc-dnnl,[BYOC-DNNL] add partition test on sum pattern,56,2,2 +,,2022-08-10T10:21:00Z,https://github.com/apache/tvm/pull/12360,Mousius,"skip ci, ci",[skip ci] [CI] Re-generate Jenkinsfile,57,57,1 +docs,,2022-08-10T09:45:07Z,https://github.com/apache/tvm/pull/12346,kuizhiqing,docs,[DOCS] fix `tvm.build` API doc layout.,1,2,1 +,,2022-08-10T09:00:03Z,https://github.com/apache/tvm/pull/12351,driazati,"ci, tvmbot",[ci][tvmbot] Ignore irrelevant Actions jobs,145,3,3 +tir,,2022-08-10T05:17:17Z,https://github.com/apache/tvm/pull/12356,masahi,tir,[TIR] Minor fix to tensor intrin description,0,4,2 +tir,,2022-08-10T02:40:20Z,https://github.com/apache/tvm/pull/12354,vinx13,tir,[TIR] Add int8 CUDA tensor core intrinsics,66,4,2 +,,2022-08-10T00:25:59Z,https://github.com/apache/tvm/pull/12349,tkonolige,"fix, storage rewrite","[FIX,STORAGE REWRITE] Rewrite buffers in let statements",65,78,5 +,,2022-08-10T00:09:17Z,https://github.com/apache/tvm/pull/12313,blackkker,"frontend, tflite",[Frontend][TFLite] Try Infer the value of shape expr to avoid dynamic,16,2,1 +node,,2022-08-09T20:04:09Z,https://github.com/apache/tvm/pull/12348,hckim96,node,[Node] fix typos in include/tvm/node/functor.h,2,2,1 +hexagon,,2022-08-09T18:52:48Z,https://github.com/apache/tvm/pull/12308,kparzysz-quic,hexagon,[Hexagon] Minor changes/fixes in codegen_hexagon.cc,22,56,1 +,,2022-08-09T17:38:27Z,https://github.com/apache/tvm/pull/12303,NaNAGISaSA,"autotvm, fix",[AutoTVM][Fix] Fix wrong axis names of data_vec,2,2,1 +community,,2022-08-09T16:09:35Z,https://github.com/apache/tvm/pull/12345,ZihengJiang,community,[COMMUNITY] Yuanjing Shi -> Reviewer,1,0,1 +tir,,2022-08-09T16:03:21Z,https://github.com/apache/tvm/pull/12259,Lunderberg,tir,[TIR] Simplify indices in InjectVirtualThread,80,11,2 +,,2022-08-09T07:45:38Z,https://github.com/apache/tvm/pull/12331,Kathryn-cat,"metaschedule, bugfix",[MetaSchedule][Bugfix] Feature: Strides of buffer access,2,2,1 +,,2022-08-09T06:22:37Z,https://github.com/apache/tvm/pull/12339,tkonolige,"fix, roofline","[FIX,ROOFLINE] Only save tir functions for roofline",5,8,1 +topi,,2022-08-09T06:22:22Z,https://github.com/apache/tvm/pull/12321,yuanfz98,topi,[Topi] add x86 schedule for batch_norm,43,0,3 +byoc-dnnl,,2022-08-09T06:20:13Z,https://github.com/apache/tvm/pull/12314,crazydemo,byoc-dnnl,[BYOC-DNNL] Bug Fix,50,38,2 +,,2022-08-09T03:57:36Z,https://github.com/apache/tvm/pull/12338,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Fix bug: missing BOARD in CMakeCache file,18,17,1 +skip ci,,2022-08-08T20:16:45Z,https://github.com/apache/tvm/pull/12341,gigiblender,skip ci,[skip ci] Fix aws s3 cp command in the Jenkinsfile,54,54,2 +ci,,2022-08-08T18:40:03Z,https://github.com/apache/tvm/pull/12332,gigiblender,ci,[CI] Deduplicate and clean XML test reports,75,66,4 +ethosn,,2022-08-08T16:08:53Z,https://github.com/apache/tvm/pull/12317,lhutton1,ethosn,[ETHOSN] Fix output tensor ordering,49,3,2 +opencl,,2022-08-08T11:04:11Z,https://github.com/apache/tvm/pull/12328,Lunderberg,opencl,[OpenCL] Use size_t instead of int64_t for OpenCL timer count,6,6,2 +,,2022-08-06T00:46:11Z,https://github.com/apache/tvm/pull/12288,wrongtest-intellif,"tir, schedule",[TIR][Schedule] Support annotate dict typed value,105,5,7 +,,2022-08-05T22:39:33Z,https://github.com/apache/tvm/pull/11809,mehrdadh,"microtvm, arm",[microTVM][ARM] Keep microtvm testing only in QEMU Image,4,16,3 +tvmscript,,2022-08-05T20:33:38Z,https://github.com/apache/tvm/pull/12324,yelite,tvmscript,[TVMScript] Add source_paths to Doc,58,3,4 +,,2022-08-04T22:28:58Z,https://github.com/apache/tvm/pull/12306,driazati,"ci, docker",[ci][docker] Add retries for docker pull,30,3,2 +qnn,,2022-08-04T20:07:28Z,https://github.com/apache/tvm/pull/12287,mikepapadim,qnn,[QNN] Add qnn op for abs to fix wrong scale on quantize,58,21,6 +fq2i,,2022-08-04T20:06:40Z,https://github.com/apache/tvm/pull/12290,sfvaroglu,fq2i,[FQ2I] Add attrs to adaptive_avg_pool1d,7,5,2 +qnn,,2022-08-04T20:05:01Z,https://github.com/apache/tvm/pull/12301,AndrewZhaoLuo,qnn,[QNN] Fix multi batch matmuls,60,24,2 +tvmscript,,2022-08-04T18:04:21Z,https://github.com/apache/tvm/pull/12304,kparzysz-quic,tvmscript,[TVMScript] Make classes derived from ObjectPath non-nullable,11,8,1 +ethosn,,2022-08-04T10:40:16Z,https://github.com/apache/tvm/pull/12296,lhutton1,ethosn,[ETHOSN] Only use mock inference when whole graph is offloaded,43,21,1 +microtvm,,2022-08-04T02:32:29Z,https://github.com/apache/tvm/pull/12175,gromero,microtvm,[microTVM] Arduino: Fix f-strings on flash warning/error messages,2,2,1 +test,,2022-08-03T23:37:48Z,https://github.com/apache/tvm/pull/12285,huanmei9,test,[Test]fix type bug about topi unitest,1,1,1 +,,2022-08-03T18:02:52Z,https://github.com/apache/tvm/pull/12275,MoebiusMeow,"tir, cuda","[TIR][CUDA] Fix sub-warp reduction using ""max""",51,3,2 +,,2022-08-03T04:01:09Z,https://github.com/apache/tvm/pull/12282,driazati,"ci, docker",[ci][docker] Fix deploy to tlcpackstaging on Docker Hub,48,21,5 +ci,,2022-08-02T23:14:03Z,https://github.com/apache/tvm/pull/11937,driazati,ci,[ci] Specify permissions for tvm bot,60,16,4 +microtvm,,2022-08-02T23:05:23Z,https://github.com/apache/tvm/pull/12271,mehrdadh,microtvm,[microTVM]Fix dense_dsp schedule in autotuning,17,5,2 +ci,,2022-08-02T21:24:06Z,https://github.com/apache/tvm/pull/12277,valmat07,ci,"Revert ""[CI] Fix build android rpc failure in CI""",2,8,1 +metaschedule,,2022-08-02T19:23:34Z,https://github.com/apache/tvm/pull/12263,masahi,metaschedule,[MetaSchedule] Check auto tensorization applicability in MultiLevelTilingWithIntrin,99,34,7 +docker,,2022-08-02T16:23:59Z,https://github.com/apache/tvm/pull/12278,NicolaLancellotti,docker,[Docker] Update onnxoptimizer to 0.2.7,1,1,1 +tvmc,,2022-08-02T09:10:40Z,https://github.com/apache/tvm/pull/12253,lhutton1,tvmc,[TVMC] Only load extra targets when there are workspace pools,26,10,2 +pytorch,,2022-08-02T07:49:07Z,https://github.com/apache/tvm/pull/12255,NicolaLancellotti,pytorch,[PyTorch] Disable failing tests on AArch64,5,0,1 +onnx,,2022-08-02T07:46:52Z,https://github.com/apache/tvm/pull/12256,NicolaLancellotti,onnx,[ONNX] Disable failing tests on AArch64,4,0,1 +tensorflow,,2022-08-02T07:45:58Z,https://github.com/apache/tvm/pull/12257,NicolaLancellotti,tensorflow,[TensorFlow] Disable failing tests on AArch64,5,1,1 +,,2022-08-02T06:45:26Z,https://github.com/apache/tvm/pull/12265,driazati,"ci, docker",[ci][docker] Update GPU image,3,3,2 +,,2022-08-02T02:28:48Z,https://github.com/apache/tvm/pull/12273,zxybazh,"metaschedule, minor",[MetaSchedule][Minor] Fix Median Number,1,1,1 +arith,,2022-08-02T02:05:05Z,https://github.com/apache/tvm/pull/12272,vinx13,arith,[Arith] Handle bitwise_and with power of 2 in modular set,33,12,2 +,,2022-08-02T01:45:58Z,https://github.com/apache/tvm/pull/12268,driazati,,Hide registration errors in `test_myfloat`,6,1,1 +docs,,2022-08-02T00:46:02Z,https://github.com/apache/tvm/pull/12269,driazati,docs,[docs] Update installation instructions,24,44,3 +fq2i,,2022-08-01T22:50:23Z,https://github.com/apache/tvm/pull/12236,mbrookhart,fq2i,[Fq2i][ fix output type on fq2i binary ops with constant inputs,16,3,2 +,,2022-08-01T20:10:35Z,https://github.com/apache/tvm/pull/12223,mehrdadh,"microtvm, arm",[microTVM][ARM] Enable tests that were skipped unintentionally,9,4,1 +ci,,2022-08-01T17:42:05Z,https://github.com/apache/tvm/pull/12260,leandron,ci,[CI] Add setup-pytest-env.sh call to task_demo_microtvm.sh,2,0,1 +cpp-rpc,,2022-08-01T17:16:29Z,https://github.com/apache/tvm/pull/12242,yoyo-nb,cpp-rpc,[CPP-RPC] Fix GetPath to use relative file path,2,2,1 +,,2022-08-01T12:35:25Z,https://github.com/apache/tvm/pull/12138,tkonolige,"fix, tir","[FIX,TIR] Handle LetStmt in EstimateTIRFLops",28,5,3 +,,2022-08-01T08:56:49Z,https://github.com/apache/tvm/pull/12228,billishyahao,"byoc, dnnl",[BYOC][DNNL] Enable conv family fused with mish,24,6,3 +fix,,2022-07-31T18:25:04Z,https://github.com/apache/tvm/pull/12247,cyx-6,fix,[Fix] Minor modification in unittests,2,2,1 +fix,,2022-07-31T09:17:04Z,https://github.com/apache/tvm/pull/12245,cyx-6,fix,[Fix] Fix some errors in unittests,22,17,6 +,,2022-07-31T06:37:53Z,https://github.com/apache/tvm/pull/12211,woobinw,"frontend, paddle","[Frontend] [Paddle] fix bug: KeyError, can't find some parameter key",1,1,1 +fq2i,,2022-07-31T03:00:55Z,https://github.com/apache/tvm/pull/12224,mbrookhart,fq2i,[FQ2I] fix unary op output affine type in fq2i,25,12,2 +,,2022-07-30T21:33:45Z,https://github.com/apache/tvm/pull/12240,ganler,"ux, tvmsciprt",[UX][TVMSciprt] Use HTML formatter in notebook environments,17,7,1 +,,2022-07-30T17:47:58Z,https://github.com/apache/tvm/pull/12241,PragmaTwice,"relay, vm",[Relay][VM] Fix an ICHECK which never fails in ctor of VMFunction,1,1,1 +autoschedule,,2022-07-30T17:32:54Z,https://github.com/apache/tvm/pull/12239,PragmaTwice,autoschedule,[AutoSchedule] Fix misusage of an already-moved object,1,1,1 +qnn,,2022-07-30T08:28:39Z,https://github.com/apache/tvm/pull/12234,paperplanet,qnn,[QNN]remove duplicated cast op when lowering qnn.requantize op in float mode,1,4,1 +,,2022-07-30T00:12:20Z,https://github.com/apache/tvm/pull/12230,alter-xp,"ci, docker",[ci][docker] create Dockerfile.ci_riscv,93,0,1 +ci,,2022-07-29T21:37:15Z,https://github.com/apache/tvm/pull/12226,driazati,ci,[ci] Reinstall junintparser after zephyr deps,4,0,1 +ci,,2022-07-29T20:08:34Z,https://github.com/apache/tvm/pull/12216,valmat07,ci,[CI] Fix build android rpc failure in CI,7,4,1 +tir,,2022-07-29T08:00:21Z,https://github.com/apache/tvm/pull/12225,vinx13,tir,[TIR] Disallow unused rhs vars in GetAutoTensorizeMapping,29,0,2 +,,2022-07-29T07:52:55Z,https://github.com/apache/tvm/pull/12220,zxybazh,"metaschedule, minor",[MetaSchedule][Minor] Fix Comments,2,2,2 +,,2022-07-29T06:47:07Z,https://github.com/apache/tvm/pull/12217,ashutosh-arm,,Removing header arm_math.h which was moved after CMSIS upgrade,0,2,2 +,,2022-07-28T19:23:32Z,https://github.com/apache/tvm/pull/12219,tkonolige,"fix, roofline","[FIX,ROOFLINE] Handle mismatched compiled and TIR hash",2,2,1 +adreno,,2022-07-28T19:09:36Z,https://github.com/apache/tvm/pull/12214,echuraev,adreno,[Adreno] Update conv2d_nhwc test to use winograd,10,1,1 +ci,,2022-07-28T17:30:16Z,https://github.com/apache/tvm/pull/12210,areusch,ci,[ci] Attempt to fix post-merge builds on main,1,2,1 +metaschedule,,2022-07-28T09:03:27Z,https://github.com/apache/tvm/pull/12142,vinx13,metaschedule,[MetaSchedule] Integration test for CUDA AutoTensorization,123,6,3 +tflite,,2022-07-28T05:22:51Z,https://github.com/apache/tvm/pull/12145,blackkker,tflite,[TFLite] Fix _test_tflite2_quantized_depthwise_convolution is unused,63,13,1 +adreno,,2022-07-28T05:00:50Z,https://github.com/apache/tvm/pull/12202,echuraev,adreno,[Adreno] Fix winograd tests and accuracy,88,13,3 +,,2022-07-28T04:59:30Z,https://github.com/apache/tvm/pull/12167,xndcn,"relay, pytorch",[Relay][PyTorch] Add aten::lerp,26,0,2 +,,2022-07-27T23:08:26Z,https://github.com/apache/tvm/pull/12206,driazati,"ci, lint",[ci][lint] Consolidate image lookup logic,1,7,1 +,,2022-07-27T22:08:42Z,https://github.com/apache/tvm/pull/11938,driazati,"ci, docker",[ci][docker] Use RFC image tags only,18,8,2 +,,2022-07-27T20:54:00Z,https://github.com/apache/tvm/pull/12196,vinx13,,Use std::move to avoid warnings on clang-13,13,13,9 +jit,,2022-07-27T19:30:47Z,https://github.com/apache/tvm/pull/12187,kparzysz-quic,jit,"[JIT] Force finalization of JITed code, expose sf/hf runtime functions",11,0,3 +opencl,,2022-07-27T19:18:09Z,https://github.com/apache/tvm/pull/12173,valmat07,opencl,[OpenCL] Fix profiling hang for OpenCL device,90,8,4 +docs,,2022-07-27T18:09:34Z,https://github.com/apache/tvm/pull/12188,driazati,docs,[docs] Update tlcpack-sphinx-addon,1,1,1 +,,2022-07-27T17:42:40Z,https://github.com/apache/tvm/pull/12195,cconvey,"hexagon, testing",[hexagon][testing] filesystem-friendly test IDs,2,2,1 +,,2022-07-27T17:42:30Z,https://github.com/apache/tvm/pull/12194,cconvey,"runtime, hexagon",[runtime][hexagon] improved file-copy logic,30,5,3 +doc,,2022-07-27T17:36:22Z,https://github.com/apache/tvm/pull/12201,Hzfengsy,doc,[Doc] Fix pooling `dilation` arguments documents,9,0,1 +microtvm,,2022-07-27T17:34:14Z,https://github.com/apache/tvm/pull/12189,guberti,microtvm,[microTVM] Fix timeout of -1 breaking Arduino transport,6,5,3 +,,2022-07-27T12:04:30Z,https://github.com/apache/tvm/pull/12190,driazati,,Update to 0.10.0,7,7,7 +,,2022-07-27T01:52:27Z,https://github.com/apache/tvm/pull/12192,driazati,"skip ci, ci",[skip ci][ci] Skip broken android_rpc failures,6,0,1 +fix,,2022-07-26T12:10:21Z,https://github.com/apache/tvm/pull/12170,cyx-6,fix,[Fix] Fix some errors in unittests,33,37,11 +doc,,2022-07-26T06:08:37Z,https://github.com/apache/tvm/pull/12185,huajsj,doc,[Doc] Fix URL link error in pipeline executor tutorial,1,1,1 +,,2022-07-26T01:05:34Z,https://github.com/apache/tvm/pull/12183,Jobhdez,,fix typo,1,1,1 +,,2022-07-26T00:40:17Z,https://github.com/apache/tvm/pull/11953,mehrdadh,"ci, docker",[CI][docker] Add comment,3,0,1 +pytorch,,2022-07-25T23:09:48Z,https://github.com/apache/tvm/pull/12179,shingjan,pytorch,[PyTorch] Add aten::numpy_T,24,2,2 +,,2022-07-25T23:08:41Z,https://github.com/apache/tvm/pull/12168,cconvey,"hexagon, testing",[hexagon][testing] sequential input tensors,25,8,1 +byoc-dnnl,,2022-07-25T07:16:16Z,https://github.com/apache/tvm/pull/11823,crazydemo,byoc-dnnl,[BYOC-DNNL] suppport more dnnl ops,66,13,4 +,,2022-07-23T16:45:45Z,https://github.com/apache/tvm/pull/12164,cconvey,"hexagon, testing",[hexagon][testing] nonrandom tests,92,4,2 +,,2022-07-22T19:52:56Z,https://github.com/apache/tvm/pull/12154,cconvey,"hexagon, testing",[hexagon][testing] Better pytest ID strings,125,13,2 +adreno,,2022-07-22T08:40:52Z,https://github.com/apache/tvm/pull/12157,elvin-n,adreno,[Adreno] Fix winograd schedule to support prime shapes > 4,10,1,1 +,,2022-07-22T04:40:01Z,https://github.com/apache/tvm/pull/12118,wrongtest-intellif,"tvmscript, t.void",[TVMScript] Fix T.Ptr[T.void] for packed api roundtrip,25,3,5 +,,2022-07-22T03:46:58Z,https://github.com/apache/tvm/pull/12150,yincs-intellif,"arith, bugfix",[arith][BugFix] Fix simplify input PrimExpr of DetectClipBound,8,2,2 +cmsis-nn,,2022-07-21T09:25:42Z,https://github.com/apache/tvm/pull/12132,ashutosh-arm,cmsis-nn,[CMSIS-NN] Support for passing cpu flags to Arm(R) Corstone(TM)-300 s…,99,26,10 +,,2022-07-21T06:37:08Z,https://github.com/apache/tvm/pull/12147,Hzfengsy,"ux, tir, schedule",[UX][TIR][Schedule] enhance function annotation for tir primitive,9,8,2 +,,2022-07-20T15:09:54Z,https://github.com/apache/tvm/pull/12146,Hzfengsy,"skip ci, tir, schedule",[skip ci][TIR][Schedule] fix tensorize example,0,9,1 +llvm,,2022-07-19T22:12:12Z,https://github.com/apache/tvm/pull/12123,kparzysz-quic,llvm,[LLVM] Clarify the status of pointers to llvm::Module in LLVMModule,29,27,1 +microtvm,,2022-07-19T21:28:17Z,https://github.com/apache/tvm/pull/12114,guberti,microtvm,[microTVM] Arduino retry on flash failure,48,11,2 +microtvm,,2022-07-19T16:25:12Z,https://github.com/apache/tvm/pull/12074,guberti,microtvm,[microTVM] Make Arduino API server obey timeout,16,16,4 +fix,,2022-07-19T16:08:03Z,https://github.com/apache/tvm/pull/12128,ganler,fix,[Fix] post-fix incre/decre should not return reference,2,2,1 +,,2022-07-19T15:21:19Z,https://github.com/apache/tvm/pull/10941,PhilippvK,,TVMC: Add new text/relay frontend,122,0,3 +target,,2022-07-19T13:58:49Z,https://github.com/apache/tvm/pull/12121,Mousius,target,"[Target] Add ""features"" property to Target",109,1,7 +cmsis-nn,,2022-07-19T12:37:36Z,https://github.com/apache/tvm/pull/11702,PhilippvK,cmsis-nn,[CMSIS-NN] Fix typo in EmitPool2D,6,4,1 +target,,2022-07-18T19:37:20Z,https://github.com/apache/tvm/pull/12119,Mousius,target,[Target] Add target_parser to TargetKind,112,31,5 +ci,,2022-07-18T16:44:49Z,https://github.com/apache/tvm/pull/12108,driazati,ci,[ci] Re-run flaky tests on failure,24,18,3 +,,2022-07-18T16:44:18Z,https://github.com/apache/tvm/pull/12079,tkonolige,"autoscheduler, fix","[AUTOSCHEDULER,FIX] Calculate arithmetic intensity without log scale",3,3,1 +,,2022-07-16T22:11:02Z,https://github.com/apache/tvm/pull/12117,qsqqsqqsq-intellif,"tir, bugfix",[TIR][BugFix] Fix a wrong use of T.exp in test_compute_inline_opaque_…,4,4,1 +,,2022-07-16T17:08:56Z,https://github.com/apache/tvm/pull/12115,Jobhdez,,fix typo,1,1,1 +,,2022-07-16T15:10:39Z,https://github.com/apache/tvm/pull/12037,abhikran-quic,"topi, hexagon",[TOPI] [Hexagon] Uint8 Reshape and batch flatten slice ops,72,21,4 +relay,,2022-07-15T21:34:28Z,https://github.com/apache/tvm/pull/12107,mbs-octoml,relay,[Relay] Allow partial virtual device annotations.,59,34,6 +,,2022-07-15T16:51:05Z,https://github.com/apache/tvm/pull/12100,kparzysz-quic,,Add member object accessors to With<>,8,0,1 +,,2022-07-15T07:39:56Z,https://github.com/apache/tvm/pull/12104,vinx13,"relay, op","[Relay, Op] Add conv2d generic layout op strategy when meta schedule is enabled",1,1,1 +dnnl,,2022-07-15T07:39:33Z,https://github.com/apache/tvm/pull/12106,billishyahao,dnnl,[DNNL] Enable conv family fused with gelu,51,79,4 +tvmscript,,2022-07-15T00:22:33Z,https://github.com/apache/tvm/pull/12096,tkonolige,tvmscript,[TVMSCRIPT] Make ceildiv available from tvmscript,43,1,6 +,,2022-07-15T00:22:17Z,https://github.com/apache/tvm/pull/12099,jwfromm,,Fix bug that disabled cuda integer dot product.,1,1,1 +community,,2022-07-14T19:21:46Z,https://github.com/apache/tvm/pull/12090,tmoreau89,community,[COMMUNITY] Alexey Gladyshev -> Reviewer,1,0,1 +releay,,2022-07-14T19:21:27Z,https://github.com/apache/tvm/pull/12088,elvin-n,releay,[Releay] Fix on_device call for explicit virtual_device,2,0,1 +ci,,2022-07-14T19:05:21Z,https://github.com/apache/tvm/pull/12055,driazati,ci,[ci] Re-run failed tests on failure,1,0,1 +ci,,2022-07-14T19:01:39Z,https://github.com/apache/tvm/pull/12058,driazati,ci,[ci] Add a manual retry for conda setup,12,0,1 +ci,,2022-07-14T19:01:04Z,https://github.com/apache/tvm/pull/11974,driazati,ci,[ci] Override `Request` in pytests,14,1,1 +,,2022-07-14T17:54:56Z,https://github.com/apache/tvm/pull/12083,everton1984,,Use shape dtype on argreduce to determine return type.,39,1,2 +win,,2022-07-14T17:07:10Z,https://github.com/apache/tvm/pull/12091,vvchernov,win,[WIN] export void Configure(...) symbol for Windows,4,4,2 +,,2022-07-14T11:15:41Z,https://github.com/apache/tvm/pull/12064,donglinz,,Add tensorflow Einsum op converter,43,0,2 +relay,,2022-07-14T09:45:33Z,https://github.com/apache/tvm/pull/12085,mbs-octoml,relay,[Relay] Add RecoverVirtualDeviceMap helper,121,0,3 +tir,,2022-07-13T14:52:35Z,https://github.com/apache/tvm/pull/12080,wrongtest-intellif,tir,[TIR] Fold const or empty iter partition,16,14,1 +,,2022-07-13T12:08:05Z,https://github.com/apache/tvm/pull/12015,masahi,"topi, x86","[TOPI, x86] Properly handle fused ops in TE softmax schedule ",71,19,2 +cmsis_nn,,2022-07-13T10:04:41Z,https://github.com/apache/tvm/pull/12030,ashutosh-arm,cmsis_nn,[CMSIS_NN] Align CMSIS-NN in TVM to TFLu SHA,32,70,6 +llvm,,2022-07-13T01:50:02Z,https://github.com/apache/tvm/pull/12069,kparzysz-quic,llvm,"[LLVM] Update creation of llvm::DebugLoc, remove TVM_LLVM_VERSION < 70",22,11,2 +community,,2022-07-12T22:15:10Z,https://github.com/apache/tvm/pull/12076,driazati,community,[COMMUNITY] Add driazati key for release,48,0,1 +hexagon,,2022-07-12T22:09:58Z,https://github.com/apache/tvm/pull/12073,mehrdadh,hexagon,[Hexagon] Enable broken tests,0,12,4 +,,2022-07-12T19:03:59Z,https://github.com/apache/tvm/pull/12067,jikechao,,fix some typo in conv2d.py,9,9,1 +,,2022-07-12T18:19:37Z,https://github.com/apache/tvm/pull/12040,leandron,"docs, tvmc",[docs][tvmc] Fix ResNet50 model URL in tvmc tutorials,2,2,2 +qnn,,2022-07-12T16:58:11Z,https://github.com/apache/tvm/pull/12038,zhaoyang-star,qnn,[QNN] Use sigmoid Lookup Table method instead of fallback to fp32,9,1,2 +qnn,,2022-07-12T16:57:54Z,https://github.com/apache/tvm/pull/11930,zhaoyang-star,qnn,[QNN] Replace nn.leaky_relu with qnn.leaky_relu,14,3,1 +,,2022-07-12T16:57:17Z,https://github.com/apache/tvm/pull/11877,rafzi,"frontend, tflite",[Frontend][TFLite] respect out type of Shape op,23,3,2 +,,2022-07-12T01:39:05Z,https://github.com/apache/tvm/pull/12061,mbs-octoml,"aot, bug",[AOT][BUG] Only include extra headers if the constants array is needed.,7,4,1 +llvm,,2022-07-12T01:38:07Z,https://github.com/apache/tvm/pull/12054,kparzysz-quic,llvm,[LLVM] Fix build errors in CodeGenCPU::AddDebugInformation,4,3,1 +relay,,2022-07-11T21:37:20Z,https://github.com/apache/tvm/pull/10466,d-smirnov,relay,[relay] Changed 'name' field to 'registry_name' for Executor and Runtime,34,24,9 +,,2022-07-11T21:32:13Z,https://github.com/apache/tvm/pull/11905,alter-xp,"ci, docker",[ci][docker] fix the path of custom toolchain in ci_qemu for csinn2,2,2,1 +,,2022-07-11T21:03:14Z,https://github.com/apache/tvm/pull/12053,everton1984,,Fix node.func to node.funcs on parser.py,1,1,1 +,,2022-07-11T17:06:20Z,https://github.com/apache/tvm/pull/11879,rafzi,"frontend, tflite",[Frontend][TFLite] PreLU alpha can be an expr,8,5,1 +dnnl,,2022-07-11T10:09:58Z,https://github.com/apache/tvm/pull/12018,billishyahao,dnnl,[DNNL] Enable Batch Matmul,81,2,3 +docs,,2022-07-11T09:00:21Z,https://github.com/apache/tvm/pull/12050,Sunny-Island,docs,[Docs] Add xgboost version restriction,3,3,2 +,,2022-07-11T01:05:21Z,https://github.com/apache/tvm/pull/12041,kparzysz-quic,,Several type mismatch fixes and checks,93,45,8 +texture,,2022-07-08T21:44:18Z,https://github.com/apache/tvm/pull/11875,elvin-n,texture,[Texture] Add memory scope entity into graph JSON and graph executor runtime,85,18,4 +tir,,2022-07-08T17:25:56Z,https://github.com/apache/tvm/pull/12035,zxybazh,tir,[TIR] Avoid unnecessary dtype escalation in loop splitting,12,0,2 +micronpu,,2022-07-08T14:46:18Z,https://github.com/apache/tvm/pull/11965,lhutton1,micronpu,[microNPU] Test averge pool partitioning,65,0,1 +tvmc,,2022-07-08T09:09:37Z,https://github.com/apache/tvm/pull/12031,leandron,tvmc,[TVMC] Updates TVMC tutorial with input shape information,2,1,1 +tir,,2022-07-08T00:12:37Z,https://github.com/apache/tvm/pull/12034,rafzi,tir,[TIR] fix crash when comparing IntImm to None,14,0,2 +,,2022-07-07T19:44:18Z,https://github.com/apache/tvm/pull/12014,zxybazh,"metaschedule, minor",[MetaSchedule][Minor] Stability Improvements,13,13,1 +fix,,2022-07-07T19:38:27Z,https://github.com/apache/tvm/pull/12000,Codle,fix,[Fix] fix python setup.py file bug,2,18,1 +metaschedule,,2022-07-07T16:31:41Z,https://github.com/apache/tvm/pull/12016,zxybazh,metaschedule,[MetaSchedule] Support ApplyHistoryBest Direct Dispatch,45,5,4 +tir,,2022-07-07T16:29:58Z,https://github.com/apache/tvm/pull/12019,wrongtest-intellif,tir,[TIR] Revert #11428 and move loop dependent alloc extent check after region union,90,28,2 +arith,,2022-07-07T05:08:23Z,https://github.com/apache/tvm/pull/12026,vinx13,arith,[Arith] Allow constant values in InverseAffineIterMap,16,1,2 +usmp,,2022-07-06T08:39:18Z,https://github.com/apache/tvm/pull/10547,d-smirnov,usmp,[USMP] HillClimb stability patch,67,45,3 +ci,,2022-07-06T04:52:06Z,https://github.com/apache/tvm/pull/12011,Lunderberg,ci,[CI] Allow command-line argument or TVM_BUILD_PATH for C++ unittests,24,8,2 +,,2022-07-06T01:50:25Z,https://github.com/apache/tvm/pull/12007,lazycal,,Fix infercorrect layout in Layoutrewrite and improve naming.,65,29,2 +pytorch,,2022-07-06T00:11:57Z,https://github.com/apache/tvm/pull/11994,shingjan,pytorch,[PyTorch] add aten::randn,21,0,2 +,,2022-07-05T06:17:16Z,https://github.com/apache/tvm/pull/12003,blackkker,"frontend, tflite",[Frontend][TFLite] Add support for NonMaxSuppressionV5 op,104,0,2 +adreno,,2022-07-05T04:04:02Z,https://github.com/apache/tvm/pull/12005,elvin-n,adreno,[Adreno] Modify default AutoTVM params for conv2d,73,10,5 +,,2022-07-04T06:06:00Z,https://github.com/apache/tvm/pull/11815,crazydemo,,Enhancement for fold_scale_axis and dnnl_json_runtime,16,2,2 +community,,2022-07-02T23:01:58Z,https://github.com/apache/tvm/pull/11998,comaniac,community,[COMMUNITY] Hongyi Jin -> Reviewer,1,0,1 +metaschedule,,2022-07-02T11:16:25Z,https://github.com/apache/tvm/pull/11996,junrushao,metaschedule,[MetaSchedule] Enhance AutoInline for Spatial Task,106,3,2 +tir,,2022-07-02T05:00:35Z,https://github.com/apache/tvm/pull/11942,wrongtest-intellif,tir,[TIR] Add missing narrow down of index within conditions,76,11,2 +,,2022-07-01T22:24:52Z,https://github.com/apache/tvm/pull/11890,shingjan,"relay, pytorch",[Relay] [PyTorch] Add aten::tril and aten::triu,101,7,2 +llvm,,2022-07-01T22:18:10Z,https://github.com/apache/tvm/pull/11984,kparzysz-quic,llvm,[LLVM] Remove use of deprecated `PointerType::getPointerElementType()`,48,44,2 +ci,,2022-07-01T21:45:02Z,https://github.com/apache/tvm/pull/11915,driazati,ci,[ci] Don't skip index-triggered builds,1,17,2 +,,2022-07-01T21:41:44Z,https://github.com/apache/tvm/pull/11988,areusch,,Couple patches to docker/bash.sh after #11976.,2,3,1 +hexagon,,2022-07-01T19:00:43Z,https://github.com/apache/tvm/pull/11985,kparzysz-quic,hexagon,[Hexagon] Fix use of subprocess.run in _check_call_verbose,9,2,1 +tests,,2022-07-01T16:06:51Z,https://github.com/apache/tvm/pull/11982,xndcn,tests,"[tests] Fix changed var name from 'target_str' to 'target_names', NFC",2,2,1 +docker,,2022-07-01T16:03:14Z,https://github.com/apache/tvm/pull/11976,driazati,docker,[docker] Fall back to tlcpackstaging in bash.sh,9,1,1 +,,2022-07-01T16:02:12Z,https://github.com/apache/tvm/pull/11980,areusch,,Further clarify CI docs,26,106,3 +metaschedule,,2022-07-01T02:36:13Z,https://github.com/apache/tvm/pull/11975,Kathryn-cat,metaschedule,[MetaSchedule] Extract workload embedding,85,4,3 +,,2022-07-01T00:07:43Z,https://github.com/apache/tvm/pull/11978,shingjan,"pytorch, relay",[PyTorch] [Relay] Add l1 and mse loss function for pytorch frontend,70,3,3 +metaschedule,,2022-06-30T23:24:42Z,https://github.com/apache/tvm/pull/11954,junrushao,metaschedule,[MetaSchedule] Fix Task Extraction,40,11,7 +hexagon,,2022-06-30T22:14:55Z,https://github.com/apache/tvm/pull/11960,mehrdadh,hexagon,[Hexagon] Disable broken test on physical device,37,44,16 +,,2022-06-30T19:57:10Z,https://github.com/apache/tvm/pull/11857,github-actions,"ci, docker",[ci][docker] Nightly Docker image update,16,16,2 +ci,,2022-06-30T19:50:21Z,https://github.com/apache/tvm/pull/11969,gigiblender,ci,[CI] Skip some additional tests that are failing in the wheel,4,1,2 +skip ci,,2022-06-30T18:51:34Z,https://github.com/apache/tvm/pull/11968,driazati,skip ci,[skip ci] Disable flaky test `test_empty_like`,1,0,1 +ethosn,,2022-06-30T17:11:21Z,https://github.com/apache/tvm/pull/11945,lhutton1,ethosn,[ETHOSN] Use partition_for_ function when running tests,2,12,1 +,,2022-06-30T15:39:42Z,https://github.com/apache/tvm/pull/11946,lhutton1,"ethosn, cpp-rpc",[ETHOSN][CPP-RPC] Link NPU runtime in CPP RPC build,8,0,1 +vm,,2022-06-30T14:53:36Z,https://github.com/apache/tvm/pull/11963,vvchernov,vm,[VM] class Executable does not export symbols to dll,1,1,1 +micronpu,,2022-06-30T12:40:09Z,https://github.com/apache/tvm/pull/11469,lhutton1,micronpu,[microNPU] Fix offloading incompatible average pool,9,1,1 +printer,,2022-06-30T07:16:49Z,https://github.com/apache/tvm/pull/11959,wrongtest-intellif,printer,[Printer] Fix print attr of null node,37,35,1 +,,2022-06-30T07:15:26Z,https://github.com/apache/tvm/pull/11958,terrance-liang,,typo fixes,3,3,2 +,,2022-06-30T00:43:48Z,https://github.com/apache/tvm/pull/11951,altanh,"topi, x86",[TOPI][x86] support any shape and axis for log softmax,84,64,5 +,,2022-06-29T23:53:36Z,https://github.com/apache/tvm/pull/11896,shingjan,"relay, pytorch","[Relay][Pytorch] Add aten::new_ones, aten::new_full, aten::fill_, aten::pad, aten::reshape_as and atem::empty_like",130,0,2 +relay,,2022-06-29T22:24:10Z,https://github.com/apache/tvm/pull/11874,elvin-n,relay,[Relay] Handle memory scope during lowering from relay level,85,33,8 +rpc,,2022-06-29T22:07:38Z,https://github.com/apache/tvm/pull/11950,zxybazh,rpc,[RPC] Add Data & Time For RPC Tracker / Server Logging,18,0,2 +,,2022-06-29T21:20:31Z,https://github.com/apache/tvm/pull/11853,cconvey,"testing, hexagon",[testing][hexagon] Better subproc errors,22,11,1 +vm,,2022-06-29T19:02:35Z,https://github.com/apache/tvm/pull/11947,KJlaccHoeUM9l,vm,[VM] Export symbols for VirtualMachine on Windows,1,1,1 +,,2022-06-29T19:02:18Z,https://github.com/apache/tvm/pull/11935,shingjan,"pytorch, relay",[PyTorch][Relay] Add aten::cross_entropy_loss,47,0,2 +micronpu,,2022-06-29T11:26:44Z,https://github.com/apache/tvm/pull/11943,manupak,micronpu,[microNPU] increase workspace sizes for network tests,11,1,1 +metaschedule,,2022-06-29T06:33:52Z,https://github.com/apache/tvm/pull/11940,junrushao,metaschedule,[MetaSchedule] Improve Error Message in JSON Database,9,4,1 +,,2022-06-29T04:36:29Z,https://github.com/apache/tvm/pull/11909,gigiblender,,Docs bot now edits previous comments,33,5,3 +metaschedule,,2022-06-29T03:14:11Z,https://github.com/apache/tvm/pull/11931,vinx13,metaschedule,[MetaSchedule] Refactor MultiLevelTiling state to allow subclassing,60,37,3 +,,2022-06-28T19:07:45Z,https://github.com/apache/tvm/pull/11882,rafzi,"relay, virtualdevice",[Relay][VirtualDevice] Expose WithFields to Python to do proper copy in ExprMutator,35,2,3 +metaschedule,,2022-06-28T18:04:13Z,https://github.com/apache/tvm/pull/11892,zxybazh,metaschedule,[MetaSchedule] Enable Adapative Training For XGBoost Cost Model,90,17,10 diff --git a/tests/scripts/out.md b/tests/scripts/out.md new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tests/scripts/out.pkl b/tests/scripts/out.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d4641bf6c3275c2e5d606ddd47e5345c0ea0ec07 GIT binary patch literal 391774 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

t{{}Y8EchUcN)q*ED_R)9# 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 z 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 crp``47X;c7kI7>gAk)n*2 Date: Thu, 29 Sep 2022 11:13:03 -0700 Subject: [PATCH 15/17] remove unneeded files --- tests/scripts/out-large.csv | 230 -------------------- tests/scripts/out-small.csv | 418 ------------------------------------ tests/scripts/out.md | 0 tests/scripts/out.pkl | Bin 391774 -> 0 bytes 4 files changed, 648 deletions(-) delete mode 100644 tests/scripts/out-large.csv delete mode 100644 tests/scripts/out-small.csv delete mode 100644 tests/scripts/out.md delete mode 100644 tests/scripts/out.pkl diff --git a/tests/scripts/out-large.csv b/tests/scripts/out-large.csv deleted file mode 100644 index 8da351f7ae44..000000000000 --- a/tests/scripts/out-large.csv +++ /dev/null @@ -1,230 +0,0 @@ -category,description,date,number,author,tags,title,additions,deletions,changed files -metaschedule,,2022-09-21T00:32:12Z,https://github.com/apache/tvm/pull/12845,masahi,metaschedule,[Metaschedule] MultiLevelTiling for wide vector architectures,307,12,7 -containers,,2022-09-20T20:49:46Z,https://github.com/apache/tvm/pull/12692,Lunderberg,containers,[Containers] Add Array::Map,353,125,18 -hexagon,,2022-09-20T19:38:04Z,https://github.com/apache/tvm/pull/12785,adstraw,hexagon,[Hexagon] 2-Stage Pipeline; Lower Async TIR primitives to Hexagon User DMA,367,7,10 -metaschedule,,2022-09-20T00:20:53Z,https://github.com/apache/tvm/pull/12838,zxybazh,metaschedule,[MetaSchedule] PyDatabase Complete Function Reload Support,365,3,4 -metaschedule,,2022-09-19T17:04:16Z,https://github.com/apache/tvm/pull/12759,vinx13,metaschedule,[MetaSchedule] Support padding for irregular shapes for CUDA tensor core,242,28,9 -hexagon,,2022-09-19T17:01:29Z,https://github.com/apache/tvm/pull/12654,nverke,hexagon,[Hexagon] Create test examples to show parallelization,389,0,2 -tir,,2022-09-19T13:20:33Z,https://github.com/apache/tvm/pull/12720,Lunderberg,tir,[TIR] Implement API for padded layout transformations,1408,67,17 -tvmscript,,2022-09-18T18:51:23Z,https://github.com/apache/tvm/pull/12831,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `Stmt`,1061,14,8 -tvmscript,,2022-09-18T02:18:01Z,https://github.com/apache/tvm/pull/12830,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `Stmt`,486,0,7 -tvmscript,,2022-09-17T20:54:01Z,https://github.com/apache/tvm/pull/12829,yelite,tvmscript,[TVMScript] Add more helper functions to the printer infra ,228,62,9 -tir,,2022-09-17T01:13:58Z,https://github.com/apache/tvm/pull/12797,vinx13,tir,[TIR] Construct the inverse in SuggestIndexMap,188,21,5 -tir,,2022-09-17T01:11:31Z,https://github.com/apache/tvm/pull/12827,MasterJH5574,tir,[TIR] Support pattern matching argmax/argmin generated by TOPI,233,57,2 -tvmscript,,2022-09-17T01:11:06Z,https://github.com/apache/tvm/pull/12815,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `Block`,442,52,10 -testing,,2022-09-16T22:01:11Z,https://github.com/apache/tvm/pull/12778,Lunderberg,testing,[Testing] Add decorator tvm.testing.requires_cuda_compute_version,71,161,6 -ci,,2022-09-16T20:29:57Z,https://github.com/apache/tvm/pull/12695,driazati,ci,[ci] Add bot to post welcome comment,741,283,13 -tvmscript,,2022-09-16T06:29:17Z,https://github.com/apache/tvm/pull/12808,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `Axis`,334,1,4 -,,2022-09-16T06:28:45Z,https://github.com/apache/tvm/pull/12805,junrushao,"metaschedule, test",[MetaSchedule][Test] MLT uses SEqual tests,1961,1383,10 -metaschedule,,2022-09-16T05:01:33Z,https://github.com/apache/tvm/pull/12796,zxybazh,metaschedule,[MetaSchedule] Enable Clone Function for Task-Level Classes,675,186,48 -tvmscript,,2022-09-15T23:39:58Z,https://github.com/apache/tvm/pull/12786,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `For`,422,0,7 -ci,,2022-09-15T22:20:24Z,https://github.com/apache/tvm/pull/12773,driazati,ci,[ci] Add retries to docker push,223,1443,8 -,,2022-09-15T21:02:22Z,https://github.com/apache/tvm/pull/12534,PhilippvK,"docker, ci, risc-v",[Docker][CI][RISC-V] Build riscv-isa-sim (spike) in ci_riscv Docker image to enable RISC-V unit testing,288,24,10 -,,2022-09-15T20:15:10Z,https://github.com/apache/tvm/pull/12750,vinx13,"tir, schedule","[TIR, Schedule] Add schedule primitive PadEinsum",841,40,15 -,,2022-09-15T11:39:20Z,https://github.com/apache/tvm/pull/12784,Lunderberg,"arith, refactor",[Arith][Refactor] Return Optional from TryConstFold,99,140,7 -,,2022-09-14T21:24:14Z,https://github.com/apache/tvm/pull/11639,MasterJH5574,"tir, meta-schedule",[TIR][Meta-Schedule] Tuple-reduction scheduling support,2314,850,10 -tvmscript,,2022-09-14T19:36:10Z,https://github.com/apache/tvm/pull/12755,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `PrimFunc`,1022,3,5 -openclml,,2022-09-14T09:48:03Z,https://github.com/apache/tvm/pull/12762,srkreddy1238,openclml,[OpenCLML] More ops and network coverage,529,108,6 -aot,,2022-09-14T09:25:45Z,https://github.com/apache/tvm/pull/12550,mbaret,aot,[AOT] Add AOTLowerMain pass to lower a Relay main into TIR,1572,13,10 -hexagon,,2022-09-13T21:23:35Z,https://github.com/apache/tvm/pull/12667,nverke,hexagon,[Hexagon] Create tests to showcase vtcm loading capabilities on Hexagon. ,723,5,5 -,,2022-09-13T09:20:30Z,https://github.com/apache/tvm/pull/12764,junrushao,"metaschedule, test",[MetaSchedule][Test] Migrate `check_trace` to `check_sketch`,718,353,5 -,,2022-09-12T23:42:40Z,https://github.com/apache/tvm/pull/12758,junrushao,"metaschedule, testing",[MetaSchedule][Testing] Migrate Add-RFactor to use SEqual,109,66,5 -hexagon,,2022-09-12T19:14:40Z,https://github.com/apache/tvm/pull/12204,quic-sanirudh,hexagon,[Hexagon] Add Hand written HVX conv2d,1477,0,6 -,,2022-09-12T16:23:44Z,https://github.com/apache/tvm/pull/12663,areusch,,Always install into a python venv in ci containers,875,157,22 -tvmscript,,2022-09-12T08:00:29Z,https://github.com/apache/tvm/pull/12748,cyx-6,tvmscript,[TVMScript] Base IRBuilder methods for `Block`,180,0,8 -,,2022-09-09T21:21:23Z,https://github.com/apache/tvm/pull/12606,trahman-quic,"topi, hexagon",[TOPI][Hexagon] Implement quantized elementwise for hexagon,463,26,3 -,,2022-09-09T19:10:50Z,https://github.com/apache/tvm/pull/12515,wrongtest-intellif,"tir, arith",[TIR][Arith] Add more strict checking in imm construction and folding.,743,36,13 -opencl,,2022-09-09T19:01:53Z,https://github.com/apache/tvm/pull/12490,valmat07,opencl,[OpenCL] Enable OpenCL for GPU tests,112,167,14 -tvmscript,,2022-09-09T18:54:38Z,https://github.com/apache/tvm/pull/12745,cyx-6,tvmscript,[TVMScript] Base IRBuilder methods for `PrimFunc`,561,0,14 -,,2022-09-09T01:51:32Z,https://github.com/apache/tvm/pull/12717,vinx13,"tir, schedule","[TIR, Schedule] Check consumer in-bound and covered in reverse_compute_inline",178,14,2 -tir,,2022-09-08T15:02:42Z,https://github.com/apache/tvm/pull/12652,Lunderberg,tir,[TIR] Handle axis_separators during FlattenBuffer,417,231,4 -,,2022-09-08T05:16:46Z,https://github.com/apache/tvm/pull/12448,guberti,,Add Arm DSP implementation of Depthwise Conv2D,491,0,5 -openclml,,2022-09-08T04:58:17Z,https://github.com/apache/tvm/pull/12711,srkreddy1238,openclml,[OpenCLML] CLML Profiling fixes corresponding to OpenCL Timer recent …,80,93,4 -ci,,2022-09-07T20:17:12Z,https://github.com/apache/tvm/pull/12473,driazati,ci,[ci] Re-balance shards,567,878,5 -tvmscript,,2022-09-07T19:17:59Z,https://github.com/apache/tvm/pull/12694,cyx-6,tvmscript,[TVMScript] IRBuilder methods for `IRModule`,325,0,9 -,,2022-09-07T14:29:54Z,https://github.com/apache/tvm/pull/12677,avquicinc,"hexagon, topi",[HEXAGON] [TOPI] Dequantize,229,0,5 -ethosn,,2022-09-07T09:05:52Z,https://github.com/apache/tvm/pull/12674,lhutton1,ethosn,[ETHOSN] Add support for transpose convolution,487,33,9 -ethosn,,2022-09-05T08:27:03Z,https://github.com/apache/tvm/pull/12688,lhutton1,ethosn,[ETHOSN] Use pytest parameterization for integration tests,492,465,9 -,,2022-09-02T21:27:45Z,https://github.com/apache/tvm/pull/12685,junrushao,"autotvm, testing",[AutoTVM][Testing] Add `tune_relay` scripts,280,0,2 -,,2022-09-02T16:44:22Z,https://github.com/apache/tvm/pull/12361,driazati,"ci, tvmbot",[ci][tvmbot] Trigger GitHub Actions after merging,624,2105,16 -,,2022-09-02T07:47:38Z,https://github.com/apache/tvm/pull/12643,junrushao,"metaschedule, ux",[MetaSchedule][UX] Convenient Object Creation,198,18,14 -metaschedule,,2022-09-01T23:44:42Z,https://github.com/apache/tvm/pull/12628,junrushao,metaschedule,[MetaSchedule] Introduce `Union` and `OrderedUnion` in Database,477,29,10 -adreno,,2022-09-01T16:33:15Z,https://github.com/apache/tvm/pull/12537,elvin-n,adreno,[Adreno] Change compute/schedule for ToMixedPrecision pass,218,395,11 -hexagon,,2022-09-01T13:31:54Z,https://github.com/apache/tvm/pull/12659,ibsidorenko,hexagon,[Hexagon] Implement fixed_point_multiply op through intrinsics.,216,3,4 -relay,,2022-09-01T10:32:42Z,https://github.com/apache/tvm/pull/12646,sisleyli,relay,[Relay] Extract intermediate node by its expression ID,256,0,3 -ethosn,,2022-09-01T07:10:55Z,https://github.com/apache/tvm/pull/12649,NicolaLancellotti,ethosn,[ETHOSN] Fix tests pylint errors,158,82,20 -ci,,2022-08-31T23:10:07Z,https://github.com/apache/tvm/pull/12367,driazati,ci,[ci] Add linter for PR title and body,192,4,4 -,,2022-08-31T16:41:41Z,https://github.com/apache/tvm/pull/12412,vinx13,"tir, tvmscript","[TIR, TVMScript] Update printer / parser to make T.allocate return buffer var",804,590,32 -refactor,,2022-08-29T09:29:24Z,https://github.com/apache/tvm/pull/12610,Lunderberg,refactor,[Refactor] Replace std::tie with structured bindings,105,185,35 -metaschedule,,2022-08-29T07:34:11Z,https://github.com/apache/tvm/pull/12626,junrushao,metaschedule,[MetaSchedule] Introduce `ScheduleFnDatabase`,226,135,13 -tir,,2022-08-27T18:14:58Z,https://github.com/apache/tvm/pull/12623,cyx-6,tir,[TIR] Expose MMA-related PTX builtins,363,0,3 -,,2022-08-27T03:20:42Z,https://github.com/apache/tvm/pull/12520,junrushao,"metaschedule, ux",[MetaSchedule][UX] Make `Database` with-able,511,764,27 -hexagon,,2022-08-26T21:22:04Z,https://github.com/apache/tvm/pull/12411,adstraw,hexagon,[Hexagon] Asynchronous DMA support,631,53,8 -,,2022-08-26T20:59:53Z,https://github.com/apache/tvm/pull/12615,kparzysz-quic,,"Replace '> >' in templates with >>, NFC",128,130,46 -tir,,2022-08-26T17:15:54Z,https://github.com/apache/tvm/pull/12607,Lunderberg,tir,[TIR] More hygenic TVM_SREF macros,133,120,30 -hexagon,,2022-08-26T17:01:24Z,https://github.com/apache/tvm/pull/12587,masahi,hexagon,[Hexagon] Initial support for meta schedule tuning,472,7,10 -,,2022-08-26T11:42:57Z,https://github.com/apache/tvm/pull/12450,yincs-intellif,"tir, schedule",[TIR][Schedule] enhance compute_at and reverse_compute_at primitive to choose possible position,308,99,12 -tir,,2022-08-26T09:30:38Z,https://github.com/apache/tvm/pull/12611,cyx-6,tir,[TIR] Expose Memory Copy-Related PTX Builtins,140,26,3 -runtime,,2022-08-25T20:05:09Z,https://github.com/apache/tvm/pull/12586,jwfromm,runtime,[Runtime] Change default alignment to 64 bytes.,303,299,24 -ethosn,,2022-08-25T16:17:22Z,https://github.com/apache/tvm/pull/12531,lhutton1,ethosn,[ETHOSN] Support conversion of add to depthwise,377,101,7 -ci,,2022-08-25T15:43:06Z,https://github.com/apache/tvm/pull/12436,gigiblender,ci,[CI] Assert some unittests are not skipped in CI,456,0,3 -tir,,2022-08-25T10:03:27Z,https://github.com/apache/tvm/pull/12589,cyx-6,tir,[TIR] Expose WMMA-related TensorCore builtins,286,0,3 -metaschedule,,2022-08-25T06:28:54Z,https://github.com/apache/tvm/pull/12544,vinx13,metaschedule,[MetaSchedule] Add software pipeline in CUDA tensor core auto tensorization,255,2,6 -,,2022-08-24T18:55:50Z,https://github.com/apache/tvm/pull/12340,jverma-quic,"topi, hexagon",[TOPI][Hexagon] Implement quantized avgpool,625,91,9 -ethosn,,2022-08-24T12:45:57Z,https://github.com/apache/tvm/pull/12403,lhutton1,ethosn,[ETHOSN] Support multiply conversion to depthwise,582,18,8 -,,2022-08-24T09:44:22Z,https://github.com/apache/tvm/pull/12527,wrongtest-intellif,"tir, compactbufferallocation",[TIR][CompactBufferAllocation] Improve upperbound estimation of buffer compaction,496,220,10 -ethosn,,2022-08-24T07:16:45Z,https://github.com/apache/tvm/pull/12535,NicolaLancellotti,ethosn,[ETHOSN] Add support for Resize,237,0,6 -target,,2022-08-24T04:02:27Z,https://github.com/apache/tvm/pull/12416,mehrdadh,target,[Target] Remove deprecated parameters from target,80,261,25 -autotvm,,2022-08-23T16:32:56Z,https://github.com/apache/tvm/pull/12521,guberti,autotvm,[AutoTVM] Add support for text buffers to ApplyHistoryBest,155,56,4 -cmsis-nn,,2022-08-23T09:00:34Z,https://github.com/apache/tvm/pull/12353,ashutosh-arm,cmsis-nn,[CMSIS-NN] Pad fusion with QNN Conv2D,886,35,5 -tir,,2022-08-22T20:35:40Z,https://github.com/apache/tvm/pull/12352,tkonolige,tir,[TIR] Add pass to check for out of bounds memory access,237,5,8 -llvm,,2022-08-22T19:23:10Z,https://github.com/apache/tvm/pull/12440,kparzysz-quic,llvm,"[LLVM] Add ""cl-opt"" attribute to target_kind ""llvm""",765,54,6 -,,2022-08-22T17:02:51Z,https://github.com/apache/tvm/pull/12505,jwfromm,"tir, schedule",[TIR][Schedule] Support for specific consumer block targeting in cache_read,127,30,10 -tir,,2022-08-22T15:03:40Z,https://github.com/apache/tvm/pull/12489,masahi,tir,[TIR] Support AllocateConst nodes in TensorIR scheduling flow,267,87,19 -ethosn,,2022-08-22T10:31:44Z,https://github.com/apache/tvm/pull/12347,lhutton1,ethosn,[ETHOSN] Remove support for older versions of the driver stack,43,218,15 -tvmscript,,2022-08-22T05:10:23Z,https://github.com/apache/tvm/pull/12518,yelite,tvmscript,[TVMScript] Printer: add boolean operators to OperationDoc,124,50,4 -tvmscript,,2022-08-21T03:41:42Z,https://github.com/apache/tvm/pull/12462,yelite,tvmscript,[TVMScript] Printer entry point,355,3,11 -metaschedule,,2022-08-20T22:11:58Z,https://github.com/apache/tvm/pull/12514,junrushao,metaschedule,[MetaSchedule] Migrate MemoryDatabase to C++,123,45,3 -metaschedule,,2022-08-20T22:11:13Z,https://github.com/apache/tvm/pull/12513,junrushao,metaschedule,[MetaSchedule] Implement ScheduleFn as a C++ class,137,75,7 -,,2022-08-20T22:10:19Z,https://github.com/apache/tvm/pull/12507,junrushao,"tir, schedule, ux",[TIR][Schedule][UX] Beautify TIR Trace Printing,118,56,6 -fix,,2022-08-19T23:31:30Z,https://github.com/apache/tvm/pull/11503,Yulv-git,fix,[Fix] Fix some typos.,113,115,84 -cmsis-nn,,2022-08-18T22:11:04Z,https://github.com/apache/tvm/pull/12320,Mousius,cmsis-nn,[CMSIS-NN] Re-use CPU Target Parser,95,178,9 -,,2022-08-18T14:05:55Z,https://github.com/apache/tvm/pull/12441,areusch,,Add RISC-V build/test pipeline to Jenkins.,331,50,7 -tvmscript,,2022-08-18T12:43:00Z,https://github.com/apache/tvm/pull/12482,cyx-6,tvmscript,"[TVMScript] IRBuilder, IRBuilderFrame base class",678,0,6 -,,2022-08-17T21:04:12Z,https://github.com/apache/tvm/pull/12478,mehrdadh,"skip ci, microtvm",[skip ci][microTVM] Add pytest-xdist to pyproject.toml,165,508,3 -tir,,2022-08-17T19:06:19Z,https://github.com/apache/tvm/pull/12468,cyx-6,tir,[TIR] Expose TVM Backend API-related Builtins and Misc,198,5,3 -tvm pytorch integration,,2022-08-17T08:33:37Z,https://github.com/apache/tvm/pull/12232,juda,tvm pytorch integration,[TVM PyTorch Integration] libstdc++ CXX11 ABI Compatibility & boolean tensor support,844,279,10 -tvmscript,,2022-08-16T21:06:29Z,https://github.com/apache/tvm/pull/12396,yelite,tvmscript,[TVMScript] Printer IRDocsifier,761,0,9 -,,2022-08-16T15:43:34Z,https://github.com/apache/tvm/pull/12443,kparzysz-quic,,"Use std::optional instead of dmlc::optional, NFC",85,106,11 -ethosn,,2022-08-16T09:17:17Z,https://github.com/apache/tvm/pull/12384,NicolaLancellotti,ethosn,[ETHOSN] Add support for Requantize,183,0,6 -microtvm,,2022-08-15T23:01:04Z,https://github.com/apache/tvm/pull/12125,mkatanbaf,microtvm,[microTVM] Zephyr: Add support for FVP,590,62,13 -tvmscript,,2022-08-13T20:04:39Z,https://github.com/apache/tvm/pull/12336,yelite,tvmscript,[TVMScript] Printer VarTable,617,0,5 -tir,,2022-08-13T08:06:50Z,https://github.com/apache/tvm/pull/12355,vinx13,tir,[TIR] Add pass ManifestSharedMemoryLocalStage,443,1,7 -,,2022-08-12T23:01:55Z,https://github.com/apache/tvm/pull/12028,blackkker,"pylint, part 1",[Pylint] Making frontend tests pylint compliant [part 1],1968,1383,15 -profiler,,2022-08-12T16:26:38Z,https://github.com/apache/tvm/pull/12382,echuraev,profiler,[Profiler] Fix graph_executor_debug hang,159,61,11 -target,,2022-08-12T15:31:34Z,https://github.com/apache/tvm/pull/12319,Mousius,target,[Target] Add Target Parser for Arm(R) Cortex(R) M-Profile CPUs,550,5,13 -micronpu,,2022-08-12T15:20:08Z,https://github.com/apache/tvm/pull/11591,ekalda,micronpu,[microNPU] Reorder copies and computes based on the cycle count,381,23,4 -tvmscript,,2022-08-12T03:22:37Z,https://github.com/apache/tvm/pull/12366,yelite,tvmscript,[TVMScript] Printer Frame,331,0,4 -,,2022-08-12T02:53:39Z,https://github.com/apache/tvm/pull/12286,echuraev,"adreno, opencl",[Adreno][OpenCL] Get rid of extra memory copy,312,63,11 -,,2022-08-11T22:54:25Z,https://github.com/apache/tvm/pull/11832,driazati,"ci, docker",[ci][docker] Tag tlcpackstaging images to tlcpack,291,73,3 -,,2022-08-11T18:25:28Z,https://github.com/apache/tvm/pull/12178,gigiblender,,Build and test TVM under minimal configuration,367,14,15 -,,2022-08-11T16:18:46Z,https://github.com/apache/tvm/pull/12066,gigiblender,,Unify name mangling in TVM,1052,350,35 -tvmscript,,2022-08-11T05:43:54Z,https://github.com/apache/tvm/pull/12344,gbonik,tvmscript,[TVMScript] Text underlining in DocPrinter based on Doc's source_paths,718,17,6 -testing,,2022-08-10T21:35:48Z,https://github.com/apache/tvm/pull/11566,driazati,testing,[testing] Remove wrapper from @slow,129,88,5 -ci,,2022-08-10T08:58:15Z,https://github.com/apache/tvm/pull/12325,driazati,ci,[ci] De-duplicate retry functions,957,966,3 -tvmscript,,2022-08-10T05:34:35Z,https://github.com/apache/tvm/pull/12237,yelite,tvmscript,[TVMScript] Printer Registry,431,0,4 -metaschedule,,2022-08-09T21:44:26Z,https://github.com/apache/tvm/pull/12342,jwfromm,metaschedule,[MetaSchedule] Extend tune_tir to support tuning of specific blocks.,171,39,6 -uma,,2022-08-09T16:40:55Z,https://github.com/apache/tvm/pull/12087,MichaelJKlaiber,uma,[UMA] UMA v1.0,2605,5,39 -,,2022-08-09T16:28:59Z,https://github.com/apache/tvm/pull/12169,cconvey,"hexagon, topi",[hexagon][topi] add sliced max_pool2,586,0,3 -,,2022-08-08T17:51:52Z,https://github.com/apache/tvm/pull/12284,jwfromm,"relay, op",[Relay][Op] Multinomial,382,23,12 -ci,,2022-08-08T15:24:01Z,https://github.com/apache/tvm/pull/12329,mehrdadh,ci,[CI] Cleanup after renaming ci_qemu,0,155,2 -skip ci,,2022-08-08T13:09:12Z,https://github.com/apache/tvm/pull/12334,gigiblender,skip ci,[skip ci] Increase the number of shards for Cortex-M from 4 to 8.,321,21,2 -,,2022-08-08T09:16:33Z,https://github.com/apache/tvm/pull/12215,ashutosh-arm,,Pass that removes reshapes post LowerTE,597,27,10 -tir,,2022-08-06T00:47:41Z,https://github.com/apache/tvm/pull/12266,Lunderberg,tir,[TIR] Add tir::builtin::undef,296,0,5 -tir,,2022-08-05T21:59:01Z,https://github.com/apache/tvm/pull/12300,vinx13,tir,[TIR] Add DeclBuffer IR node and functors,241,2,15 -,,2022-08-05T21:13:34Z,https://github.com/apache/tvm/pull/12281,mehrdadh,"microtvm, ci",[microTVM][CI] Rename ci_qemu to ci_cortexm,261,188,13 -tir,,2022-08-05T15:43:45Z,https://github.com/apache/tvm/pull/12267,Lunderberg,tir,[TIR] Add tir::builtin::assume,169,0,7 -ci,,2022-08-05T13:26:29Z,https://github.com/apache/tvm/pull/12316,mikepapadim,ci,[CI] Increase CPU Intergration tests shards to speedup runtime,340,32,2 -tvmscript,,2022-08-05T04:16:00Z,https://github.com/apache/tvm/pull/12299,gbonik,tvmscript,[TVMScript] TracedObject class that simplifies tracing ObjectPaths,750,0,2 -,,2022-08-04T18:18:02Z,https://github.com/apache/tvm/pull/12213,zhang-yi-chi,"relay, frontend, onnx",[Relay][Frontend][Onnx] Add RNN operation for ONNX frontend,313,319,2 -,,2022-08-04T17:29:15Z,https://github.com/apache/tvm/pull/12295,driazati,"ci, tvmbot",[ci][tvmbot] Enable re-run for GitHub Actions,123,33,4 -ethosn,,2022-08-04T13:35:10Z,https://github.com/apache/tvm/pull/12160,lhutton1,ethosn,[ETHOSN] Get buffer sizes from the compiled network,131,78,8 -llvm,,2022-08-03T23:16:48Z,https://github.com/apache/tvm/pull/12140,kparzysz-quic,llvm,[LLVM] Create LLVM scope object for use with LLVM libraries,1157,888,17 -metaschedule,,2022-08-03T21:42:08Z,https://github.com/apache/tvm/pull/12127,zxybazh,metaschedule,[MetaSchedule] Enhance Conv2d NCHW Winograd Schedule Rules,271,4,3 -microtvm,,2022-08-03T17:58:15Z,https://github.com/apache/tvm/pull/12207,mehrdadh,microtvm,[microTVM] Refactor pytest fixtures,221,225,16 -ci,,2022-08-03T14:27:10Z,https://github.com/apache/tvm/pull/12221,driazati,ci,[ci] Add retries to S3 uploads/downloads,1378,234,2 -tvmscript,,2022-08-03T08:28:59Z,https://github.com/apache/tvm/pull/12101,gbonik,tvmscript,[TVMScript] Add object path tracing to StructuralEqual,969,44,11 -release,,2022-08-02T22:56:50Z,https://github.com/apache/tvm/pull/11987,driazati,release,"[release] Follow ups from v0.9.0 - scripts, docs",509,7,6 -,,2022-08-02T19:48:59Z,https://github.com/apache/tvm/pull/12124,jwfromm,"relay, op",[Relay][Op] Trilu operator implementation,298,43,13 -ci,,2022-08-02T19:04:20Z,https://github.com/apache/tvm/pull/12258,gigiblender,ci,[CI] Shard Qemu python tests,250,73,2 -adreno,,2022-08-02T16:10:48Z,https://github.com/apache/tvm/pull/11878,elvin-n,adreno,[Adreno] Add markup pass of relay tensors for static texture planning,1142,19,10 -ethosn,,2022-08-02T08:33:10Z,https://github.com/apache/tvm/pull/11759,lhutton1,ethosn,[ETHOSN] Upgrade NPU driver stack to v22.05,139,48,12 -pylint,,2022-08-02T02:31:56Z,https://github.com/apache/tvm/pull/12176,quic-sanirudh,pylint,[Pylint] Making hexagon tests pylint compliant Part 2 of N,265,189,9 -,,2022-08-02T00:46:35Z,https://github.com/apache/tvm/pull/12264,Lunderberg,"unittest, tir",[UnitTest][TIR] Testing utility for before/after transform tests,291,36,3 -,,2022-08-01T22:07:38Z,https://github.com/apache/tvm/pull/12262,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for TBG,270,0,2 -,,2022-08-01T12:36:24Z,https://github.com/apache/tvm/pull/12252,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for CBR,268,2,4 -,,2022-08-01T07:49:35Z,https://github.com/apache/tvm/pull/12251,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for SFM,798,0,2 -tvmscript,,2022-08-01T06:45:44Z,https://github.com/apache/tvm/pull/12148,yelite,tvmscript,[TVMScript] Python Expression Precedence,508,42,6 -,,2022-08-01T04:32:30Z,https://github.com/apache/tvm/pull/12250,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for NRM,208,0,2 -byoc-dnnl,,2022-08-01T01:32:52Z,https://github.com/apache/tvm/pull/12151,crazydemo,byoc-dnnl,[BYOC-DNNL] add post_sum pattern,164,4,4 -,,2022-07-31T23:55:15Z,https://github.com/apache/tvm/pull/12249,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for T2D,267,3,3 -,,2022-07-31T10:02:47Z,https://github.com/apache/tvm/pull/12246,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for GRP,265,0,2 -,,2022-07-31T04:24:19Z,https://github.com/apache/tvm/pull/12243,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for GMM,205,0,2 -tvmscript,,2022-07-31T02:58:08Z,https://github.com/apache/tvm/pull/12244,junrushao,tvmscript,[TVMScript] Doc Definition,1140,0,1 -roofline,,2022-07-30T23:35:25Z,https://github.com/apache/tvm/pull/12205,tkonolige,roofline,[ROOFLINE] Add CUDA support to roofline analysis,736,342,10 -,,2022-07-30T07:17:03Z,https://github.com/apache/tvm/pull/11037,BBuf,,Deploy the Pretrained Model on Jetson Nano ,248,0,1 -,,2022-07-29T19:01:57Z,https://github.com/apache/tvm/pull/12218,arangasa,"topi, hexagon",[TOPI][HEXAGON] Implement depthwise conv2d slice op.,481,0,3 -ux,,2022-07-29T17:50:00Z,https://github.com/apache/tvm/pull/12197,ganler,ux,[UX] highlight tvm script,212,0,5 -,,2022-07-29T14:20:55Z,https://github.com/apache/tvm/pull/12209,mehrdadh,"microtvm, zephyr, projectapi",[microTVM][Zephyr][projectAPI] Minimize project build commands,86,67,4 -,,2022-07-28T18:56:24Z,https://github.com/apache/tvm/pull/12182,mehrdadh,"microtvm, tutorial",[microTVM][tutorial] AOT host-driven tutorial with TFLite model,183,0,3 -tir,,2022-07-28T18:13:31Z,https://github.com/apache/tvm/pull/12171,masahi,tir,[TIR] Asynchronous stage in software pipeline,966,69,8 -tvmscript,,2022-07-28T05:33:44Z,https://github.com/apache/tvm/pull/12112,yelite,tvmscript,[TVMScript] StmtDoc Printing,906,6,4 -tvmscript,,2022-07-27T23:56:15Z,https://github.com/apache/tvm/pull/12111,yelite,tvmscript,[TVMScript] StmtDoc Definitions,1154,37,6 -target,,2022-07-27T22:09:16Z,https://github.com/apache/tvm/pull/12152,kparzysz-quic,target,[Target] Improve string interpretation in Target creation,274,70,2 -,,2022-07-27T17:35:54Z,https://github.com/apache/tvm/pull/12174,wrongtest-intellif,"tir, schedule",[TIR][Schedule] DecomposePadding,1048,26,12 -tvmscript,,2022-07-27T16:27:48Z,https://github.com/apache/tvm/pull/12048,yelite,tvmscript,[TVMScript] ExprDoc,1741,6,8 -tir pass,,2022-07-27T06:22:18Z,https://github.com/apache/tvm/pull/12172,FredJia-intellif,tir pass,[TIR Pass] Decouple flatten buffer to lower opaque block and flatten buffer.,615,330,12 -,,2022-07-26T08:00:44Z,https://github.com/apache/tvm/pull/11911,juda,,TVM Vertical Integration with PyTorch,1099,3,8 -tvmc,,2022-07-25T09:43:00Z,https://github.com/apache/tvm/pull/11427,dchauhan-arm,tvmc,[TVMC] Workspace Pools Parameters,717,5,8 -tir,,2022-07-25T06:50:33Z,https://github.com/apache/tvm/pull/12166,Hzfengsy,tir,[TIR] Well-Formed Verifier,235,15,7 -,,2022-07-24T21:28:09Z,https://github.com/apache/tvm/pull/12165,avquicinc,"topi, hexagon",[TOPI] [HEXAGON] Tanh Float16 Slice Op,166,0,3 -qnn,,2022-07-22T21:33:31Z,https://github.com/apache/tvm/pull/12116,zhaoyang-star,qnn,[QNN] Support different qnn params between in/out tensor in leaky_relu,104,47,5 -,,2022-07-22T19:54:24Z,https://github.com/apache/tvm/pull/11557,huajsj,"runtime, pipelineexecutor",[Runtime][PipelineExecutor] Tutorial of using pipeline executor.,281,9,4 -hexagon,,2022-07-22T16:59:57Z,https://github.com/apache/tvm/pull/12149,avquicinc,hexagon,[HEXAGON] QCOM hexagon library (qhl),332,20,7 -ethosn,,2022-07-21T15:38:40Z,https://github.com/apache/tvm/pull/11944,lhutton1,ethosn,[ETHOSN] Supply output tensor to issupported checks,217,97,7 -,,2022-07-20T09:58:11Z,https://github.com/apache/tvm/pull/12143,wrongtest-intellif,,Fix #12039‘s broken cases,281,163,8 -,,2022-07-19T23:36:38Z,https://github.com/apache/tvm/pull/12137,gigiblender,"skip ci, arith","[skip ci] Revert ""[Arith] DetectIterMap support overlapped iteration sum""",58,176,8 -hexagon,,2022-07-19T20:14:05Z,https://github.com/apache/tvm/pull/11449,arangasa,hexagon,[Hexagon] Slice op relu,189,0,3 -,,2022-07-19T16:13:52Z,https://github.com/apache/tvm/pull/12122,vinx13,"metaschedule, testing","[MetaSchedule, Testing] Generalize in/out dtype of testing te workloads",125,158,4 -pylint,,2022-07-19T15:20:24Z,https://github.com/apache/tvm/pull/12082,quic-sanirudh,pylint,[Pylint] Making hexagon tests pylint compliant Part 1 of N,347,288,8 -arith,,2022-07-19T14:45:11Z,https://github.com/apache/tvm/pull/12039,wrongtest-intellif,arith,[Arith] DetectIterMap support overlapped iteration sum,176,58,8 -micronpu,,2022-07-19T07:28:45Z,https://github.com/apache/tvm/pull/12120,lhutton1,micronpu,[microNPU] Add support for hard swish,201,0,4 -texture,,2022-07-18T20:39:59Z,https://github.com/apache/tvm/pull/11876,elvin-n,texture,[Texture] Add 2d memory support into static memory planner,363,95,4 -tir,,2022-07-18T16:03:54Z,https://github.com/apache/tvm/pull/11973,Lunderberg,tir,[TIR] Moved PrimExpr operator overload from op.h to expr.h,228,201,4 -metaschedule,,2022-07-16T04:17:31Z,https://github.com/apache/tvm/pull/12113,vinx13,metaschedule,[MetaSchedule] Allow MultiLevelTilingTensorCore rule to specify multiple tensor intrin groups,260,109,5 -collage,,2022-07-15T18:04:33Z,https://github.com/apache/tvm/pull/12105,mbs-octoml,collage,[Collage] PruneCandidates and demo_collage_partition.py,5272,127,13 -relay,,2022-07-15T15:27:35Z,https://github.com/apache/tvm/pull/12095,mbs-octoml,relay,[Relay] Allow Primitive functions to carry virtual device annotations in PlanDevices,168,57,8 -collage,,2022-07-14T21:30:44Z,https://github.com/apache/tvm/pull/12086,mbs-octoml,collage,[Collage] CollagePartition pass,1854,14,18 -metaschedule,,2022-07-14T20:32:11Z,https://github.com/apache/tvm/pull/12059,vinx13,metaschedule,[MetaSchedule] Add MultiLevelTilingTensorCore rule for auto-tensorization on CUDA,1092,65,20 -topi,,2022-07-14T03:42:38Z,https://github.com/apache/tvm/pull/11936,vinx13,topi,[TOPI] Allow conv definition to have custom kernel layout,175,73,13 -tvmscript,,2022-07-13T23:03:11Z,https://github.com/apache/tvm/pull/11977,gbonik,tvmscript,[TVMScript] Add ObjectPath class,865,0,4 -collage,,2022-07-13T19:48:51Z,https://github.com/apache/tvm/pull/12078,mbs-octoml,collage,[Collage] CombinerRule and CandidatePartition::EstimateCost,2167,92,15 -arith,,2022-07-13T16:17:53Z,https://github.com/apache/tvm/pull/11970,Lunderberg,arith, [Arith] Updated BufferDomainTouched to use IRVisitorWithAnalyzer,409,90,8 -,,2022-07-13T15:57:01Z,https://github.com/apache/tvm/pull/12070,junrushao,"tir, schedule",[TIR][Schedule] Refactor Tensorize,580,595,2 -,,2022-07-12T22:04:04Z,https://github.com/apache/tvm/pull/12077,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for DIL,268,0,2 -relay,,2022-07-12T20:55:24Z,https://github.com/apache/tvm/pull/12072,mbs-octoml,relay,[Relay] Move TOpPattern registration for nn.* to C++,109,113,7 -,,2022-07-12T20:15:48Z,https://github.com/apache/tvm/pull/11561,arangasa,"topi, hexagon",[Topi][Hexagon] Implement Cast F32ToF16 and F16ToF32 Slice Op,374,0,5 -,,2022-07-12T20:09:35Z,https://github.com/apache/tvm/pull/12071,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for DEP,250,0,2 -collage,,2022-07-12T16:46:33Z,https://github.com/apache/tvm/pull/11993,mbs-octoml,collage,[Collage] PartitionRule (though without CombinePartitionRule),1998,0,11 -micronpu,,2022-07-12T16:23:44Z,https://github.com/apache/tvm/pull/12029,NicolaLancellotti,micronpu,[microNPU] Add MergeConstants pass,1336,263,11 -collage,,2022-07-11T20:57:55Z,https://github.com/apache/tvm/pull/11981,mbs-octoml,collage,[Collage] SubGraphs,2609,0,11 -,,2022-07-11T18:58:47Z,https://github.com/apache/tvm/pull/12006,ashutosh-arm,"cmsis-nn, perf",[CMSIS-NN][Perf] Converted Relay Conv2D into CMSIS-NN Depthwise,260,15,6 -,,2022-07-11T18:37:11Z,https://github.com/apache/tvm/pull/12023,mehrdadh,"microtvm, rvm",[microtvm][RVM] Refactor Arduino/Zephyr into one RVM,99,505,26 -metaschedule,,2022-07-11T11:32:13Z,https://github.com/apache/tvm/pull/11961,Kathryn-cat,metaschedule,[MetaSchedule] Added a cost model,1012,2,3 -byoc-dnnl,,2022-07-11T00:55:57Z,https://github.com/apache/tvm/pull/12002,crazydemo,byoc-dnnl,[BYOC-DNNL] support more post-ops,95,104,6 -,,2022-07-09T02:01:54Z,https://github.com/apache/tvm/pull/12047,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for CAP,296,0,2 -,,2022-07-09T00:06:28Z,https://github.com/apache/tvm/pull/12046,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for C3D,294,0,2 -,,2022-07-08T20:10:54Z,https://github.com/apache/tvm/pull/12043,junrushao,"metaschedule, test",[MetaSchedule][Test] Add unittests for C2D,268,1,2 -,,2022-07-08T00:31:04Z,https://github.com/apache/tvm/pull/12036,junrushao,"metaschedule, testing",[MetaSchedule][Testing] Add unittests for C1D search space,181,2,2 -pylint,,2022-07-07T23:45:17Z,https://github.com/apache/tvm/pull/11672,AndrewZhaoLuo,pylint,[Pylint] Pylint integration_tests folder,1089,770,13 -,,2022-07-07T21:05:59Z,https://github.com/apache/tvm/pull/12032,junrushao,"metaschedule, testing",[MetaSchedule][Testing] Test search space of conv1d,179,1,2 -,,2022-07-07T18:19:01Z,https://github.com/apache/tvm/pull/11983,abhikran-quic,"topi, hexagon",[TOPI] [Hexagon] Reshape slice op,277,101,4 -pytorch,,2022-07-07T06:37:48Z,https://github.com/apache/tvm/pull/12017,yuanfz98,pytorch,"[Pytorch] add aten::rnn_tanh, aten::rnn_relu",307,1,3 -tvmscript,,2022-07-07T05:11:10Z,https://github.com/apache/tvm/pull/11971,yelite,tvmscript,[TVMScript] Doc Base Class & DocPrinter Scaffolding,725,0,14 -micronpu,,2022-07-06T15:46:29Z,https://github.com/apache/tvm/pull/11209,lhutton1,micronpu,[microNPU] Calculate memory pressure for microNPU external functions,407,18,5 -,,2022-07-06T14:52:44Z,https://github.com/apache/tvm/pull/11489,quic-sanirudh,"topi, hexagon",[Topi] [Hexagon] Conv2d slice op initial version,596,0,4 -tir,,2022-07-06T01:49:55Z,https://github.com/apache/tvm/pull/12010,kparzysz-quic,tir,[TIR] Make conversion from Integer to int64_t explicit,179,144,56 -microtvm,,2022-07-05T17:36:26Z,https://github.com/apache/tvm/pull/11782,guberti,microtvm,[microTVM] Autotuning performance tests,373,88,14 -byoc-dnnl,,2022-07-05T07:41:25Z,https://github.com/apache/tvm/pull/11822,crazydemo,byoc-dnnl,[BYOC-DNNL]rewrite downsize blocks for rensetv1 to get better performance,279,0,2 -tir,,2022-07-03T20:16:18Z,https://github.com/apache/tvm/pull/11999,junrushao,tir,[TIR] Add sugar method `Schedule.work_on`,225,58,15 -byoc,,2022-07-01T22:09:06Z,https://github.com/apache/tvm/pull/11979,mbs-octoml,byoc,[BYOC] Switch TensorRT BYOC integration to IRModule-at-a-time using RelayToTIR hook,524,348,19 -hexagon,,2022-07-01T20:50:35Z,https://github.com/apache/tvm/pull/11693,joshherr-quic,hexagon,[Hexagon] Enable int8 vlut codegen for Relay take (LUT) operator,153,0,2 -metaschedule,,2022-06-30T23:16:58Z,https://github.com/apache/tvm/pull/11955,vinx13,metaschedule,[MetaSchedule] Handle 'warp_execution' in RewriteCooperativeFetch,182,2,2 -byoc,,2022-06-30T17:27:21Z,https://github.com/apache/tvm/pull/11770,mbs-octoml,byoc,[BYOC] Handle constants in IRModule-at-a-time external codegen,571,262,34 -ci,,2022-06-30T16:10:12Z,https://github.com/apache/tvm/pull/11839,driazati,ci,[ci] Redirect sphinx-gallery URLs to S3,582,1,67 -,,2022-06-30T14:36:27Z,https://github.com/apache/tvm/pull/11522,abhikran-quic,"topi, hexagon",[TOPI] [Hexagon] Batch flatten slice op initial version,199,0,5 -metaschedule,,2022-06-30T04:11:41Z,https://github.com/apache/tvm/pull/11797,zxybazh,metaschedule,[MetaSchedule] Tuning Script Upgrade,448,363,11 -metaschedule,,2022-06-30T00:03:32Z,https://github.com/apache/tvm/pull/11949,vinx13,metaschedule,[MetaSchedule] Handle 'warp_execution' implied extend of threadIdx.x in VerifyGpuCode,417,45,3 -,,2022-06-29T21:22:35Z,https://github.com/apache/tvm/pull/11847,arangasa,"topi, hexagon",[TOPI][Hexagon] Implement Argmax Slice Op,178,0,5 -,,2022-06-28T23:05:36Z,https://github.com/apache/tvm/pull/11927,areusch,,Move jenkins/ dir into ci/jenkins and spread docs around,288,121,19 -relay,,2022-06-28T23:05:18Z,https://github.com/apache/tvm/pull/11926,mbs-octoml,relay,[Relay] CaptureIndexInSpans debugging pass,255,0,4 diff --git a/tests/scripts/out-small.csv b/tests/scripts/out-small.csv deleted file mode 100644 index 7c5ef457299b..000000000000 --- a/tests/scripts/out-small.csv +++ /dev/null @@ -1,418 +0,0 @@ -category,description,date,number,author,tags,title,additions,deletions,changed files -tir,,2022-09-21T03:03:14Z,https://github.com/apache/tvm/pull/12836,yincs-intellif,tir,[TIR] Enhance RemoveNoOp pass to remove negative loop,26,1,2 -,,2022-09-20T21:55:16Z,https://github.com/apache/tvm/pull/12828,areusch,,"Fix caffe, boost install in Python venvs by creating python3.X link",12,2,3 -,,2022-09-20T16:48:23Z,https://github.com/apache/tvm/pull/12848,driazati,"skip ci, ci","[skip ci] Revert ""[ci] Lint PR title/body for @ tags (#12840)""",10,20,2 -ci,,2022-09-20T15:10:59Z,https://github.com/apache/tvm/pull/12840,driazati,ci,[ci] Lint PR title/body for @ tags,20,10,2 -onnx,,2022-09-20T15:10:23Z,https://github.com/apache/tvm/pull/12729,sfvaroglu,onnx,[ONNX] Upgrade onnx and onnxruntime,66,2,2 -fix,,2022-09-20T03:07:46Z,https://github.com/apache/tvm/pull/12809,victorsoda,fix,[Fix] naming outputs of graph nodes by op_name:output_index,3,1,1 -,,2022-09-19T22:32:58Z,https://github.com/apache/tvm/pull/12817,yanghaku,"bugfix, llvm",[BugFix][LLVM] Fix the bug that the generated systemlib cannot register ```__tvm_module_ctx``` symbol sometimes,1,1,1 -,,2022-09-19T18:02:53Z,https://github.com/apache/tvm/pull/12816,Lunderberg,"tir, bugfix",[TIR][Bugfix] Correct handling of buffer argument when scheduling,32,15,2 -,,2022-09-19T16:50:20Z,https://github.com/apache/tvm/pull/12821,Lunderberg,"arith, tir","[Arith][TIR] IntSetAnalyzer, delay intersection of IntSet until use",52,74,1 -,,2022-09-19T05:49:04Z,https://github.com/apache/tvm/pull/12593,czh978,"frontend, tflite, ""force_suppress""","[Frontend][TFLite] fix detection_postprocess's non_max_suppression_attrs[""force_suppress""]",27,12,2 -metaschedule,,2022-09-18T02:03:17Z,https://github.com/apache/tvm/pull/12825,MasterJH5574,metaschedule,[MetaSchedule] Relax conditions of rule Cross-Thread Reduction,100,4,2 -,,2022-09-17T15:08:34Z,https://github.com/apache/tvm/pull/12819,MasterJH5574,"bugfix, tir",[BugFix][TIR] Fix Buffer LCA Detector,70,1,2 -,,2022-09-16T23:25:28Z,https://github.com/apache/tvm/pull/12727,janetsc,"hexagon, runtime",[Hexagon] [runtime] Improve runtime resource management,76,10,4 -hexagon,,2022-09-16T22:24:03Z,https://github.com/apache/tvm/pull/12795,mehrdadh,hexagon,[Hexagon] Add debug option to hexagon pytest,22,8,2 -ci,,2022-09-16T19:54:51Z,https://github.com/apache/tvm/pull/12810,driazati,ci,[ci] Fix docs push,6,4,2 -,,2022-09-16T18:53:53Z,https://github.com/apache/tvm/pull/12807,janetsc,"hexagon, runtime",[Hexagon] [runtime] Protect access to global HexagonBufferManager map,22,3,1 -hexagon,,2022-09-16T17:50:30Z,https://github.com/apache/tvm/pull/12783,nverke,hexagon,[Hexagon] Reduce the number of tests run for VTCM testing in order to…,36,19,2 -,,2022-09-16T15:51:09Z,https://github.com/apache/tvm/pull/12813,ashutosh-arm,,Fix for import requests and import caffe failures,7,3,2 -,,2022-09-16T13:11:07Z,https://github.com/apache/tvm/pull/12811,zxybazh,"metaschedule, minor",[MetaSchedule][Minor]Fix Random State Fork in TuneContext Clone Function,1,0,1 -,,2022-09-16T07:02:18Z,https://github.com/apache/tvm/pull/12804,driazati,"ci, docker",[ci][docker] Fix nightly Docker tests,3,3,2 -tir,,2022-09-16T01:49:22Z,https://github.com/apache/tvm/pull/12800,vinx13,tir,[TIR] Add extra simpliciation in region cover analysis,90,1,2 -community,,2022-09-16T00:07:39Z,https://github.com/apache/tvm/pull/12799,driazati,community,[community] Fix outdated contributor GitHub usernames,6,6,1 -tvmscript,,2022-09-15T23:40:55Z,https://github.com/apache/tvm/pull/12772,wrongtest-intellif,tvmscript,[TVMScript] Fix parse minimal i32 literal for tir script,17,0,2 -,,2022-09-15T23:38:38Z,https://github.com/apache/tvm/pull/12798,vinx13,,Fix typo in doc of logging,2,2,1 -ci,,2022-09-15T22:43:33Z,https://github.com/apache/tvm/pull/12788,driazati,ci,[ci] Remove author check from ping bot,1,38,2 -,,2022-09-15T22:29:15Z,https://github.com/apache/tvm/pull/12774,driazati,"ci, docker",[ci][docker] Always build cmake from source,24,16,9 -target,,2022-09-15T21:03:21Z,https://github.com/apache/tvm/pull/12747,Mousius,target,[Target] Print deprecation warning before canonicalisation in build module,2,2,1 -arith,,2022-09-15T20:30:08Z,https://github.com/apache/tvm/pull/12749,vinx13,arith,[Arith] Simplify nested if_then_else,30,0,2 -,,2022-09-14T23:08:32Z,https://github.com/apache/tvm/pull/12756,gromero,"microtvm, zephyr",[microTVM][Zephyr] Fix PLL freq. in overlay for nucleo_l4r5zi board,22,0,1 -,,2022-09-14T22:06:05Z,https://github.com/apache/tvm/pull/12775,ashutosh-arm,,Fixed pylint issues after moving to venv in ci_lint docker,4,4,4 -ci,,2022-09-14T16:16:57Z,https://github.com/apache/tvm/pull/12456,ekalda,ci,[CI] Set USE_CMSISNN and USE_ETHOSU off in task_config_build_cpu.sh,2,2,1 -,,2022-09-14T14:23:51Z,https://github.com/apache/tvm/pull/10516,Lunderberg,"relay, te",[Relay][TE] Use Relay parameter name to generated TE tensor name,48,35,5 -hybrid,,2022-09-14T04:43:54Z,https://github.com/apache/tvm/pull/12769,vinx13,hybrid,[Hybrid] Fix handling AST subcription for Python3.9,4,0,1 -fq2i,,2022-09-14T00:24:33Z,https://github.com/apache/tvm/pull/12666,mbrookhart,fq2i,[FQ2I] Quantized constant bias,36,22,2 -community,,2022-09-13T21:43:23Z,https://github.com/apache/tvm/pull/12768,ZihengJiang,community,[COMMUNITY] Josh Fromm -> PMC,1,1,1 -autotvm,,2022-09-12T23:06:16Z,https://github.com/apache/tvm/pull/12760,junrushao,autotvm,[AutoTVM] Fix `None` feature in AutoTVM tuning,11,11,3 -hexagon,,2022-09-12T20:31:52Z,https://github.com/apache/tvm/pull/12662,Lunderberg,hexagon,[Hexagon] Validate 2-d physical shapes for TIR-derived schedules,58,1,1 -tflite,,2022-09-12T20:03:56Z,https://github.com/apache/tvm/pull/12754,dchauhan-arm,tflite,[TFLite] Support quantized GREATER op in TFLite frontend,37,31,2 -metaschedule,,2022-09-12T08:07:00Z,https://github.com/apache/tvm/pull/12704,wrongtest-intellif,metaschedule,[MetaSchedule] Fix typo of compare between GlobalVar and str,1,1,1 -tf,,2022-09-12T07:01:10Z,https://github.com/apache/tvm/pull/12751,apivovarov,tf,[TF] Add Bincount support,135,1,3 -ethosn,,2022-09-10T09:58:45Z,https://github.com/apache/tvm/pull/12650,lhutton1,ethosn,[ETHOSN] Update driver stack version to 22.08,57,28,6 -,,2022-09-09T21:19:45Z,https://github.com/apache/tvm/pull/12559,trahman-quic,"topi, hexagon",[TOPI][Hexagon] Add test and schedule for uint8 resize2d,80,13,2 -,,2022-09-09T19:02:16Z,https://github.com/apache/tvm/pull/12658,blackkker,"frontend, paddle",[Frontend][Paddle] Fix op in paddle did't transmit layout information,4,1,1 -,,2022-09-09T18:59:55Z,https://github.com/apache/tvm/pull/12726,Lunderberg,"tvmscript, tir",[TVMScript][TIR] Clarify scope of BlockNode::iter_vars,62,17,3 -,,2022-09-09T16:25:30Z,https://github.com/apache/tvm/pull/12741,mehrdadh,"microtvm, zephyr",[microtvm][Zephyr] Add project overlay to overwrite device tree configs,36,4,4 -,,2022-09-09T15:49:37Z,https://github.com/apache/tvm/pull/12723,ashutosh-arm,,Aligned CMSIS-NN SHA in TVM to CMSIS top of tree,25,18,5 -ci,,2022-09-09T15:24:05Z,https://github.com/apache/tvm/pull/12738,leandron,ci,[CI] Update Docker images to bring TF 2.9 and integration tests,31,21,4 -tf,,2022-09-09T08:29:57Z,https://github.com/apache/tvm/pull/12728,apivovarov,tf,[TF] Add DenseBincount support,96,0,2 -,,2022-09-09T07:07:09Z,https://github.com/apache/tvm/pull/12744,driazati,"ci, docker",[ci][docker] Use CMake 3.20.0 for cortexm,10,4,2 -,,2022-09-08T22:30:38Z,https://github.com/apache/tvm/pull/12678,rkimball,,Move static array initialization into a function go avoid link errors,33,34,2 -tir,,2022-09-08T16:35:58Z,https://github.com/apache/tvm/pull/12725,Lunderberg,tir,[TIR] Update region min/extent in ReplaceBufferMutator,48,3,2 -test,,2022-09-08T13:50:36Z,https://github.com/apache/tvm/pull/12737,leandron,test,[Test] Add tvm.testing.requires_libtorch,5,0,2 -metaschedule,,2022-09-08T13:50:14Z,https://github.com/apache/tvm/pull/12733,leandron,metaschedule,[MetaSchedule] Mark two tests as xfail,2,0,1 -,,2022-09-08T13:49:55Z,https://github.com/apache/tvm/pull/12730,leandron,"ci, aarch64",[CI][AArch64] Mark tests to be skipped due to torch crash,8,0,1 -relay,,2022-09-08T08:54:10Z,https://github.com/apache/tvm/pull/12671,guberti,relay,[Relay] Change when int8 operations are converted to int16 on Arm,14,8,1 -tir,,2022-09-08T03:28:36Z,https://github.com/apache/tvm/pull/12631,yincs-intellif,tir,[TIR] Add unroll_loop_with_partition_hint_no_interval attr in LoopPartitionConfig to unroll loop,71,29,2 -ci,,2022-09-07T20:15:42Z,https://github.com/apache/tvm/pull/12716,driazati,ci,[ci] Add onnx model to S3,3,0,2 -,,2022-09-07T19:53:54Z,https://github.com/apache/tvm/pull/12131,leandron,"tflite, ci",[TFLite][CI] Update TensorFlow dependency to 2.9.1,35,31,12 -build,,2022-09-07T16:12:02Z,https://github.com/apache/tvm/pull/12712,Lunderberg,build,"[Build] Update C++ standard to C++17 for AOT, iOS, VTA",5,5,4 -,,2022-09-07T14:26:09Z,https://github.com/apache/tvm/pull/12718,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Enable -O2 optimization on build by default,7,2,1 -,,2022-09-07T07:06:31Z,https://github.com/apache/tvm/pull/12702,cery999,,support false-positive fast math,1,1,1 -tir,,2022-09-07T07:03:47Z,https://github.com/apache/tvm/pull/12699,yincs-intellif,tir,[TIR] Fix pragma_loop_partition_hint attrs should check it's value,11,8,2 -docs,,2022-09-07T07:00:24Z,https://github.com/apache/tvm/pull/12689,gromero,docs,[Docs] Add Commit Message Guideline,112,1,1 -tvmc,,2022-09-06T20:10:36Z,https://github.com/apache/tvm/pull/12713,lhutton1,tvmc,[TVMC] Run module once by default,101,19,4 -hexagon,,2022-09-06T19:45:53Z,https://github.com/apache/tvm/pull/12714,ibsidorenko,hexagon,[Hexagon] Add optimized schedule for nn.pad,125,1,6 -community,,2022-09-06T17:33:58Z,https://github.com/apache/tvm/pull/12715,areusch,community,[COMMUNITY] ekalda -> Committer,1,0,1 -,,2022-09-06T17:31:39Z,https://github.com/apache/tvm/pull/12655,Lunderberg,"tir, storagerewrite",[TIR][StorageRewrite] Allow in-place buffer reuse of non-flat memory,132,4,2 -,,2022-09-06T15:06:03Z,https://github.com/apache/tvm/pull/12574,cconvey,"hexagon, runtime",[Hexagon][Runtime] Better support for 2-tier memory,126,23,3 -apps,,2022-09-06T13:12:14Z,https://github.com/apache/tvm/pull/12710,leandron,apps,[Apps] Pin android_camera TensorFlow/Keras dependency version,2,2,1 -,,2022-09-02T23:43:31Z,https://github.com/apache/tvm/pull/12693,Lunderberg,"web, emscripten",[Web][Emscripten] Update EMCC C++ standard to C++17,1,1,1 -adreno,,2022-09-02T22:42:59Z,https://github.com/apache/tvm/pull/12647,Icemist,adreno,[Adreno] Define memory_info for global.texture*,17,3,2 -ci,,2022-09-02T22:01:22Z,https://github.com/apache/tvm/pull/12680,driazati,ci,[ci] Add tests for PR linter,49,11,2 -ethosn,,2022-09-02T12:52:23Z,https://github.com/apache/tvm/pull/12686,lhutton1,ethosn,[ETHOSN] Add support for concatenate with negative axis,32,24,2 -ethosn,,2022-09-02T07:53:44Z,https://github.com/apache/tvm/pull/12675,lhutton1,ethosn,[ETHOSN] Fix some more pylint issues,13,7,4 -pytorch,,2022-09-02T07:24:04Z,https://github.com/apache/tvm/pull/12681,shingjan,pytorch,[PyTorch] Fix aten::arange for pytorch,14,18,1 -,,2022-09-02T05:13:20Z,https://github.com/apache/tvm/pull/12683,Hzfengsy,"skip ci, community",[skip ci][COMMUNITY] Yaxing Cai -> Reviewer,1,0,1 -tir,,2022-09-02T01:56:32Z,https://github.com/apache/tvm/pull/12679,vinx13,tir,[TIR] Handle DeclBuffer in ToSSA,13,6,3 -,,2022-09-01T21:19:40Z,https://github.com/apache/tvm/pull/12472,arangasa,"hexagon, topi",[HEXAGON][TOPI]Slice Op Argmax uint8,15,6,2 -,,2022-09-01T20:51:33Z,https://github.com/apache/tvm/pull/12676,cconvey,"hexagon, tests",[hexagon][tests] re-enable maxpool hardware test,0,3,1 -,,2022-09-01T15:57:40Z,https://github.com/apache/tvm/pull/12664,rkimball,,Add methods to get and set late-bound constants.,126,1,4 -metaschedule,,2022-09-01T14:23:35Z,https://github.com/apache/tvm/pull/12668,shingjan,metaschedule,[MetaSchedule] Fix autoinline for single const consumer block,32,1,2 -tir,,2022-09-01T02:23:15Z,https://github.com/apache/tvm/pull/12661,Lunderberg,tir,[TIR] Allow string/buffer arguments to Schedule cache_read/write,42,8,2 -,,2022-08-31T19:51:21Z,https://github.com/apache/tvm/pull/12660,leandron,"torch, aarch64",[Torch][AArch64] Skip test_load_model___wrong_language__to_pytorch,4,0,1 -ethosn,,2022-08-31T09:54:54Z,https://github.com/apache/tvm/pull/12594,NicolaLancellotti,ethosn,[ETHOSN] Improve inferring new shape of the Reshape operator,33,16,4 -testing,,2022-08-31T08:21:36Z,https://github.com/apache/tvm/pull/12656,junrushao,testing,[Testing] Allow NCHW layout in `relay_workload`,60,31,4 -tir,,2022-08-31T03:12:05Z,https://github.com/apache/tvm/pull/12572,wrongtest-intellif,tir,[TIR] Preserve annotations after lower opaque block,83,14,2 -metaschedule,,2022-08-31T03:09:15Z,https://github.com/apache/tvm/pull/12648,zxybazh,metaschedule,[MetaSchedule] Complete NCHW Conv2D Winograd Kernel Scheduling,40,3,3 -ci,,2022-08-30T22:19:27Z,https://github.com/apache/tvm/pull/12604,driazati,ci,[ci] Add mechanism for trust on certain CI scripts,51,1,2 -,,2022-08-30T22:10:54Z,https://github.com/apache/tvm/pull/12642,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Add missing CMSIS-NN source files to cmake file,5,1,1 -hexagon,,2022-08-30T20:56:04Z,https://github.com/apache/tvm/pull/12502,adstraw,hexagon,[Hexagon] Expose gtest output through runtime exception,4,3,1 -microtvm,,2022-08-30T20:40:18Z,https://github.com/apache/tvm/pull/12641,mehrdadh,microtvm,[microTVM]Fix test util functions,6,4,2 -,,2022-08-30T19:48:43Z,https://github.com/apache/tvm/pull/12653,mehrdadh,"microtvm, arm-dsp",[microTVM][ARM-DSP] Fix pool schedule ,2,1,1 -tvmscript,,2022-08-30T18:51:53Z,https://github.com/apache/tvm/pull/12618,shingjan,tvmscript,"[TVMScript] support float inf, -inf and nan in TVMScript parser and printer",69,12,4 -ci,,2022-08-30T18:51:12Z,https://github.com/apache/tvm/pull/12609,driazati,ci,[ci] Move non-task CI scripts into ci/ folder,43,37,38 -tir,,2022-08-30T00:27:34Z,https://github.com/apache/tvm/pull/12638,Lunderberg,tir,[TIR] Improved error messages for PrimExpr operator overloads,40,18,1 -utils,,2022-08-29T21:33:04Z,https://github.com/apache/tvm/pull/12633,Lunderberg,utils,[Utils] Handled Callable in tir.schedule._type_checker,103,14,2 -ci,,2022-08-29T18:00:54Z,https://github.com/apache/tvm/pull/12621,driazati,ci,[ci] Don't update Jenkinsfile timestamp on image updates,58,4,1 -,,2022-08-29T16:59:10Z,https://github.com/apache/tvm/pull/12620,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Disable test_armv7m_intrinsic since it's broken,2,2,1 -qnn,,2022-08-29T10:31:00Z,https://github.com/apache/tvm/pull/12624,zhaoyang-star,qnn,[QNN] Align output_scale/zero_point of sigmoid to Torch,39,7,2 -ci,,2022-08-26T19:37:32Z,https://github.com/apache/tvm/pull/12613,masahi,ci,[CI] Update Hexagon image to install boost,3,3,2 -simplifyexpr,,2022-08-26T16:28:20Z,https://github.com/apache/tvm/pull/12580,mbrookhart,simplifyexpr,[SimplifyExpr] Add simplify for dq->arg funcs,96,0,2 -,,2022-08-26T06:19:19Z,https://github.com/apache/tvm/pull/12596,wzh99,"topi, bugfix",[TOPI][Bugfix] Make semantics of empty `axis` in `squeeze` consistent with Relay,5,4,2 -,,2022-08-25T21:21:13Z,https://github.com/apache/tvm/pull/12605,yzhliu,"skip ci, community",[skip ci][Community] Wuwei Lin -> PMC,1,1,1 -community,,2022-08-25T20:06:54Z,https://github.com/apache/tvm/pull/12598,leandron,community,[COMMUNITY] @cconvey -> Reviewer,1,0,1 -ci,,2022-08-25T17:55:58Z,https://github.com/apache/tvm/pull/12414,driazati,ci,[ci] Default to n=2 for test parallelism,111,4,5 -,,2022-08-25T17:42:57Z,https://github.com/apache/tvm/pull/12581,wrongtest-intellif,"cuda, codegen",[CUDA][CodeGen] Fix cuda codegen's fp16 inf literal,16,6,2 -f2qi,,2022-08-25T16:23:46Z,https://github.com/apache/tvm/pull/12577,mbrookhart,f2qi,[F2QI] Fix a rounding error on AvgPool when input and output affine scales differ,61,18,2 -micronpu,,2022-08-25T15:48:40Z,https://github.com/apache/tvm/pull/12570,lhutton1,micronpu,[microNPU] Remove xfail from tests relating to #12511,0,5,1 -ci,,2022-08-25T15:45:43Z,https://github.com/apache/tvm/pull/12578,yelite,ci,[CI] github_cc_reviewers: Catch all exceptions so all reviewers can be processed,5,1,1 -doc,,2022-08-25T15:44:50Z,https://github.com/apache/tvm/pull/12597,huanmei9,doc,[DOC] fix code-block error in debuggging TVM part.,1,1,1 -,,2022-08-25T14:22:37Z,https://github.com/apache/tvm/pull/12585,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Add recommended heap size for NRF and qemu_x86,5,3,1 -ci,,2022-08-25T11:05:45Z,https://github.com/apache/tvm/pull/12592,masahi,ci,[CI] Install xgboost in Hexagon image,4,0,1 -pytorch,,2022-08-25T10:04:07Z,https://github.com/apache/tvm/pull/12591,shingjan,pytorch,[PyTorch] Add aten::new_empty,33,0,2 -tir,,2022-08-25T02:21:35Z,https://github.com/apache/tvm/pull/12584,cyx-6,tir,[TIR] Expose `shift_left` and `shift_right` to Python,55,1,3 -microtvm,,2022-08-25T00:46:08Z,https://github.com/apache/tvm/pull/12519,Lucien0,microtvm,[MicroTVM] fix compile error when the compiler implements char as unsigned,1,1,1 -microtvm,,2022-08-25T00:45:14Z,https://github.com/apache/tvm/pull/12575,mehrdadh,microtvm,[microTVM] Fix `build` directory exists error,2,0,1 -hexagon,,2022-08-24T18:44:59Z,https://github.com/apache/tvm/pull/12565,mehrdadh,hexagon,[Hexagon] Fix missing pytest import,2,0,1 -hexagon,,2022-08-24T15:29:30Z,https://github.com/apache/tvm/pull/12504,farshidsp,hexagon,[Hexagon] Add support to run on multiple devices,59,17,3 -tir,,2022-08-24T14:13:28Z,https://github.com/apache/tvm/pull/12571,cyx-6,tir,[TIR] Expose Vector-related API in Python,82,0,3 -,,2022-08-24T12:44:55Z,https://github.com/apache/tvm/pull/12568,leandron,"ci, onnx",[CI][ONNX] Set test python.contrib.test_onnx.test_resize as xfail,1,0,1 -target,,2022-08-24T10:24:05Z,https://github.com/apache/tvm/pull/12322,Mousius,target,[Target] Replace IsaAnalyzer with Target Features ,6,54,3 -,,2022-08-24T07:13:30Z,https://github.com/apache/tvm/pull/12557,ashutosh-arm,"ci, cmsis-nn",[CI][CMSIS-NN] Running tests parallel using pytest-xdist,1,1,1 -micronpu,,2022-08-24T07:10:59Z,https://github.com/apache/tvm/pull/12558,lhutton1,micronpu,[microNPU] Force compute_cycles_hint to be interpreted as an int64 value,5,1,1 -,,2022-08-24T07:08:47Z,https://github.com/apache/tvm/pull/12563,crawlingcub,"pytorch, fix",[PyTorch][Fix] Fix for numerically unstable logsigmoid,5,1,2 -,,2022-08-23T21:42:43Z,https://github.com/apache/tvm/pull/12561,kparzysz-quic,,"Add using directives for otherwise hidden virtual functions, NFC",7,1,3 -,,2022-08-23T20:44:34Z,https://github.com/apache/tvm/pull/12562,kparzysz-quic,,"Replace std::result_of (deprecated in C++17) with std::invoke_result,…",1,1,1 -microtvm,,2022-08-23T20:10:50Z,https://github.com/apache/tvm/pull/12390,mkatanbaf,microtvm,[MicroTVM] add heap-size to project options,48,2,3 -ethosn,,2022-08-23T19:57:24Z,https://github.com/apache/tvm/pull/12556,NicolaLancellotti,ethosn,[ETHOSN] Add support for special indices of Reshape,12,63,2 -ci,,2022-08-23T19:49:52Z,https://github.com/apache/tvm/pull/12533,ekalda,ci,[CI] Remove Vela from ci_cpu,0,7,1 -,,2022-08-23T18:08:55Z,https://github.com/apache/tvm/pull/12560,driazati,"skip ci, ci",[skip ci][ci] Mark more ethosu tests with xfail,5,12,1 -relay,,2022-08-23T15:51:04Z,https://github.com/apache/tvm/pull/12363,mbrookhart,relay,[Relay] Add Rsqrt to SimplifyExpr,46,1,4 -ethosn,,2022-08-23T13:28:12Z,https://github.com/apache/tvm/pull/12540,lhutton1,ethosn,[ETHOSN] Fix requantize output conversion,75,10,2 -,,2022-08-23T13:03:04Z,https://github.com/apache/tvm/pull/12554,leandron,"ci, aarch64",[CI][AArch64] Skip libgomp failures in integration tests,22,0,3 -tflite,,2022-08-23T07:38:45Z,https://github.com/apache/tvm/pull/12130,NicolaLancellotti,tflite,[TFLite] Fix tests so that TensorFlow 2.9 is supported,30,11,2 -community,,2022-08-23T06:37:39Z,https://github.com/apache/tvm/pull/12543,leandron,community,[COMMUNITY] @konturn -> Reviewer,1,0,1 -acl,,2022-08-23T05:46:26Z,https://github.com/apache/tvm/pull/12541,leandron,acl,[ACL] Adjust mobilenet test for Keras 2.9,21,1,1 -,,2022-08-23T02:59:58Z,https://github.com/apache/tvm/pull/12551,areusch,,Add instructions on how to add a new CI docker image,23,0,1 -microtvm,,2022-08-23T01:59:26Z,https://github.com/apache/tvm/pull/12530,guberti,microtvm,[microTVM] Replace static fixtures with parameterization,39,25,4 -microtvm,,2022-08-23T01:58:54Z,https://github.com/apache/tvm/pull/12539,guberti,microtvm,[microTVM] Rework evaluate_model_accuracy into a more generic helper function,14,22,3 -bug fix,,2022-08-23T01:39:16Z,https://github.com/apache/tvm/pull/12547,mkatanbaf,bug fix,[bug fix] verify CMSIS_PATH at project generation,8,1,2 -,,2022-08-23T00:11:40Z,https://github.com/apache/tvm/pull/12546,michalpiszczek,,Remove mutable default arguments in mlp_model,22,15,1 -,,2022-08-22T20:13:47Z,https://github.com/apache/tvm/pull/12447,MichaelJKlaiber,"bugfix, uma",[BugFix][UMA] Fix order issue in uma_lower ,107,30,5 -ci,,2022-08-22T19:07:45Z,https://github.com/apache/tvm/pull/12510,shingjan,ci,[CI] Add alexnet and googlenet caffe model to request hook,3,0,1 -ci,,2022-08-22T17:35:08Z,https://github.com/apache/tvm/pull/12508,driazati,ci,[ci] xfail failing ethosu codegen tests,42,2,2 -relay,,2022-08-22T17:07:38Z,https://github.com/apache/tvm/pull/12498,Olivert007,relay,[Relay] Fix bug in resize2d unittest func name,2,2,1 -microtvm,,2022-08-22T16:58:11Z,https://github.com/apache/tvm/pull/12479,mkatanbaf,microtvm,[MicroTVM] expose project options in autotuning,14,5,1 -ci,,2022-08-22T16:01:11Z,https://github.com/apache/tvm/pull/12528,leandron,ci,"[CI] Set test dependency on ""transformers"" package with pytest.importorskip",4,0,1 -onnx,,2022-08-22T15:48:59Z,https://github.com/apache/tvm/pull/12532,leandron,onnx,[ONNX] Fix test to disable default ONNX frontend constant folding,1,1,1 -topi,,2022-08-22T08:01:23Z,https://github.com/apache/tvm/pull/12523,chengven027-intellif,topi,[topi]fix group conv3d pack kernel shape error,21,2,2 -community,,2022-08-20T23:32:26Z,https://github.com/apache/tvm/pull/12517,ZihengJiang,community,[COMMUNITY] An Wang -> Reviewer,1,0,1 -tir,,2022-08-20T20:55:35Z,https://github.com/apache/tvm/pull/12516,wrongtest-intellif,tir,[TIR] Fix temp obj reference typo in manifest_shared_memory_local_stage,2,2,1 -,,2022-08-20T19:54:22Z,https://github.com/apache/tvm/pull/12497,blackkker,"relay, layout",[Relay][Layout] Add FInferCorrectLayout for L2 norm layout transform.,76,1,2 -micro,,2022-08-19T23:35:14Z,https://github.com/apache/tvm/pull/12483,mehrdadh,micro,[micro] Fix pytest fixture,1,0,1 -,,2022-08-19T23:30:47Z,https://github.com/apache/tvm/pull/12500,chengven027-intellif,"onnx, topi",[onnx][topi]fix group_conv3d caculate error,3,3,2 -topi,,2022-08-19T23:29:06Z,https://github.com/apache/tvm/pull/12200,chengven027-intellif,topi,[TOPI]fix scatterND large shape problem,22,1,2 -microtvm,,2022-08-19T22:40:08Z,https://github.com/apache/tvm/pull/12444,mehrdadh,microtvm,[microTVM] Add config space to dense_dsp schedule,68,36,3 -microtvm,,2022-08-19T19:44:13Z,https://github.com/apache/tvm/pull/12484,guberti,microtvm,[microTVM] Fix test_autotune to support schedules with no tuning space,5,1,1 -,,2022-08-19T18:42:35Z,https://github.com/apache/tvm/pull/12501,MichaelJKlaiber,"community, skip ci",[COMMUNITY] [skip ci] MichaelJKlaiber -> reviewer,1,0,1 -,,2022-08-18T23:12:12Z,https://github.com/apache/tvm/pull/12491,driazati,"ci, tvmbot",[ci][tvmbot] Search more users when checking usernames,2,2,1 -target,,2022-08-18T23:11:23Z,https://github.com/apache/tvm/pull/12474,kparzysz-quic,target,[Target] Only append default keys if target doesn't have any yet,32,27,5 -,,2022-08-18T17:44:07Z,https://github.com/apache/tvm/pull/12370,yangulei,"tir, bfloat16",[TIR] [bfloat16] add bfloat16 promotion for CallNode,24,1,2 -hexagon,,2022-08-18T17:40:05Z,https://github.com/apache/tvm/pull/12397,avquicinc,hexagon,[HEXAGON] Auto-vectorization (fp16) for v68,7,1,2 -crt runtime,,2022-08-18T14:04:43Z,https://github.com/apache/tvm/pull/12437,hugy718,crt runtime,[CRT runtime] Fix memset of memory pool in PageMemoryManagerCreate,1,1,1 -tir,,2022-08-18T08:57:03Z,https://github.com/apache/tvm/pull/12477,vinx13,tir,[TIR] Disallow vectorization with strides in VerifyGPUCode,46,9,3 -community,,2022-08-18T08:56:33Z,https://github.com/apache/tvm/pull/12480,kparzysz-quic,community,[COMMUNITY] Adam Straw -> Reviewer,1,0,1 -,,2022-08-18T08:55:44Z,https://github.com/apache/tvm/pull/12471,arangasa,"hexagon, topi",[HEXAGON][TOPI] This PR adjusts schedules so >64 length vector loads/…,6,4,2 -metaschedule,,2022-08-18T04:00:14Z,https://github.com/apache/tvm/pull/12481,AndrewZhaoLuo,metaschedule,[MetaSchedule] Handle deserializing empty string RVs in trace,60,1,2 -,,2022-08-18T00:22:42Z,https://github.com/apache/tvm/pull/12467,blackkker,"frontend, pytorch","[Frontend][Pytorch] Add axis N when maxpool3d layout is (C,D,H,W)",16,7,2 -docs,,2022-08-17T21:04:52Z,https://github.com/apache/tvm/pull/12476,driazati,docs,[docs] Add instructions for uploading CI resources to S3,4,2,1 -tir,,2022-08-17T09:26:45Z,https://github.com/apache/tvm/pull/12466,cyx-6,tir,[TIR] Expose Missing TIR Builtins to Python,137,2,6 -,,2022-08-17T04:38:29Z,https://github.com/apache/tvm/pull/12460,kparzysz-quic,,"Use std::string_view, remove experimental or pre-14 variants, NFC",12,42,9 -,,2022-08-16T23:10:16Z,https://github.com/apache/tvm/pull/12461,kparzysz-quic,,"Remove uses of std::iterator, NFC",9,3,1 -,,2022-08-16T21:06:48Z,https://github.com/apache/tvm/pull/12459,kparzysz-quic,,"Use std::make_unique instead of std::unique_ptr(new ...), NFC",28,33,17 -,,2022-08-16T20:34:34Z,https://github.com/apache/tvm/pull/12458,kparzysz-quic,,Change tir::GetPointerType to return std::optional,23,25,5 -tir,,2022-08-16T18:58:04Z,https://github.com/apache/tvm/pull/12452,cyx-6,tir,[TIR] Expose `Struct/Tuple`-related TVM Builtins,90,0,3 -arith,,2022-08-16T17:08:03Z,https://github.com/apache/tvm/pull/12457,Lunderberg,arith,[Arith] Parse > and >= bounds in ConstIntBoundAnalyzer,39,41,2 -hotfix,,2022-08-16T15:48:12Z,https://github.com/apache/tvm/pull/12401,echuraev,hotfix,[HotFix] Op is not bound to any variables,7,4,2 -tir,,2022-08-16T07:35:31Z,https://github.com/apache/tvm/pull/12435,cyx-6,tir,[TIR] Expose Misc TIR operations to python,93,1,4 -metaschedule,,2022-08-16T01:32:04Z,https://github.com/apache/tvm/pull/12445,vinx13,metaschedule,[MetaSchedule] Add logging of usage of tensor intrinsics,11,2,4 -,,2022-08-15T17:02:35Z,https://github.com/apache/tvm/pull/12439,Hzfengsy,"tir, ux",[TIR][UX] allow override when register TensorIntrin,13,6,3 -,,2022-08-15T16:58:29Z,https://github.com/apache/tvm/pull/12369,areusch,,"Add ci_riscv image, update all to 20220810-060142-fae79bbc3",20,17,3 -,,2022-08-15T15:46:38Z,https://github.com/apache/tvm/pull/12438,leandron,"ci, aarch64",[CI][AArch64] Enable ONNX installation in ci_arm image,4,0,1 -tir,,2022-08-15T05:01:13Z,https://github.com/apache/tvm/pull/12429,cyx-6,tir,[TIR] Expose Stack-related TVM builtins in Python,69,0,2 -tir,,2022-08-15T04:58:52Z,https://github.com/apache/tvm/pull/12425,cyx-6,tir,"[TIR] Expose: `call_packed_lowered`, `call_cpacked_lowered`",56,0,2 -tir,,2022-08-14T14:43:58Z,https://github.com/apache/tvm/pull/12422,cyx-6,tir,[TIR] Allow `tir.Buffer` converted to `BufferLoad/BufferRegion` with `__getitem__`,39,2,1 -tir,,2022-08-14T14:43:38Z,https://github.com/apache/tvm/pull/12424,cyx-6,tir,[TIR] Avoid `import *` in TIR tensor intrinsic registration,32,32,10 -fix,,2022-08-14T14:43:21Z,https://github.com/apache/tvm/pull/12421,cyx-6,fix,[Fix] Fix `dtype` in Cache-Read/Write,4,2,2 -tir,,2022-08-14T14:43:00Z,https://github.com/apache/tvm/pull/12420,cyx-6,tir,[TIR] Allow converting `BufferRegion` to vectorized `BufferLoad`,32,1,2 -tir,,2022-08-14T06:15:34Z,https://github.com/apache/tvm/pull/12365,AndrewZhaoLuo,tir,[TIR] Fix assert for tensorcore int8 intrinsics,2,2,1 -,,2022-08-14T04:15:44Z,https://github.com/apache/tvm/pull/12418,cyx-6,,Add `operator()` to `support::With`,2,0,1 -fix,,2022-08-14T03:07:45Z,https://github.com/apache/tvm/pull/12423,cyx-6,fix,[Fix] Fix errors in error checking and reporting,9,7,2 -fix,,2022-08-14T03:06:33Z,https://github.com/apache/tvm/pull/12417,cyx-6,fix,[Fix] Fix precision issue in FFI converting `int/float` to `PrimExpr`,2,2,1 -,,2022-08-14T02:39:56Z,https://github.com/apache/tvm/pull/12315,huanmei9,"topi, op",[TOPI][OP]change float multiplication of resize op to integer division,102,7,3 -tir,,2022-08-14T02:23:23Z,https://github.com/apache/tvm/pull/12419,cyx-6,tir,[TIR] Expose `ScriptComplete` in header,39,3,2 -metaschedule,,2022-08-13T08:06:16Z,https://github.com/apache/tvm/pull/12408,vinx13,metaschedule,[MetaSchedule] Filter vector_load_lens based on buffer dtype,38,15,4 -,,2022-08-12T20:25:18Z,https://github.com/apache/tvm/pull/12413,driazati,"skip ci, ci","[skip ci] Revert ""[ci] Default to n=2 for test parallelism (#12376)""",4,68,4 -,,2022-08-12T20:17:21Z,https://github.com/apache/tvm/pull/12394,nverke,,Cap hexagon max con to number of HVX units,17,3,1 -lowervtcmalloc,,2022-08-12T20:16:23Z,https://github.com/apache/tvm/pull/12364,tkonolige,lowervtcmalloc,[LowerVTCMAlloc] Move LowerVtcmAlloc to after StorageRewrite,5,4,2 -,,2022-08-12T18:15:45Z,https://github.com/apache/tvm/pull/12402,Icemist,,Add sort_by_time flag to debug_executor.run method,5,1,1 -docs,,2022-08-12T17:57:09Z,https://github.com/apache/tvm/pull/12405,kparzysz-quic,docs,[docs] Update minimum compiler requirements for building from source,5,1,1 -ci,,2022-08-12T16:04:43Z,https://github.com/apache/tvm/pull/12376,driazati,ci,[ci] Default to n=2 for test parallelism,68,4,4 -,,2022-08-12T12:19:39Z,https://github.com/apache/tvm/pull/12386,driazati,,Add needs-triage label to CI Problem template,1,0,1 -pytorch,,2022-08-12T09:09:22Z,https://github.com/apache/tvm/pull/12395,shingjan,pytorch,[PyTorch] Fix all_any_common with no default input,13,2,2 -pytorch,,2022-08-12T07:02:48Z,https://github.com/apache/tvm/pull/12134,shingjan,pytorch,[PyTorch] Fix pad_common for float pad_value,36,7,2 -target,,2022-08-12T03:38:09Z,https://github.com/apache/tvm/pull/12385,zxybazh,target,[Target] Fix C5 Target Tag to Include CascadeLake Archs,11,12,1 -,,2022-08-12T03:36:47Z,https://github.com/apache/tvm/pull/12393,yelite,,Add function to get type index from Python class,37,5,4 -,,2022-08-12T02:50:06Z,https://github.com/apache/tvm/pull/12371,yangulei,"byoc, dnnl",[BYOC] [DNNL] enable in-place post-op sum in dnnl json runtime,76,23,3 -,,2022-08-11T22:21:53Z,https://github.com/apache/tvm/pull/12337,kparzysz-quic,,Update C++ standard to C++17,27,25,16 -,,2022-08-11T19:54:48Z,https://github.com/apache/tvm/pull/12387,driazati,"skip ci, ci",[skip ci][ci] Fix Jenkinsfile,30,30,1 -hexagon,,2022-08-11T19:23:06Z,https://github.com/apache/tvm/pull/12368,farshidsp,hexagon,[Hexagon] Add skip option for RPC server initialization,17,4,1 -ci,,2022-08-11T01:09:42Z,https://github.com/apache/tvm/pull/12312,driazati,ci,[ci] Box all tests in pytest-forked,5,0,1 -,,2022-08-10T16:08:11Z,https://github.com/apache/tvm/pull/12310,driazati,"ci, tvmbot",[ci][tvmbot] Fix authorization filtering,66,36,2 -byoc-dnnl,,2022-08-10T11:16:03Z,https://github.com/apache/tvm/pull/12357,crazydemo,byoc-dnnl,[BYOC-DNNL] add partition test on sum pattern,56,2,2 -,,2022-08-10T10:21:00Z,https://github.com/apache/tvm/pull/12360,Mousius,"skip ci, ci",[skip ci] [CI] Re-generate Jenkinsfile,57,57,1 -docs,,2022-08-10T09:45:07Z,https://github.com/apache/tvm/pull/12346,kuizhiqing,docs,[DOCS] fix `tvm.build` API doc layout.,1,2,1 -,,2022-08-10T09:00:03Z,https://github.com/apache/tvm/pull/12351,driazati,"ci, tvmbot",[ci][tvmbot] Ignore irrelevant Actions jobs,145,3,3 -tir,,2022-08-10T05:17:17Z,https://github.com/apache/tvm/pull/12356,masahi,tir,[TIR] Minor fix to tensor intrin description,0,4,2 -tir,,2022-08-10T02:40:20Z,https://github.com/apache/tvm/pull/12354,vinx13,tir,[TIR] Add int8 CUDA tensor core intrinsics,66,4,2 -,,2022-08-10T00:25:59Z,https://github.com/apache/tvm/pull/12349,tkonolige,"fix, storage rewrite","[FIX,STORAGE REWRITE] Rewrite buffers in let statements",65,78,5 -,,2022-08-10T00:09:17Z,https://github.com/apache/tvm/pull/12313,blackkker,"frontend, tflite",[Frontend][TFLite] Try Infer the value of shape expr to avoid dynamic,16,2,1 -node,,2022-08-09T20:04:09Z,https://github.com/apache/tvm/pull/12348,hckim96,node,[Node] fix typos in include/tvm/node/functor.h,2,2,1 -hexagon,,2022-08-09T18:52:48Z,https://github.com/apache/tvm/pull/12308,kparzysz-quic,hexagon,[Hexagon] Minor changes/fixes in codegen_hexagon.cc,22,56,1 -,,2022-08-09T17:38:27Z,https://github.com/apache/tvm/pull/12303,NaNAGISaSA,"autotvm, fix",[AutoTVM][Fix] Fix wrong axis names of data_vec,2,2,1 -community,,2022-08-09T16:09:35Z,https://github.com/apache/tvm/pull/12345,ZihengJiang,community,[COMMUNITY] Yuanjing Shi -> Reviewer,1,0,1 -tir,,2022-08-09T16:03:21Z,https://github.com/apache/tvm/pull/12259,Lunderberg,tir,[TIR] Simplify indices in InjectVirtualThread,80,11,2 -,,2022-08-09T07:45:38Z,https://github.com/apache/tvm/pull/12331,Kathryn-cat,"metaschedule, bugfix",[MetaSchedule][Bugfix] Feature: Strides of buffer access,2,2,1 -,,2022-08-09T06:22:37Z,https://github.com/apache/tvm/pull/12339,tkonolige,"fix, roofline","[FIX,ROOFLINE] Only save tir functions for roofline",5,8,1 -topi,,2022-08-09T06:22:22Z,https://github.com/apache/tvm/pull/12321,yuanfz98,topi,[Topi] add x86 schedule for batch_norm,43,0,3 -byoc-dnnl,,2022-08-09T06:20:13Z,https://github.com/apache/tvm/pull/12314,crazydemo,byoc-dnnl,[BYOC-DNNL] Bug Fix,50,38,2 -,,2022-08-09T03:57:36Z,https://github.com/apache/tvm/pull/12338,mehrdadh,"microtvm, zephyr",[microTVM][Zephyr] Fix bug: missing BOARD in CMakeCache file,18,17,1 -skip ci,,2022-08-08T20:16:45Z,https://github.com/apache/tvm/pull/12341,gigiblender,skip ci,[skip ci] Fix aws s3 cp command in the Jenkinsfile,54,54,2 -ci,,2022-08-08T18:40:03Z,https://github.com/apache/tvm/pull/12332,gigiblender,ci,[CI] Deduplicate and clean XML test reports,75,66,4 -ethosn,,2022-08-08T16:08:53Z,https://github.com/apache/tvm/pull/12317,lhutton1,ethosn,[ETHOSN] Fix output tensor ordering,49,3,2 -opencl,,2022-08-08T11:04:11Z,https://github.com/apache/tvm/pull/12328,Lunderberg,opencl,[OpenCL] Use size_t instead of int64_t for OpenCL timer count,6,6,2 -,,2022-08-06T00:46:11Z,https://github.com/apache/tvm/pull/12288,wrongtest-intellif,"tir, schedule",[TIR][Schedule] Support annotate dict typed value,105,5,7 -,,2022-08-05T22:39:33Z,https://github.com/apache/tvm/pull/11809,mehrdadh,"microtvm, arm",[microTVM][ARM] Keep microtvm testing only in QEMU Image,4,16,3 -tvmscript,,2022-08-05T20:33:38Z,https://github.com/apache/tvm/pull/12324,yelite,tvmscript,[TVMScript] Add source_paths to Doc,58,3,4 -,,2022-08-04T22:28:58Z,https://github.com/apache/tvm/pull/12306,driazati,"ci, docker",[ci][docker] Add retries for docker pull,30,3,2 -qnn,,2022-08-04T20:07:28Z,https://github.com/apache/tvm/pull/12287,mikepapadim,qnn,[QNN] Add qnn op for abs to fix wrong scale on quantize,58,21,6 -fq2i,,2022-08-04T20:06:40Z,https://github.com/apache/tvm/pull/12290,sfvaroglu,fq2i,[FQ2I] Add attrs to adaptive_avg_pool1d,7,5,2 -qnn,,2022-08-04T20:05:01Z,https://github.com/apache/tvm/pull/12301,AndrewZhaoLuo,qnn,[QNN] Fix multi batch matmuls,60,24,2 -tvmscript,,2022-08-04T18:04:21Z,https://github.com/apache/tvm/pull/12304,kparzysz-quic,tvmscript,[TVMScript] Make classes derived from ObjectPath non-nullable,11,8,1 -ethosn,,2022-08-04T10:40:16Z,https://github.com/apache/tvm/pull/12296,lhutton1,ethosn,[ETHOSN] Only use mock inference when whole graph is offloaded,43,21,1 -microtvm,,2022-08-04T02:32:29Z,https://github.com/apache/tvm/pull/12175,gromero,microtvm,[microTVM] Arduino: Fix f-strings on flash warning/error messages,2,2,1 -test,,2022-08-03T23:37:48Z,https://github.com/apache/tvm/pull/12285,huanmei9,test,[Test]fix type bug about topi unitest,1,1,1 -,,2022-08-03T18:02:52Z,https://github.com/apache/tvm/pull/12275,MoebiusMeow,"tir, cuda","[TIR][CUDA] Fix sub-warp reduction using ""max""",51,3,2 -,,2022-08-03T04:01:09Z,https://github.com/apache/tvm/pull/12282,driazati,"ci, docker",[ci][docker] Fix deploy to tlcpackstaging on Docker Hub,48,21,5 -ci,,2022-08-02T23:14:03Z,https://github.com/apache/tvm/pull/11937,driazati,ci,[ci] Specify permissions for tvm bot,60,16,4 -microtvm,,2022-08-02T23:05:23Z,https://github.com/apache/tvm/pull/12271,mehrdadh,microtvm,[microTVM]Fix dense_dsp schedule in autotuning,17,5,2 -ci,,2022-08-02T21:24:06Z,https://github.com/apache/tvm/pull/12277,valmat07,ci,"Revert ""[CI] Fix build android rpc failure in CI""",2,8,1 -metaschedule,,2022-08-02T19:23:34Z,https://github.com/apache/tvm/pull/12263,masahi,metaschedule,[MetaSchedule] Check auto tensorization applicability in MultiLevelTilingWithIntrin,99,34,7 -docker,,2022-08-02T16:23:59Z,https://github.com/apache/tvm/pull/12278,NicolaLancellotti,docker,[Docker] Update onnxoptimizer to 0.2.7,1,1,1 -tvmc,,2022-08-02T09:10:40Z,https://github.com/apache/tvm/pull/12253,lhutton1,tvmc,[TVMC] Only load extra targets when there are workspace pools,26,10,2 -pytorch,,2022-08-02T07:49:07Z,https://github.com/apache/tvm/pull/12255,NicolaLancellotti,pytorch,[PyTorch] Disable failing tests on AArch64,5,0,1 -onnx,,2022-08-02T07:46:52Z,https://github.com/apache/tvm/pull/12256,NicolaLancellotti,onnx,[ONNX] Disable failing tests on AArch64,4,0,1 -tensorflow,,2022-08-02T07:45:58Z,https://github.com/apache/tvm/pull/12257,NicolaLancellotti,tensorflow,[TensorFlow] Disable failing tests on AArch64,5,1,1 -,,2022-08-02T06:45:26Z,https://github.com/apache/tvm/pull/12265,driazati,"ci, docker",[ci][docker] Update GPU image,3,3,2 -,,2022-08-02T02:28:48Z,https://github.com/apache/tvm/pull/12273,zxybazh,"metaschedule, minor",[MetaSchedule][Minor] Fix Median Number,1,1,1 -arith,,2022-08-02T02:05:05Z,https://github.com/apache/tvm/pull/12272,vinx13,arith,[Arith] Handle bitwise_and with power of 2 in modular set,33,12,2 -,,2022-08-02T01:45:58Z,https://github.com/apache/tvm/pull/12268,driazati,,Hide registration errors in `test_myfloat`,6,1,1 -docs,,2022-08-02T00:46:02Z,https://github.com/apache/tvm/pull/12269,driazati,docs,[docs] Update installation instructions,24,44,3 -fq2i,,2022-08-01T22:50:23Z,https://github.com/apache/tvm/pull/12236,mbrookhart,fq2i,[Fq2i][ fix output type on fq2i binary ops with constant inputs,16,3,2 -,,2022-08-01T20:10:35Z,https://github.com/apache/tvm/pull/12223,mehrdadh,"microtvm, arm",[microTVM][ARM] Enable tests that were skipped unintentionally,9,4,1 -ci,,2022-08-01T17:42:05Z,https://github.com/apache/tvm/pull/12260,leandron,ci,[CI] Add setup-pytest-env.sh call to task_demo_microtvm.sh,2,0,1 -cpp-rpc,,2022-08-01T17:16:29Z,https://github.com/apache/tvm/pull/12242,yoyo-nb,cpp-rpc,[CPP-RPC] Fix GetPath to use relative file path,2,2,1 -,,2022-08-01T12:35:25Z,https://github.com/apache/tvm/pull/12138,tkonolige,"fix, tir","[FIX,TIR] Handle LetStmt in EstimateTIRFLops",28,5,3 -,,2022-08-01T08:56:49Z,https://github.com/apache/tvm/pull/12228,billishyahao,"byoc, dnnl",[BYOC][DNNL] Enable conv family fused with mish,24,6,3 -fix,,2022-07-31T18:25:04Z,https://github.com/apache/tvm/pull/12247,cyx-6,fix,[Fix] Minor modification in unittests,2,2,1 -fix,,2022-07-31T09:17:04Z,https://github.com/apache/tvm/pull/12245,cyx-6,fix,[Fix] Fix some errors in unittests,22,17,6 -,,2022-07-31T06:37:53Z,https://github.com/apache/tvm/pull/12211,woobinw,"frontend, paddle","[Frontend] [Paddle] fix bug: KeyError, can't find some parameter key",1,1,1 -fq2i,,2022-07-31T03:00:55Z,https://github.com/apache/tvm/pull/12224,mbrookhart,fq2i,[FQ2I] fix unary op output affine type in fq2i,25,12,2 -,,2022-07-30T21:33:45Z,https://github.com/apache/tvm/pull/12240,ganler,"ux, tvmsciprt",[UX][TVMSciprt] Use HTML formatter in notebook environments,17,7,1 -,,2022-07-30T17:47:58Z,https://github.com/apache/tvm/pull/12241,PragmaTwice,"relay, vm",[Relay][VM] Fix an ICHECK which never fails in ctor of VMFunction,1,1,1 -autoschedule,,2022-07-30T17:32:54Z,https://github.com/apache/tvm/pull/12239,PragmaTwice,autoschedule,[AutoSchedule] Fix misusage of an already-moved object,1,1,1 -qnn,,2022-07-30T08:28:39Z,https://github.com/apache/tvm/pull/12234,paperplanet,qnn,[QNN]remove duplicated cast op when lowering qnn.requantize op in float mode,1,4,1 -,,2022-07-30T00:12:20Z,https://github.com/apache/tvm/pull/12230,alter-xp,"ci, docker",[ci][docker] create Dockerfile.ci_riscv,93,0,1 -ci,,2022-07-29T21:37:15Z,https://github.com/apache/tvm/pull/12226,driazati,ci,[ci] Reinstall junintparser after zephyr deps,4,0,1 -ci,,2022-07-29T20:08:34Z,https://github.com/apache/tvm/pull/12216,valmat07,ci,[CI] Fix build android rpc failure in CI,7,4,1 -tir,,2022-07-29T08:00:21Z,https://github.com/apache/tvm/pull/12225,vinx13,tir,[TIR] Disallow unused rhs vars in GetAutoTensorizeMapping,29,0,2 -,,2022-07-29T07:52:55Z,https://github.com/apache/tvm/pull/12220,zxybazh,"metaschedule, minor",[MetaSchedule][Minor] Fix Comments,2,2,2 -,,2022-07-29T06:47:07Z,https://github.com/apache/tvm/pull/12217,ashutosh-arm,,Removing header arm_math.h which was moved after CMSIS upgrade,0,2,2 -,,2022-07-28T19:23:32Z,https://github.com/apache/tvm/pull/12219,tkonolige,"fix, roofline","[FIX,ROOFLINE] Handle mismatched compiled and TIR hash",2,2,1 -adreno,,2022-07-28T19:09:36Z,https://github.com/apache/tvm/pull/12214,echuraev,adreno,[Adreno] Update conv2d_nhwc test to use winograd,10,1,1 -ci,,2022-07-28T17:30:16Z,https://github.com/apache/tvm/pull/12210,areusch,ci,[ci] Attempt to fix post-merge builds on main,1,2,1 -metaschedule,,2022-07-28T09:03:27Z,https://github.com/apache/tvm/pull/12142,vinx13,metaschedule,[MetaSchedule] Integration test for CUDA AutoTensorization,123,6,3 -tflite,,2022-07-28T05:22:51Z,https://github.com/apache/tvm/pull/12145,blackkker,tflite,[TFLite] Fix _test_tflite2_quantized_depthwise_convolution is unused,63,13,1 -adreno,,2022-07-28T05:00:50Z,https://github.com/apache/tvm/pull/12202,echuraev,adreno,[Adreno] Fix winograd tests and accuracy,88,13,3 -,,2022-07-28T04:59:30Z,https://github.com/apache/tvm/pull/12167,xndcn,"relay, pytorch",[Relay][PyTorch] Add aten::lerp,26,0,2 -,,2022-07-27T23:08:26Z,https://github.com/apache/tvm/pull/12206,driazati,"ci, lint",[ci][lint] Consolidate image lookup logic,1,7,1 -,,2022-07-27T22:08:42Z,https://github.com/apache/tvm/pull/11938,driazati,"ci, docker",[ci][docker] Use RFC image tags only,18,8,2 -,,2022-07-27T20:54:00Z,https://github.com/apache/tvm/pull/12196,vinx13,,Use std::move to avoid warnings on clang-13,13,13,9 -jit,,2022-07-27T19:30:47Z,https://github.com/apache/tvm/pull/12187,kparzysz-quic,jit,"[JIT] Force finalization of JITed code, expose sf/hf runtime functions",11,0,3 -opencl,,2022-07-27T19:18:09Z,https://github.com/apache/tvm/pull/12173,valmat07,opencl,[OpenCL] Fix profiling hang for OpenCL device,90,8,4 -docs,,2022-07-27T18:09:34Z,https://github.com/apache/tvm/pull/12188,driazati,docs,[docs] Update tlcpack-sphinx-addon,1,1,1 -,,2022-07-27T17:42:40Z,https://github.com/apache/tvm/pull/12195,cconvey,"hexagon, testing",[hexagon][testing] filesystem-friendly test IDs,2,2,1 -,,2022-07-27T17:42:30Z,https://github.com/apache/tvm/pull/12194,cconvey,"runtime, hexagon",[runtime][hexagon] improved file-copy logic,30,5,3 -doc,,2022-07-27T17:36:22Z,https://github.com/apache/tvm/pull/12201,Hzfengsy,doc,[Doc] Fix pooling `dilation` arguments documents,9,0,1 -microtvm,,2022-07-27T17:34:14Z,https://github.com/apache/tvm/pull/12189,guberti,microtvm,[microTVM] Fix timeout of -1 breaking Arduino transport,6,5,3 -,,2022-07-27T12:04:30Z,https://github.com/apache/tvm/pull/12190,driazati,,Update to 0.10.0,7,7,7 -,,2022-07-27T01:52:27Z,https://github.com/apache/tvm/pull/12192,driazati,"skip ci, ci",[skip ci][ci] Skip broken android_rpc failures,6,0,1 -fix,,2022-07-26T12:10:21Z,https://github.com/apache/tvm/pull/12170,cyx-6,fix,[Fix] Fix some errors in unittests,33,37,11 -doc,,2022-07-26T06:08:37Z,https://github.com/apache/tvm/pull/12185,huajsj,doc,[Doc] Fix URL link error in pipeline executor tutorial,1,1,1 -,,2022-07-26T01:05:34Z,https://github.com/apache/tvm/pull/12183,Jobhdez,,fix typo,1,1,1 -,,2022-07-26T00:40:17Z,https://github.com/apache/tvm/pull/11953,mehrdadh,"ci, docker",[CI][docker] Add comment,3,0,1 -pytorch,,2022-07-25T23:09:48Z,https://github.com/apache/tvm/pull/12179,shingjan,pytorch,[PyTorch] Add aten::numpy_T,24,2,2 -,,2022-07-25T23:08:41Z,https://github.com/apache/tvm/pull/12168,cconvey,"hexagon, testing",[hexagon][testing] sequential input tensors,25,8,1 -byoc-dnnl,,2022-07-25T07:16:16Z,https://github.com/apache/tvm/pull/11823,crazydemo,byoc-dnnl,[BYOC-DNNL] suppport more dnnl ops,66,13,4 -,,2022-07-23T16:45:45Z,https://github.com/apache/tvm/pull/12164,cconvey,"hexagon, testing",[hexagon][testing] nonrandom tests,92,4,2 -,,2022-07-22T19:52:56Z,https://github.com/apache/tvm/pull/12154,cconvey,"hexagon, testing",[hexagon][testing] Better pytest ID strings,125,13,2 -adreno,,2022-07-22T08:40:52Z,https://github.com/apache/tvm/pull/12157,elvin-n,adreno,[Adreno] Fix winograd schedule to support prime shapes > 4,10,1,1 -,,2022-07-22T04:40:01Z,https://github.com/apache/tvm/pull/12118,wrongtest-intellif,"tvmscript, t.void",[TVMScript] Fix T.Ptr[T.void] for packed api roundtrip,25,3,5 -,,2022-07-22T03:46:58Z,https://github.com/apache/tvm/pull/12150,yincs-intellif,"arith, bugfix",[arith][BugFix] Fix simplify input PrimExpr of DetectClipBound,8,2,2 -cmsis-nn,,2022-07-21T09:25:42Z,https://github.com/apache/tvm/pull/12132,ashutosh-arm,cmsis-nn,[CMSIS-NN] Support for passing cpu flags to Arm(R) Corstone(TM)-300 s…,99,26,10 -,,2022-07-21T06:37:08Z,https://github.com/apache/tvm/pull/12147,Hzfengsy,"ux, tir, schedule",[UX][TIR][Schedule] enhance function annotation for tir primitive,9,8,2 -,,2022-07-20T15:09:54Z,https://github.com/apache/tvm/pull/12146,Hzfengsy,"skip ci, tir, schedule",[skip ci][TIR][Schedule] fix tensorize example,0,9,1 -llvm,,2022-07-19T22:12:12Z,https://github.com/apache/tvm/pull/12123,kparzysz-quic,llvm,[LLVM] Clarify the status of pointers to llvm::Module in LLVMModule,29,27,1 -microtvm,,2022-07-19T21:28:17Z,https://github.com/apache/tvm/pull/12114,guberti,microtvm,[microTVM] Arduino retry on flash failure,48,11,2 -microtvm,,2022-07-19T16:25:12Z,https://github.com/apache/tvm/pull/12074,guberti,microtvm,[microTVM] Make Arduino API server obey timeout,16,16,4 -fix,,2022-07-19T16:08:03Z,https://github.com/apache/tvm/pull/12128,ganler,fix,[Fix] post-fix incre/decre should not return reference,2,2,1 -,,2022-07-19T15:21:19Z,https://github.com/apache/tvm/pull/10941,PhilippvK,,TVMC: Add new text/relay frontend,122,0,3 -target,,2022-07-19T13:58:49Z,https://github.com/apache/tvm/pull/12121,Mousius,target,"[Target] Add ""features"" property to Target",109,1,7 -cmsis-nn,,2022-07-19T12:37:36Z,https://github.com/apache/tvm/pull/11702,PhilippvK,cmsis-nn,[CMSIS-NN] Fix typo in EmitPool2D,6,4,1 -target,,2022-07-18T19:37:20Z,https://github.com/apache/tvm/pull/12119,Mousius,target,[Target] Add target_parser to TargetKind,112,31,5 -ci,,2022-07-18T16:44:49Z,https://github.com/apache/tvm/pull/12108,driazati,ci,[ci] Re-run flaky tests on failure,24,18,3 -,,2022-07-18T16:44:18Z,https://github.com/apache/tvm/pull/12079,tkonolige,"autoscheduler, fix","[AUTOSCHEDULER,FIX] Calculate arithmetic intensity without log scale",3,3,1 -,,2022-07-16T22:11:02Z,https://github.com/apache/tvm/pull/12117,qsqqsqqsq-intellif,"tir, bugfix",[TIR][BugFix] Fix a wrong use of T.exp in test_compute_inline_opaque_…,4,4,1 -,,2022-07-16T17:08:56Z,https://github.com/apache/tvm/pull/12115,Jobhdez,,fix typo,1,1,1 -,,2022-07-16T15:10:39Z,https://github.com/apache/tvm/pull/12037,abhikran-quic,"topi, hexagon",[TOPI] [Hexagon] Uint8 Reshape and batch flatten slice ops,72,21,4 -relay,,2022-07-15T21:34:28Z,https://github.com/apache/tvm/pull/12107,mbs-octoml,relay,[Relay] Allow partial virtual device annotations.,59,34,6 -,,2022-07-15T16:51:05Z,https://github.com/apache/tvm/pull/12100,kparzysz-quic,,Add member object accessors to With<>,8,0,1 -,,2022-07-15T07:39:56Z,https://github.com/apache/tvm/pull/12104,vinx13,"relay, op","[Relay, Op] Add conv2d generic layout op strategy when meta schedule is enabled",1,1,1 -dnnl,,2022-07-15T07:39:33Z,https://github.com/apache/tvm/pull/12106,billishyahao,dnnl,[DNNL] Enable conv family fused with gelu,51,79,4 -tvmscript,,2022-07-15T00:22:33Z,https://github.com/apache/tvm/pull/12096,tkonolige,tvmscript,[TVMSCRIPT] Make ceildiv available from tvmscript,43,1,6 -,,2022-07-15T00:22:17Z,https://github.com/apache/tvm/pull/12099,jwfromm,,Fix bug that disabled cuda integer dot product.,1,1,1 -community,,2022-07-14T19:21:46Z,https://github.com/apache/tvm/pull/12090,tmoreau89,community,[COMMUNITY] Alexey Gladyshev -> Reviewer,1,0,1 -releay,,2022-07-14T19:21:27Z,https://github.com/apache/tvm/pull/12088,elvin-n,releay,[Releay] Fix on_device call for explicit virtual_device,2,0,1 -ci,,2022-07-14T19:05:21Z,https://github.com/apache/tvm/pull/12055,driazati,ci,[ci] Re-run failed tests on failure,1,0,1 -ci,,2022-07-14T19:01:39Z,https://github.com/apache/tvm/pull/12058,driazati,ci,[ci] Add a manual retry for conda setup,12,0,1 -ci,,2022-07-14T19:01:04Z,https://github.com/apache/tvm/pull/11974,driazati,ci,[ci] Override `Request` in pytests,14,1,1 -,,2022-07-14T17:54:56Z,https://github.com/apache/tvm/pull/12083,everton1984,,Use shape dtype on argreduce to determine return type.,39,1,2 -win,,2022-07-14T17:07:10Z,https://github.com/apache/tvm/pull/12091,vvchernov,win,[WIN] export void Configure(...) symbol for Windows,4,4,2 -,,2022-07-14T11:15:41Z,https://github.com/apache/tvm/pull/12064,donglinz,,Add tensorflow Einsum op converter,43,0,2 -relay,,2022-07-14T09:45:33Z,https://github.com/apache/tvm/pull/12085,mbs-octoml,relay,[Relay] Add RecoverVirtualDeviceMap helper,121,0,3 -tir,,2022-07-13T14:52:35Z,https://github.com/apache/tvm/pull/12080,wrongtest-intellif,tir,[TIR] Fold const or empty iter partition,16,14,1 -,,2022-07-13T12:08:05Z,https://github.com/apache/tvm/pull/12015,masahi,"topi, x86","[TOPI, x86] Properly handle fused ops in TE softmax schedule ",71,19,2 -cmsis_nn,,2022-07-13T10:04:41Z,https://github.com/apache/tvm/pull/12030,ashutosh-arm,cmsis_nn,[CMSIS_NN] Align CMSIS-NN in TVM to TFLu SHA,32,70,6 -llvm,,2022-07-13T01:50:02Z,https://github.com/apache/tvm/pull/12069,kparzysz-quic,llvm,"[LLVM] Update creation of llvm::DebugLoc, remove TVM_LLVM_VERSION < 70",22,11,2 -community,,2022-07-12T22:15:10Z,https://github.com/apache/tvm/pull/12076,driazati,community,[COMMUNITY] Add driazati key for release,48,0,1 -hexagon,,2022-07-12T22:09:58Z,https://github.com/apache/tvm/pull/12073,mehrdadh,hexagon,[Hexagon] Enable broken tests,0,12,4 -,,2022-07-12T19:03:59Z,https://github.com/apache/tvm/pull/12067,jikechao,,fix some typo in conv2d.py,9,9,1 -,,2022-07-12T18:19:37Z,https://github.com/apache/tvm/pull/12040,leandron,"docs, tvmc",[docs][tvmc] Fix ResNet50 model URL in tvmc tutorials,2,2,2 -qnn,,2022-07-12T16:58:11Z,https://github.com/apache/tvm/pull/12038,zhaoyang-star,qnn,[QNN] Use sigmoid Lookup Table method instead of fallback to fp32,9,1,2 -qnn,,2022-07-12T16:57:54Z,https://github.com/apache/tvm/pull/11930,zhaoyang-star,qnn,[QNN] Replace nn.leaky_relu with qnn.leaky_relu,14,3,1 -,,2022-07-12T16:57:17Z,https://github.com/apache/tvm/pull/11877,rafzi,"frontend, tflite",[Frontend][TFLite] respect out type of Shape op,23,3,2 -,,2022-07-12T01:39:05Z,https://github.com/apache/tvm/pull/12061,mbs-octoml,"aot, bug",[AOT][BUG] Only include extra headers if the constants array is needed.,7,4,1 -llvm,,2022-07-12T01:38:07Z,https://github.com/apache/tvm/pull/12054,kparzysz-quic,llvm,[LLVM] Fix build errors in CodeGenCPU::AddDebugInformation,4,3,1 -relay,,2022-07-11T21:37:20Z,https://github.com/apache/tvm/pull/10466,d-smirnov,relay,[relay] Changed 'name' field to 'registry_name' for Executor and Runtime,34,24,9 -,,2022-07-11T21:32:13Z,https://github.com/apache/tvm/pull/11905,alter-xp,"ci, docker",[ci][docker] fix the path of custom toolchain in ci_qemu for csinn2,2,2,1 -,,2022-07-11T21:03:14Z,https://github.com/apache/tvm/pull/12053,everton1984,,Fix node.func to node.funcs on parser.py,1,1,1 -,,2022-07-11T17:06:20Z,https://github.com/apache/tvm/pull/11879,rafzi,"frontend, tflite",[Frontend][TFLite] PreLU alpha can be an expr,8,5,1 -dnnl,,2022-07-11T10:09:58Z,https://github.com/apache/tvm/pull/12018,billishyahao,dnnl,[DNNL] Enable Batch Matmul,81,2,3 -docs,,2022-07-11T09:00:21Z,https://github.com/apache/tvm/pull/12050,Sunny-Island,docs,[Docs] Add xgboost version restriction,3,3,2 -,,2022-07-11T01:05:21Z,https://github.com/apache/tvm/pull/12041,kparzysz-quic,,Several type mismatch fixes and checks,93,45,8 -texture,,2022-07-08T21:44:18Z,https://github.com/apache/tvm/pull/11875,elvin-n,texture,[Texture] Add memory scope entity into graph JSON and graph executor runtime,85,18,4 -tir,,2022-07-08T17:25:56Z,https://github.com/apache/tvm/pull/12035,zxybazh,tir,[TIR] Avoid unnecessary dtype escalation in loop splitting,12,0,2 -micronpu,,2022-07-08T14:46:18Z,https://github.com/apache/tvm/pull/11965,lhutton1,micronpu,[microNPU] Test averge pool partitioning,65,0,1 -tvmc,,2022-07-08T09:09:37Z,https://github.com/apache/tvm/pull/12031,leandron,tvmc,[TVMC] Updates TVMC tutorial with input shape information,2,1,1 -tir,,2022-07-08T00:12:37Z,https://github.com/apache/tvm/pull/12034,rafzi,tir,[TIR] fix crash when comparing IntImm to None,14,0,2 -,,2022-07-07T19:44:18Z,https://github.com/apache/tvm/pull/12014,zxybazh,"metaschedule, minor",[MetaSchedule][Minor] Stability Improvements,13,13,1 -fix,,2022-07-07T19:38:27Z,https://github.com/apache/tvm/pull/12000,Codle,fix,[Fix] fix python setup.py file bug,2,18,1 -metaschedule,,2022-07-07T16:31:41Z,https://github.com/apache/tvm/pull/12016,zxybazh,metaschedule,[MetaSchedule] Support ApplyHistoryBest Direct Dispatch,45,5,4 -tir,,2022-07-07T16:29:58Z,https://github.com/apache/tvm/pull/12019,wrongtest-intellif,tir,[TIR] Revert #11428 and move loop dependent alloc extent check after region union,90,28,2 -arith,,2022-07-07T05:08:23Z,https://github.com/apache/tvm/pull/12026,vinx13,arith,[Arith] Allow constant values in InverseAffineIterMap,16,1,2 -usmp,,2022-07-06T08:39:18Z,https://github.com/apache/tvm/pull/10547,d-smirnov,usmp,[USMP] HillClimb stability patch,67,45,3 -ci,,2022-07-06T04:52:06Z,https://github.com/apache/tvm/pull/12011,Lunderberg,ci,[CI] Allow command-line argument or TVM_BUILD_PATH for C++ unittests,24,8,2 -,,2022-07-06T01:50:25Z,https://github.com/apache/tvm/pull/12007,lazycal,,Fix infercorrect layout in Layoutrewrite and improve naming.,65,29,2 -pytorch,,2022-07-06T00:11:57Z,https://github.com/apache/tvm/pull/11994,shingjan,pytorch,[PyTorch] add aten::randn,21,0,2 -,,2022-07-05T06:17:16Z,https://github.com/apache/tvm/pull/12003,blackkker,"frontend, tflite",[Frontend][TFLite] Add support for NonMaxSuppressionV5 op,104,0,2 -adreno,,2022-07-05T04:04:02Z,https://github.com/apache/tvm/pull/12005,elvin-n,adreno,[Adreno] Modify default AutoTVM params for conv2d,73,10,5 -,,2022-07-04T06:06:00Z,https://github.com/apache/tvm/pull/11815,crazydemo,,Enhancement for fold_scale_axis and dnnl_json_runtime,16,2,2 -community,,2022-07-02T23:01:58Z,https://github.com/apache/tvm/pull/11998,comaniac,community,[COMMUNITY] Hongyi Jin -> Reviewer,1,0,1 -metaschedule,,2022-07-02T11:16:25Z,https://github.com/apache/tvm/pull/11996,junrushao,metaschedule,[MetaSchedule] Enhance AutoInline for Spatial Task,106,3,2 -tir,,2022-07-02T05:00:35Z,https://github.com/apache/tvm/pull/11942,wrongtest-intellif,tir,[TIR] Add missing narrow down of index within conditions,76,11,2 -,,2022-07-01T22:24:52Z,https://github.com/apache/tvm/pull/11890,shingjan,"relay, pytorch",[Relay] [PyTorch] Add aten::tril and aten::triu,101,7,2 -llvm,,2022-07-01T22:18:10Z,https://github.com/apache/tvm/pull/11984,kparzysz-quic,llvm,[LLVM] Remove use of deprecated `PointerType::getPointerElementType()`,48,44,2 -ci,,2022-07-01T21:45:02Z,https://github.com/apache/tvm/pull/11915,driazati,ci,[ci] Don't skip index-triggered builds,1,17,2 -,,2022-07-01T21:41:44Z,https://github.com/apache/tvm/pull/11988,areusch,,Couple patches to docker/bash.sh after #11976.,2,3,1 -hexagon,,2022-07-01T19:00:43Z,https://github.com/apache/tvm/pull/11985,kparzysz-quic,hexagon,[Hexagon] Fix use of subprocess.run in _check_call_verbose,9,2,1 -tests,,2022-07-01T16:06:51Z,https://github.com/apache/tvm/pull/11982,xndcn,tests,"[tests] Fix changed var name from 'target_str' to 'target_names', NFC",2,2,1 -docker,,2022-07-01T16:03:14Z,https://github.com/apache/tvm/pull/11976,driazati,docker,[docker] Fall back to tlcpackstaging in bash.sh,9,1,1 -,,2022-07-01T16:02:12Z,https://github.com/apache/tvm/pull/11980,areusch,,Further clarify CI docs,26,106,3 -metaschedule,,2022-07-01T02:36:13Z,https://github.com/apache/tvm/pull/11975,Kathryn-cat,metaschedule,[MetaSchedule] Extract workload embedding,85,4,3 -,,2022-07-01T00:07:43Z,https://github.com/apache/tvm/pull/11978,shingjan,"pytorch, relay",[PyTorch] [Relay] Add l1 and mse loss function for pytorch frontend,70,3,3 -metaschedule,,2022-06-30T23:24:42Z,https://github.com/apache/tvm/pull/11954,junrushao,metaschedule,[MetaSchedule] Fix Task Extraction,40,11,7 -hexagon,,2022-06-30T22:14:55Z,https://github.com/apache/tvm/pull/11960,mehrdadh,hexagon,[Hexagon] Disable broken test on physical device,37,44,16 -,,2022-06-30T19:57:10Z,https://github.com/apache/tvm/pull/11857,github-actions,"ci, docker",[ci][docker] Nightly Docker image update,16,16,2 -ci,,2022-06-30T19:50:21Z,https://github.com/apache/tvm/pull/11969,gigiblender,ci,[CI] Skip some additional tests that are failing in the wheel,4,1,2 -skip ci,,2022-06-30T18:51:34Z,https://github.com/apache/tvm/pull/11968,driazati,skip ci,[skip ci] Disable flaky test `test_empty_like`,1,0,1 -ethosn,,2022-06-30T17:11:21Z,https://github.com/apache/tvm/pull/11945,lhutton1,ethosn,[ETHOSN] Use partition_for_ function when running tests,2,12,1 -,,2022-06-30T15:39:42Z,https://github.com/apache/tvm/pull/11946,lhutton1,"ethosn, cpp-rpc",[ETHOSN][CPP-RPC] Link NPU runtime in CPP RPC build,8,0,1 -vm,,2022-06-30T14:53:36Z,https://github.com/apache/tvm/pull/11963,vvchernov,vm,[VM] class Executable does not export symbols to dll,1,1,1 -micronpu,,2022-06-30T12:40:09Z,https://github.com/apache/tvm/pull/11469,lhutton1,micronpu,[microNPU] Fix offloading incompatible average pool,9,1,1 -printer,,2022-06-30T07:16:49Z,https://github.com/apache/tvm/pull/11959,wrongtest-intellif,printer,[Printer] Fix print attr of null node,37,35,1 -,,2022-06-30T07:15:26Z,https://github.com/apache/tvm/pull/11958,terrance-liang,,typo fixes,3,3,2 -,,2022-06-30T00:43:48Z,https://github.com/apache/tvm/pull/11951,altanh,"topi, x86",[TOPI][x86] support any shape and axis for log softmax,84,64,5 -,,2022-06-29T23:53:36Z,https://github.com/apache/tvm/pull/11896,shingjan,"relay, pytorch","[Relay][Pytorch] Add aten::new_ones, aten::new_full, aten::fill_, aten::pad, aten::reshape_as and atem::empty_like",130,0,2 -relay,,2022-06-29T22:24:10Z,https://github.com/apache/tvm/pull/11874,elvin-n,relay,[Relay] Handle memory scope during lowering from relay level,85,33,8 -rpc,,2022-06-29T22:07:38Z,https://github.com/apache/tvm/pull/11950,zxybazh,rpc,[RPC] Add Data & Time For RPC Tracker / Server Logging,18,0,2 -,,2022-06-29T21:20:31Z,https://github.com/apache/tvm/pull/11853,cconvey,"testing, hexagon",[testing][hexagon] Better subproc errors,22,11,1 -vm,,2022-06-29T19:02:35Z,https://github.com/apache/tvm/pull/11947,KJlaccHoeUM9l,vm,[VM] Export symbols for VirtualMachine on Windows,1,1,1 -,,2022-06-29T19:02:18Z,https://github.com/apache/tvm/pull/11935,shingjan,"pytorch, relay",[PyTorch][Relay] Add aten::cross_entropy_loss,47,0,2 -micronpu,,2022-06-29T11:26:44Z,https://github.com/apache/tvm/pull/11943,manupak,micronpu,[microNPU] increase workspace sizes for network tests,11,1,1 -metaschedule,,2022-06-29T06:33:52Z,https://github.com/apache/tvm/pull/11940,junrushao,metaschedule,[MetaSchedule] Improve Error Message in JSON Database,9,4,1 -,,2022-06-29T04:36:29Z,https://github.com/apache/tvm/pull/11909,gigiblender,,Docs bot now edits previous comments,33,5,3 -metaschedule,,2022-06-29T03:14:11Z,https://github.com/apache/tvm/pull/11931,vinx13,metaschedule,[MetaSchedule] Refactor MultiLevelTiling state to allow subclassing,60,37,3 -,,2022-06-28T19:07:45Z,https://github.com/apache/tvm/pull/11882,rafzi,"relay, virtualdevice",[Relay][VirtualDevice] Expose WithFields to Python to do proper copy in ExprMutator,35,2,3 -metaschedule,,2022-06-28T18:04:13Z,https://github.com/apache/tvm/pull/11892,zxybazh,metaschedule,[MetaSchedule] Enable Adapative Training For XGBoost Cost Model,90,17,10 diff --git a/tests/scripts/out.md b/tests/scripts/out.md deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/tests/scripts/out.pkl b/tests/scripts/out.pkl deleted file mode 100644 index d4641bf6c3275c2e5d606ddd47e5345c0ea0ec07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 391774 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

t{{}Y8EchUcN)q*ED_R)9# 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 z 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 crp``47X;c7kI7>gAk)n*2 Date: Thu, 29 Sep 2022 11:15:18 -0700 Subject: [PATCH 16/17] set op as elemwise fusable --- src/relay/op/nn/nn.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/relay/op/nn/nn.cc b/src/relay/op/nn/nn.cc index 8f13451ebd48..2165e13bc406 100644 --- a/src/relay/op/nn/nn.cc +++ b/src/relay/op/nn/nn.cc @@ -1025,7 +1025,7 @@ RELAY_REGISTER_OP("nn.layer_norm") NormalizationInferCorrectLayout) .set_support_level(1) .add_type_rel("LayerNorm", LayerNormRel) - .set_attr("TOpPattern", kInjective); + .set_attr("TOpPattern", kOutEWiseFusable); // group_norm TVM_REGISTER_NODE_TYPE(GroupNormAttrs); From bb8d1d776ae8455e11a321cb738b50a4a5c6f515 Mon Sep 17 00:00:00 2001 From: Andrew Zhao Luo Date: Wed, 4 Jan 2023 13:48:56 -0800 Subject: [PATCH 17/17] undo unnecessary packing --- src/runtime/pack_args.h | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/src/runtime/pack_args.h b/src/runtime/pack_args.h index b9a460b6870e..5291b12fa13e 100644 --- a/src/runtime/pack_args.h +++ b/src/runtime/pack_args.h @@ -31,7 +31,6 @@ #ifndef TVM_RUNTIME_PACK_ARGS_H_ #define TVM_RUNTIME_PACK_ARGS_H_ -#include #include #include @@ -44,8 +43,6 @@ namespace runtime { * \brief argument union type of 32bit. */ union ArgUnion32 { - // uint16 useful for 16 bit types like FP16. - uint16_t v_uint16[2]; int32_t v_int32; uint32_t v_uint32; float v_float32; @@ -55,8 +52,6 @@ union ArgUnion32 { * \brief argument union type of 64 bit, for use by Vulkan and Metal runtime. */ union ArgUnion64 { - // uint16 useful for 16 bit types like FP16. - uint16_t v_uint16[4]; int32_t v_int32[2]; uint32_t v_uint32[2]; float v_float32[2]; @@ -130,7 +125,6 @@ enum ArgConvertCode { INT64_TO_INT64, INT64_TO_INT32, INT64_TO_UINT32, - FLOAT64_TO_FLOAT16, FLOAT64_TO_FLOAT32, FLOAT64_TO_FLOAT64, HANDLE_TO_HANDLE @@ -146,7 +140,6 @@ inline ArgConvertCode GetArgConvertCode(DLDataType t) { } else if (t.code == kDLFloat) { if (t.bits == 64U) return FLOAT64_TO_FLOAT64; if (t.bits == 32U) return FLOAT64_TO_FLOAT32; - if (t.bits == 16U) return FLOAT64_TO_FLOAT16; } else if (t.code == kTVMOpaqueHandle) { return HANDLE_TO_HANDLE; } @@ -184,12 +177,6 @@ inline PackedFunc PackFuncVoidAddr_(F f, const std::vector& code addr[i] = &(holder[i]); break; } - case FLOAT64_TO_FLOAT16: { - holder[i].v_float32 = (args.values[i].v_float64); - holder[i].v_uint16[0] = __gnu_f2h_ieee(holder[i].v_float32); - addr[i] = &(holder[i]); - break; - } } } f(args, ret, addr); @@ -225,11 +212,6 @@ inline PackedFunc PackFuncNonBufferArg_(F f, int base, const std::vector(args.values[base + i].v_float64); break; } - case FLOAT64_TO_FLOAT16: { - holder[i].v_uint16[0] = - __gnu_f2h_ieee(static_cast(args.values[base + i].v_float64)); - break; - } case HANDLE_TO_HANDLE: { LOG(FATAL) << "not reached"; break; @@ -278,12 +260,6 @@ inline PackedFunc PackFuncPackedArg_(F f, const std::vector& cod ++ptr; break; } - case FLOAT64_TO_FLOAT16: { - *reinterpret_cast(ptr) = - __gnu_f2h_ieee(static_cast(args.values[i].v_float64)); - ++ptr; - break; - } default: { LOG(FATAL) << "not reached"; break;