[GitHub] [incubator-tvm] masahi commented on issue #4965: [CI][Docker] pin xgboost dependency version to 0.90

2020-03-01 Thread GitBox
masahi commented on issue #4965: [CI][Docker] pin xgboost dependency version to 
0.90
URL: https://github.com/apache/incubator-tvm/pull/4965#issuecomment-593268784
 
 
   no need to do dummy commit, just fetch and rebase against master


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] cchung100m commented on issue #4950: The links not found in Depthwise Convolution tutorial

2020-03-01 Thread GitBox
cchung100m commented on issue #4950: The links not found in Depthwise 
Convolution tutorial 
URL: https://github.com/apache/incubator-tvm/issues/4950#issuecomment-593268694
 
 
   Hi @pingsutw 
   
   It seems that we need to do this work in another repo as link below.
   
   
https://github.com/tvmai/tvmai.github.io/blob/master/_posts/2017-08-22-Optimize-Deep-Learning-GPU-Operators-with-TVM-A-Depthwise-Convolution-Example.md


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] wweic commented on a change in pull request #4628: [Object] Add String container

2020-03-01 Thread GitBox
wweic commented on a change in pull request #4628: [Object] Add String container
URL: https://github.com/apache/incubator-tvm/pull/4628#discussion_r386238682
 
 

 ##
 File path: python/tvm/relay/prelude.py
 ##
 @@ -26,6 +26,42 @@
 from . import op
 
 
+class StaticTensorArrayOps(object):
 
 Review comment:
   It's a wrong commit. Just cleaned up the branch.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] wweic commented on a change in pull request #4628: [Object] Add String container

2020-03-01 Thread GitBox
wweic commented on a change in pull request #4628: [Object] Add String container
URL: https://github.com/apache/incubator-tvm/pull/4628#discussion_r386238607
 
 

 ##
 File path: include/tvm/runtime/container.h
 ##
 @@ -274,7 +304,279 @@ class ADT : public ObjectRef {
   TVM_DEFINE_OBJECT_REF_METHODS(ADT, ObjectRef, ADTObj);
 };
 
+/*! \brief An object representing string. It's POD type. */
+class StringObj : public Object {
+ public:
+  /*! \brief The pointer to string data. */
+  const char* data;
+
+  /*! \brief The length of the string object. */
+  uint64_t size;
+
+  static constexpr const uint32_t _type_index = TypeIndex::kDynamic;
+  static constexpr const char* _type_key = "runtime.String";
+  TVM_DECLARE_FINAL_OBJECT_INFO(StringObj, Object);
+
+ private:
+  /*! \brief String object which is moved from std::string container. */
+  class FromStd;
+
+  friend class String;
+};
+
+/*!
+ * \brief Reference to string objects.
+ *
+ * \code
+ *
+ * // Example to create runtime String reference object from std::string
+ * std::string s = "hello world";
+ *
+ * // You can create the reference from existing std::string
+ * String ref{std::move(s)};
+ *
+ * // You can rebind the reference to another string.
+ * ref = std::string{"hello world2"};
+ *
+ * // You can use the reference as hash map key
+ * std::unorderedcompare(other) == 0;
+  }
+
+  /*!
+   * \brief Compare is not equal to other std::string
+   *
+   * \param other The other string
+   *
+   * \return the comparison result
+   */
+  bool operator!=(const std::string& other) const { return !operator==(other); 
}
+
+  /*!
+   * \brief Compare is equal to other char string
+   *
+   * \param other The other char string
+   *
+   * \return the comparison result
+   */
+  bool operator==(const char* other) const { return compare(other) == 0; }
+
+  /*!
+   * \brief Compare is not equal to other char string
+   *
+   * \param other The other char string
+   *
+   * \return the comparison result
+   */
+  bool operator!=(const char* other) const { return !operator==(other); }
+
+  /*!
+   * \brief Compares this String object to other
+   *
+   * \param other The String to compare with.
+   *
+   * \return zero if both char sequences compare equal. negative if this appear
+   * before other, positive otherwise.
+   */
+  int compare(const String& other) const {
+return memncmp(data(), other.data(), size(), other.size());
+  }
+
+  /*!
+   * \brief Compares this String object to other
+   *
+   * \param other The string to compare with.
+   *
+   * \return zero if both char sequences compare equal. negative if this appear
+   * before other, positive otherwise.
+   */
+  int compare(const std::string& other) const {
+return memncmp(data(), other.data(), size(), other.size());
+  }
+
+  /*!
+   * \brief Compares this to other
+   *
+   * \param other The character array to compare with.
+   *
+   * \return zero if both char sequences compare equal. negative if this appear
+   * before other, positive otherwise.
+   */
+  int compare(const char* other) const {
+if (other == data()) {
+  return 0;
+}
+return memncmp(data(), other, size(), std::strlen(other));
+  }
+
+  /*!
+   * \brief Returns a pointer to the char array in the string.
+   *
+   * \return const char*
+   */
+  const char* c_str() const { return get()->data; }
+
+  /*!
+   * \brief Return the length of the string
+   *
+   * \return size_t string length
+   */
+  size_t size() const {
+const auto* ptr = get();
+if (ptr == nullptr) {
+  return 0;
+}
+return ptr->size;
+  }
+
 
 Review comment:
   done


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] ANSHUMAN87 commented on issue #4951: Conditions updated to cover better user scenarios

2020-03-01 Thread GitBox
ANSHUMAN87 commented on issue #4951: Conditions updated to cover better user 
scenarios
URL: https://github.com/apache/incubator-tvm/pull/4951#issuecomment-593258292
 
 
   @zhiics : Thanks for approving PR! I have made changes as per your feedback. 
Please check. Thanks!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] zhiics commented on a change in pull request #4628: [Object] Add String container

2020-03-01 Thread GitBox
zhiics commented on a change in pull request #4628: [Object] Add String 
container
URL: https://github.com/apache/incubator-tvm/pull/4628#discussion_r386213994
 
 

 ##
 File path: include/tvm/runtime/container.h
 ##
 @@ -274,7 +304,279 @@ class ADT : public ObjectRef {
   TVM_DEFINE_OBJECT_REF_METHODS(ADT, ObjectRef, ADTObj);
 };
 
+/*! \brief An object representing string. It's POD type. */
+class StringObj : public Object {
+ public:
+  /*! \brief The pointer to string data. */
+  const char* data;
+
+  /*! \brief The length of the string object. */
+  uint64_t size;
+
+  static constexpr const uint32_t _type_index = TypeIndex::kDynamic;
+  static constexpr const char* _type_key = "runtime.String";
+  TVM_DECLARE_FINAL_OBJECT_INFO(StringObj, Object);
+
+ private:
+  /*! \brief String object which is moved from std::string container. */
+  class FromStd;
+
+  friend class String;
+};
+
+/*!
+ * \brief Reference to string objects.
+ *
+ * \code
+ *
+ * // Example to create runtime String reference object from std::string
+ * std::string s = "hello world";
+ *
+ * // You can create the reference from existing std::string
+ * String ref{std::move(s)};
+ *
+ * // You can rebind the reference to another string.
+ * ref = std::string{"hello world2"};
+ *
+ * // You can use the reference as hash map key
+ * std::unorderedcompare(other) == 0;
+  }
+
+  /*!
+   * \brief Compare is not equal to other std::string
+   *
+   * \param other The other string
+   *
+   * \return the comparison result
+   */
+  bool operator!=(const std::string& other) const { return !operator==(other); 
}
+
+  /*!
+   * \brief Compare is equal to other char string
+   *
+   * \param other The other char string
+   *
+   * \return the comparison result
+   */
+  bool operator==(const char* other) const { return compare(other) == 0; }
+
+  /*!
+   * \brief Compare is not equal to other char string
+   *
+   * \param other The other char string
+   *
+   * \return the comparison result
+   */
+  bool operator!=(const char* other) const { return !operator==(other); }
+
+  /*!
+   * \brief Compares this String object to other
+   *
+   * \param other The String to compare with.
+   *
+   * \return zero if both char sequences compare equal. negative if this appear
+   * before other, positive otherwise.
+   */
+  int compare(const String& other) const {
+return memncmp(data(), other.data(), size(), other.size());
+  }
+
+  /*!
+   * \brief Compares this String object to other
+   *
+   * \param other The string to compare with.
+   *
+   * \return zero if both char sequences compare equal. negative if this appear
+   * before other, positive otherwise.
+   */
+  int compare(const std::string& other) const {
+return memncmp(data(), other.data(), size(), other.size());
+  }
+
+  /*!
+   * \brief Compares this to other
+   *
+   * \param other The character array to compare with.
+   *
+   * \return zero if both char sequences compare equal. negative if this appear
+   * before other, positive otherwise.
+   */
+  int compare(const char* other) const {
+if (other == data()) {
+  return 0;
+}
+return memncmp(data(), other, size(), std::strlen(other));
+  }
+
+  /*!
+   * \brief Returns a pointer to the char array in the string.
+   *
+   * \return const char*
+   */
+  const char* c_str() const { return get()->data; }
+
+  /*!
+   * \brief Return the length of the string
+   *
+   * \return size_t string length
+   */
+  size_t size() const {
+const auto* ptr = get();
+if (ptr == nullptr) {
+  return 0;
+}
+return ptr->size;
+  }
+
 
 Review comment:
   add a `bool empty() const { return size() == 0; }` member?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] zhiics commented on a change in pull request #4628: [Object] Add String container

2020-03-01 Thread GitBox
zhiics commented on a change in pull request #4628: [Object] Add String 
container
URL: https://github.com/apache/incubator-tvm/pull/4628#discussion_r386213213
 
 

 ##
 File path: python/tvm/relay/prelude.py
 ##
 @@ -26,6 +26,42 @@
 from . import op
 
 
+class StaticTensorArrayOps(object):
 
 Review comment:
   How is this related?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] zhiics commented on a change in pull request #4628: [Object] Add String container

2020-03-01 Thread GitBox
zhiics commented on a change in pull request #4628: [Object] Add String 
container
URL: https://github.com/apache/incubator-tvm/pull/4628#discussion_r386217595
 
 

 ##
 File path: include/tvm/runtime/container.h
 ##
 @@ -274,7 +304,279 @@ class ADT : public ObjectRef {
   TVM_DEFINE_OBJECT_REF_METHODS(ADT, ObjectRef, ADTObj);
 };
 
+/*! \brief An object representing string. It's POD type. */
+class StringObj : public Object {
+ public:
+  /*! \brief The pointer to string data. */
+  const char* data;
+
+  /*! \brief The length of the string object. */
+  uint64_t size;
+
+  static constexpr const uint32_t _type_index = TypeIndex::kDynamic;
+  static constexpr const char* _type_key = "runtime.String";
+  TVM_DECLARE_FINAL_OBJECT_INFO(StringObj, Object);
+
+ private:
+  /*! \brief String object which is moved from std::string container. */
+  class FromStd;
+
+  friend class String;
+};
+
+/*!
+ * \brief Reference to string objects.
+ *
+ * \code
+ *
+ * // Example to create runtime String reference object from std::string
+ * std::string s = "hello world";
+ *
+ * // You can create the reference from existing std::string
+ * String ref{std::move(s)};
+ *
+ * // You can rebind the reference to another string.
+ * ref = std::string{"hello world2"};
+ *
+ * // You can use the reference as hash map key
+ * std::unordered

[GitHub] [incubator-tvm] zhiics commented on a change in pull request #4628: [Object] Add String container

2020-03-01 Thread GitBox
zhiics commented on a change in pull request #4628: [Object] Add String 
container
URL: https://github.com/apache/incubator-tvm/pull/4628#discussion_r386210866
 
 

 ##
 File path: include/tvm/runtime/container.h
 ##
 @@ -274,7 +304,279 @@ class ADT : public ObjectRef {
   TVM_DEFINE_OBJECT_REF_METHODS(ADT, ObjectRef, ADTObj);
 };
 
+/*! \brief An object representing string. It's POD type. */
+class StringObj : public Object {
+ public:
+  /*! \brief The pointer to string data. */
+  const char* data;
+
+  /*! \brief The length of the string object. */
+  uint64_t size;
+
+  static constexpr const uint32_t _type_index = TypeIndex::kDynamic;
+  static constexpr const char* _type_key = "runtime.String";
+  TVM_DECLARE_FINAL_OBJECT_INFO(StringObj, Object);
+
+ private:
+  /*! \brief String object which is moved from std::string container. */
+  class FromStd;
+
+  friend class String;
+};
+
+/*!
+ * \brief Reference to string objects.
+ *
+ * \code
+ *
+ * // Example to create runtime String reference object from std::string
+ * std::string s = "hello world";
+ *
+ * // You can create the reference from existing std::string
+ * String ref{std::move(s)};
+ *
+ * // You can rebind the reference to another string.
+ * ref = std::string{"hello world2"};
+ *
+ * // You can use the reference as hash map key
+ * std::unordered m


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] anijain2305 merged pull request #4927: [Relay][Pass] Add inline pass

2020-03-01 Thread GitBox
anijain2305 merged pull request #4927: [Relay][Pass] Add inline pass
URL: https://github.com/apache/incubator-tvm/pull/4927
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] anijain2305 commented on issue #4927: [Relay][Pass] Add inline pass

2020-03-01 Thread GitBox
anijain2305 commented on issue #4927: [Relay][Pass] Add inline pass
URL: https://github.com/apache/incubator-tvm/pull/4927#issuecomment-593240786
 
 
   Thanks @masahi @zhiics This is merged


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[incubator-tvm] branch master updated (892dc91 -> 0fb4836)

2020-03-01 Thread anijain2305
This is an automated email from the ASF dual-hosted git repository.

anijain2305 pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tvm.git.


from 892dc91  [Doc]refine the example description of max/min/sum/tag_scope 
(#4974)
 add 0fb4836  [Relay][Pass] Add inline pass (#4927)

No new revisions were added by this update.

Summary of changes:
 include/tvm/relay/expr.h   |   9 +
 include/tvm/relay/transform.h  |   8 +
 python/tvm/relay/transform.py  |  13 +
 src/relay/ir/expr.cc   |   6 +
 src/relay/pass/call_graph.cc   |   9 +-
 src/relay/pass/call_graph.h|  12 +-
 src/relay/pass/inline.cc   | 229 +
 tests/python/relay/test_pass_inline.py | 837 +
 8 files changed, 1118 insertions(+), 5 deletions(-)
 create mode 100644 src/relay/pass/inline.cc
 create mode 100644 tests/python/relay/test_pass_inline.py



[GitHub] [incubator-tvm] tqchen commented on issue #4628: [Object] Add String container

2020-03-01 Thread GitBox
tqchen commented on issue #4628: [Object] Add String container
URL: https://github.com/apache/incubator-tvm/pull/4628#issuecomment-593235220
 
 
   @FrozenGene @icemelon9 please help to take another look. The standard lib is 
the core part of the system so we need extra caution in terms of reviewing. 
Thanks @wweic for pushing it through.
   
   @zhiics @Hzfengsy @jroesch @ZihengJiang @yzhliu  please also help to take a 
look if you have time.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[incubator-tvm] branch master updated (1c8e5b9 -> 892dc91)

2020-03-01 Thread tqchen
This is an automated email from the ASF dual-hosted git repository.

tqchen pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tvm.git.


from 1c8e5b9  [TFLITE]FLOOR_MOD & FLOOR_DIV support (#4971)
 add 892dc91  [Doc]refine the example description of max/min/sum/tag_scope 
(#4974)

No new revisions were added by this update.

Summary of changes:
 python/tvm/te/tag.py | 2 +-
 python/tvm/tir/op.py | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)



[GitHub] [incubator-tvm] tqchen merged pull request #4974: [Doc] Refine the example description of max/min/sum/tag_scope

2020-03-01 Thread GitBox
tqchen merged pull request #4974: [Doc] Refine the example description of 
max/min/sum/tag_scope
URL: https://github.com/apache/incubator-tvm/pull/4974
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] zhiics commented on a change in pull request #4951: Conditions updated to cover better user scenarios

2020-03-01 Thread GitBox
zhiics commented on a change in pull request #4951: Conditions updated to cover 
better user scenarios
URL: https://github.com/apache/incubator-tvm/pull/4951#discussion_r386208620
 
 

 ##
 File path: tests/python/relay/test_pass_alpha_equal.py
 ##
 @@ -28,6 +28,15 @@ def alpha_equal(x, y):
 """
 return analysis.alpha_equal(x, y) and analysis.structural_hash(x) == 
analysis.structural_hash(y)
 
+def alpha_equal_commutative(x, y):
+"""
+Check for commutative property of equality
+"""
+xy = analysis.alpha_equal(x, y)
+yx = analysis.alpha_equal(y, x)
+assert xy == yx
+return analysis.alpha_equal(x, y)
 
 Review comment:
   `return xy` ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] ANSHUMAN87 commented on issue #4951: Conditions updated to cover better user scenarios

2020-03-01 Thread GitBox
ANSHUMAN87 commented on issue #4951: Conditions updated to cover better user 
scenarios
URL: https://github.com/apache/incubator-tvm/pull/4951#issuecomment-593231405
 
 
   > I agree that they should be in C++, but can you add such function hook 
there?
   
   @MarisaKirisame : Thanks! I have made changes as per your comments, please 
check!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] cchung100m commented on issue #4965: [CI][Docker] pin xgboost dependency version to 0.90

2020-03-01 Thread GitBox
cchung100m commented on issue #4965: [CI][Docker] pin xgboost dependency 
version to 0.90
URL: https://github.com/apache/incubator-tvm/pull/4965#issuecomment-593227714
 
 
   @leandron 
   
   Please use the command below to submit a dummy commit, thanks.
   
   `git commit --allow-empty -m "Trigger CI"`


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] masahi opened a new pull request #4977: [Torch, QNN] Add support for quantized models via QNN

2020-03-01 Thread GitBox
masahi opened a new pull request #4977: [Torch, QNN] Add support for quantized 
models via QNN
URL: https://github.com/apache/incubator-tvm/pull/4977
 
 
   I'm writing a description and preparing an evaluation repo, this is just to 
get the CI working
   
   cc @anijain2305 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] pingsutw commented on issue #4975: Fix gpu not found when running TVM docker

2020-03-01 Thread GitBox
pingsutw commented on issue #4975: Fix gpu not found when running TVM docker
URL: https://github.com/apache/incubator-tvm/pull/4975#issuecomment-593213715
 
 
   @cchung100m Thanks for the review.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] jroesch opened a new pull request #4976: Revive the Rust + SGX refactor

2020-03-01 Thread GitBox
jroesch opened a new pull request #4976: Revive the Rust + SGX refactor
URL: https://github.com/apache/incubator-tvm/pull/4976
 
 
   Revive #2885 in order to unblock working on the Rust crates and runtime. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[incubator-tvm] branch master updated (51af454 -> 1c8e5b9)

2020-03-01 Thread zhaowu
This is an automated email from the ASF dual-hosted git repository.

zhaowu pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tvm.git.


from 51af454  [Relay][FastMath] Relay pass to use fast exp/tanh (#4873)
 add 1c8e5b9  [TFLITE]FLOOR_MOD & FLOOR_DIV support (#4971)

No new revisions were added by this update.

Summary of changes:
 python/tvm/relay/frontend/tflite.py  | 16 
 tests/python/frontend/tflite/test_forward.py | 19 +++
 2 files changed, 35 insertions(+)



[GitHub] [incubator-tvm] FrozenGene commented on issue #4971: [TFLITE]FLOOR_MOD & FLOOR_DIV support

2020-03-01 Thread GitBox
FrozenGene commented on issue #4971: [TFLITE]FLOOR_MOD & FLOOR_DIV support
URL: https://github.com/apache/incubator-tvm/pull/4971#issuecomment-593199865
 
 
   Thanks @siju-samuel @wyc-ruiker @anijain2305 It is merged now.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] FrozenGene merged pull request #4971: [TFLITE]FLOOR_MOD & FLOOR_DIV support

2020-03-01 Thread GitBox
FrozenGene merged pull request #4971: [TFLITE]FLOOR_MOD & FLOOR_DIV support
URL: https://github.com/apache/incubator-tvm/pull/4971
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] wweic commented on a change in pull request #4628: [Object] Add String container

2020-03-01 Thread GitBox
wweic commented on a change in pull request #4628: [Object] Add String container
URL: https://github.com/apache/incubator-tvm/pull/4628#discussion_r386174484
 
 

 ##
 File path: include/tvm/runtime/container.h
 ##
 @@ -274,7 +304,277 @@ class ADT : public ObjectRef {
   TVM_DEFINE_OBJECT_REF_METHODS(ADT, ObjectRef, ADTObj);
 };
 
+/*! \brief An object representing string. It's POD type. */
+class StringObj : public Object {
+ public:
+  /*! \brief The pointer to string data. */
+  const char* data;
+
+  /*! \brief The length of the string object. */
+  uint64_t size;
+
+  static constexpr const uint32_t _type_index = TypeIndex::kDynamic;
+  static constexpr const char* _type_key = "runtime.String";
+  TVM_DECLARE_FINAL_OBJECT_INFO(StringObj, Object);
+
+ private:
+  /*! \brief String object which is moved from std::string container. */
+  class FromStd;
+
+  friend class String;
+};
+
+/*!
+ * \brief Reference to string objects.
+ *
+ * \code
+ *
+ * // Example to create runtime String reference object from std::string
+ * std::string s = "hello world";
+ *
+ * // You can create the reference from existing std::string
+ * String ref{std::move(s)};
+ *
+ * // You can rebind the reference to another string.
+ * ref = std::string{"hello world2"};
+ *
+ * // You can use the reference as hash map key
+ * std::unorderedcompare(other) == 0;
+  }
+
+  /*!
+   * \brief Compare is not equal to other std::string
+   *
+   * \param other The other string
+   *
+   * \return the comparison result
+   */
+  bool operator!=(const std::string& other) const { return !operator==(other); 
}
+
+  /*!
+   * \brief Compare is equal to other char string
+   *
+   * \param other The other char string
+   *
+   * \return the comparison result
+   */
+  bool operator==(const char* other) const { return compare(other) == 0; }
+
+  /*!
+   * \brief Compare is not equal to other char string
+   *
+   * \param other The other char string
+   *
+   * \return the comparison result
+   */
+  bool operator!=(const char* other) const { return !operator==(other); }
+
+  /*!
+   * \brief Compares this String object to other
+   *
+   * \param other The String to compare with.
+   *
+   * \return zero if both char sequences compare equal. negative if this appear
+   * before other, positive otherwise.
+   */
+  int compare(const String& other) const {
+return memncmp(data(), other.data(), size(), other.size());
+  }
+
+  /*!
+   * \brief Compares this String object to other
+   *
+   * \param other The string to compare with.
+   *
+   * \return zero if both char sequences compare equal. negative if this appear
+   * before other, positive otherwise.
+   */
+  int compare(const std::string& other) const {
+return memncmp(data(), other.data(), size(), other.size());
+  }
+
+  /*!
+   * \brief Compares this to other
+   *
+   * \param other The character array to compare with.
+   *
+   * \return zero if both char sequences compare equal. negative if this appear
+   * before other, positive otherwise.
+   */
+  int compare(const char* other) const {
+if (other == data()) {
+  return 0;
+}
+return memncmp(data(), other, size(), std::strlen(other));
+  }
+
+  /*!
+   * \brief Returns a pointer to the char array in the string.
+   *
+   * \return const char*
+   */
+  const char* c_str() const { return get()->data; }
+
+  /*!
+   * \brief Return the length of the string
+   *
+   * \return size_t string length
+   */
+  size_t size() const {
+const auto* ptr = get();
+if (ptr == nullptr) {
+  return 0;
+}
+return ptr->size;
+  }
+
+  /*!
+   * \brief Return the length of the string
+   *
+   * \return size_t string length
+   */
+  size_t length() const { return size(); }
+
+  /*!
+   * \brief Return the data pointer
+   *
+   * \return const char* data pointer
+   */
+  const char* data() const { return get()->data; }
+
+  /*!
+   * \brief Convert String to an std::sting object
+   *
+   * \return std::string
+   */
+  operator std::string() const { return std::string{get()->data, size()}; }
+
+  TVM_DEFINE_OBJECT_REF_METHODS(String, ObjectRef, StringObj);
+
+ private:
+  /*! \return the internal StringObj pointer */
+  const StringObj* get() const { return operator->(); }
+
+  /*!
+   * \brief Compare two char sequence
+   *
+   * \param lhs Pointers to the char array to compare
+   * \param rhs Pointers to the char array to compare
+   * \param lhs_count Length of the char array to compare
+   * \param rhs_count Length of the char array to compare
+   * \return int zero if both char sequences compare equal. negative if this
+   * appear before other, positive otherwise.
+   */
+  static int memncmp(const char* lhs, const char* rhs, size_t lhs_count,
+ size_t rhs_count);
+};
+
+/*! \brief An object representing string moved from std::string. */
+class StringObj::FromStd : public StringObj {
+ public:
+  /*!
+   * \brief Construct a new FromStd object
+   *
+   * \par

[GitHub] [incubator-tvm] sewardto commented on issue #4972: Performance regression of quantization on CUDA after [Relay][AutoTVM] Relay op strategy (#4644)

2020-03-01 Thread GitBox
sewardto commented on issue #4972: Performance regression of quantization on 
CUDA after [Relay][AutoTVM] Relay op strategy (#4644) 
URL: https://github.com/apache/incubator-tvm/issues/4972#issuecomment-593186968
 
 
   The full precision resnet18v1 model, however, runs well on CUDA after that 
commit. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[incubator-tvm] branch master updated: [Relay][FastMath] Relay pass to use fast exp/tanh (#4873)

2020-03-01 Thread zhic
This is an automated email from the ASF dual-hosted git repository.

zhic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tvm.git


The following commit(s) were added to refs/heads/master by this push:
 new 51af454  [Relay][FastMath] Relay pass to use fast exp/tanh (#4873)
51af454 is described below

commit 51af454ad7f97a49b19bd02830edcdff9379c58f
Author: Animesh Jain 
AuthorDate: Sun Mar 1 13:57:24 2020 -0800

[Relay][FastMath] Relay pass to use fast exp/tanh (#4873)

* [Relay][FastMath] Relay pass to use fast exp/tanh

* Adding required_pass to the tests.

* FastMath test changes.
---
 include/tvm/relay/transform.h |  7 +++
 python/tvm/relay/transform.py | 16 ++-
 src/relay/backend/build_module.cc |  3 ++
 src/relay/op/tensor/unary.cc  | 22 +
 src/relay/pass/fast_math.cc   | 79 +++
 src/relay/pass/pattern_util.h | 10 
 tests/python/relay/test_pass_fast_math.py | 52 
 topi/include/topi/elemwise.h  |  7 +--
 topi/python/topi/math.py  | 16 +++
 topi/src/topi.cc  |  5 +-
 10 files changed, 211 insertions(+), 6 deletions(-)

diff --git a/include/tvm/relay/transform.h b/include/tvm/relay/transform.h
index 8d886aa..2862800 100644
--- a/include/tvm/relay/transform.h
+++ b/include/tvm/relay/transform.h
@@ -164,6 +164,13 @@ TVM_DLL Pass PartialEval();
 TVM_DLL Pass SimplifyInference();
 
 /*!
+ * \brief Replaces non linear activation functions with their fast but 
approximate counterparts.
+ *
+ * \return The Pass.
+ */
+TVM_DLL Pass FastMath();
+
+/*!
  * \brief Infer the type of an expression.
  *
  * The result of type checking is a new expression with unambigous
diff --git a/python/tvm/relay/transform.py b/python/tvm/relay/transform.py
index 45535af..f773835 100644
--- a/python/tvm/relay/transform.py
+++ b/python/tvm/relay/transform.py
@@ -57,7 +57,8 @@ def build_config(opt_level=2,
 "CanonicalizeCast": 3,
 "EliminateCommonSubexpr": 3,
 "CombineParallelConv2D": 4,
-"CombineParallelDense": 4
+"CombineParallelDense": 4,
+"FastMath": 4
 }
 
 fallback_device : int, str, or tvmContext, optional
@@ -175,11 +176,22 @@ def SimplifyInference():
 Returns
 ---
 ret: tvm.relay.Pass
-The registered to perform operator simplification.
+The registered pass to perform operator simplification.
 """
 return _transform.SimplifyInference()
 
 
+def FastMath():
+""" Converts the expensive non linear functions to their fast but 
approximate counterparts.
+
+Returns
+---
+ret: tvm.relay.Pass
+The registered pass to perform fast math operations.
+"""
+return _transform.FastMath()
+
+
 def CanonicalizeOps():
 """Canonicalize special operators to basic operators.
 This can simplify followed analysis, e.g. expanding bias_add to
diff --git a/src/relay/backend/build_module.cc 
b/src/relay/backend/build_module.cc
index ff64d4a..0c0a8b8 100644
--- a/src/relay/backend/build_module.cc
+++ b/src/relay/backend/build_module.cc
@@ -305,6 +305,9 @@ class RelayBuildModule : public runtime::ModuleNode {
 if (targets.size() == 1) {
   pass_seqs.push_back(transform::AlterOpLayout());
 }
+
+// Fast math optimizations.
+pass_seqs.push_back(transform::FastMath());
 pass_seqs.push_back(transform::FoldConstant());
 
 // Create a sequential pass and perform optimizations.
diff --git a/src/relay/op/tensor/unary.cc b/src/relay/op/tensor/unary.cc
index 2c73458..1169fa8 100644
--- a/src/relay/op/tensor/unary.cc
+++ b/src/relay/op/tensor/unary.cc
@@ -95,6 +95,17 @@ RELAY_REGISTER_UNARY_OP("exp")
 .set_attr("FTVMCompute", RELAY_UNARY_COMPUTE(topi::exp));
 
 
+RELAY_REGISTER_UNARY_OP("fast_exp")
+.describe(R"code(Returns the fast_exp input array, computed element-wise.
+
+.. math::
+   \fast_exp(x)
+
+)code" TVM_ADD_FILELINE)
+.set_support_level(1)
+.set_attr("FTVMCompute", RELAY_UNARY_COMPUTE(topi::fast_exp));
+
+
 RELAY_REGISTER_UNARY_OP("erf")
 .describe(R"code(Returns the error function value for input array, computed 
element-wise.
 
@@ -250,6 +261,17 @@ RELAY_REGISTER_UNARY_OP("tanh")
 .set_attr("FTVMCompute", RELAY_UNARY_COMPUTE(topi::tanh));
 
 
+RELAY_REGISTER_UNARY_OP("fast_tanh")
+.describe(R"code(Returns the fast_tanh of input array, computed element-wise.
+
+.. math::
+   Y = sinh(X) / cosh(X)
+
+)code" TVM_ADD_FILELINE)
+.set_support_level(1)
+.set_attr("FTVMCompute", RELAY_UNARY_COMPUTE(topi::fast_tanh));
+
+
 RELAY_REGISTER_UNARY_OP("negative")
 .describe(R"code(Returns the numeric negative of input array, computed 
element-wise.
 
diff --git a/src/relay/pass/fast_math.cc b/src/relay/pass/fast_math.cc
new file mode 100644
index 000..898f760
--- /dev/null
+++ b/src/

[GitHub] [incubator-tvm] zhiics merged pull request #4873: [Relay][FastMath] Relay pass to use fast exp/tanh

2020-03-01 Thread GitBox
zhiics merged pull request #4873: [Relay][FastMath] Relay pass to use fast 
exp/tanh
URL: https://github.com/apache/incubator-tvm/pull/4873
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] pingsutw opened a new pull request #4975: Fix gpu not found when running TVM docker

2020-03-01 Thread GitBox
pingsutw opened a new pull request #4975: Fix gpu not found when running TVM 
docker
URL: https://github.com/apache/incubator-tvm/pull/4975
 
 
   When running dockerfile.demo_gpu, `nvidia-smi` command always not found.
   Because we didn't declare `DOCKER_IMAGE_NAME`, so we always use docker 
instead of nvidia-docker
   change `DOCKER_IMAGE_NAME` to `CONTAINER_TYPE`.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] comaniac commented on issue #4972: Performance regression of quantization on CUDA after [Relay][AutoTVM] Relay op strategy (#4644)

2020-03-01 Thread GitBox
comaniac commented on issue #4972: Performance regression of quantization on 
CUDA after [Relay][AutoTVM] Relay op strategy (#4644) 
URL: https://github.com/apache/incubator-tvm/issues/4972#issuecomment-593137397
 
 
   After the op strategy the schedule configs on top hub are no longer 
compatible. Since only LLVM configs have been updated, other targets like CUDA 
will use default schedule configs and result in performance regression.
   
   Sent with http://githawk.com";>GitHawk


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] MarisaKirisame commented on issue #4951: Conditions updated to cover better user scenarios

2020-03-01 Thread GitBox
MarisaKirisame commented on issue #4951: Conditions updated to cover better 
user scenarios
URL: https://github.com/apache/incubator-tvm/pull/4951#issuecomment-593122507
 
 
   I agree that they should be in C++, but can you add such function hook there?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[incubator-tvm] branch master updated: [TOPI] fix docs errors (#4973)

2020-03-01 Thread tqchen
This is an automated email from the ASF dual-hosted git repository.

tqchen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tvm.git


The following commit(s) were added to refs/heads/master by this push:
 new 900d99c  [TOPI] fix docs errors (#4973)
900d99c is described below

commit 900d99cd9fa7367756b1d6b0682ac032759a8e39
Author: zhengdi 
AuthorDate: Mon Mar 2 00:33:59 2020 +0800

[TOPI] fix docs errors (#4973)
---
 topi/python/topi/arm_cpu/injective.py | 2 +-
 topi/python/topi/cuda/injective.py| 2 +-
 topi/python/topi/cuda/softmax.py  | 2 +-
 topi/python/topi/generic/injective.py | 2 +-
 topi/python/topi/hls/injective.py | 2 +-
 topi/python/topi/opengl/injective.py  | 2 +-
 topi/python/topi/opengl/softmax.py| 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/topi/python/topi/arm_cpu/injective.py 
b/topi/python/topi/arm_cpu/injective.py
index 696b708..9665200 100644
--- a/topi/python/topi/arm_cpu/injective.py
+++ b/topi/python/topi/arm_cpu/injective.py
@@ -78,7 +78,7 @@ def schedule_concatenate(outs):
 Parameters
 --
 outs: Array of Tensor
-  The computation graph description of reduce in the format
+  The computation graph description of concatenate in the format
   of an array of tensors.
 
 Returns
diff --git a/topi/python/topi/cuda/injective.py 
b/topi/python/topi/cuda/injective.py
index 303fe5f..bd3e01d 100644
--- a/topi/python/topi/cuda/injective.py
+++ b/topi/python/topi/cuda/injective.py
@@ -72,7 +72,7 @@ def schedule_injective(outs):
 Parameters
 --
 outs: Array of Tensor
-  The computation graph description of reduce in the format
+  The computation graph description of injective in the format
   of an array of tensors.
 
 Returns
diff --git a/topi/python/topi/cuda/softmax.py b/topi/python/topi/cuda/softmax.py
index ded3ff9..54d5bfb 100644
--- a/topi/python/topi/cuda/softmax.py
+++ b/topi/python/topi/cuda/softmax.py
@@ -26,7 +26,7 @@ def schedule_softmax(outs):
 Parameters
 --
 outs: Array of Tensor
-  The computation graph description of reduce in the format
+  The computation graph description of softmax in the format
   of an array of tensors.
 
 Returns
diff --git a/topi/python/topi/generic/injective.py 
b/topi/python/topi/generic/injective.py
index 50de798..fa6aee4 100644
--- a/topi/python/topi/generic/injective.py
+++ b/topi/python/topi/generic/injective.py
@@ -45,7 +45,7 @@ def schedule_injective(outs):
 Parameters
 --
 outs: Array of Tensor
-  The computation graph description of reduce in the format
+  The computation graph description of injective in the format
   of an array of tensors.
 
 Returns
diff --git a/topi/python/topi/hls/injective.py 
b/topi/python/topi/hls/injective.py
index 6d0c6f4..4c1fdf4 100644
--- a/topi/python/topi/hls/injective.py
+++ b/topi/python/topi/hls/injective.py
@@ -45,7 +45,7 @@ def schedule_injective(outs):
 Parameters
 --
 outs: Array of Tensor
-  The computation graph description of reduce in the format
+  The computation graph description of injective in the format
   of an array of tensors.
 
 Returns
diff --git a/topi/python/topi/opengl/injective.py 
b/topi/python/topi/opengl/injective.py
index 3d45247..a5944f7 100644
--- a/topi/python/topi/opengl/injective.py
+++ b/topi/python/topi/opengl/injective.py
@@ -42,7 +42,7 @@ def schedule_injective(outs):
 Parameters
 --
 outs: Array of Tensor
-  The computation graph description of reduce in the format
+  The computation graph description of injective in the format
   of an array of tensors.
 
 Returns
diff --git a/topi/python/topi/opengl/softmax.py 
b/topi/python/topi/opengl/softmax.py
index e725134..7b15a53 100644
--- a/topi/python/topi/opengl/softmax.py
+++ b/topi/python/topi/opengl/softmax.py
@@ -24,7 +24,7 @@ def schedule_softmax(outs):
 Parameters
 --
 outs: Array of Tensor
-  The computation graph description of reduce in the format
+  The computation graph description of softmax in the format
   of an array of tensors.
 
 Returns



[GitHub] [incubator-tvm] tqchen commented on issue #4973: [TOPI] fix docs errors

2020-03-01 Thread GitBox
tqchen commented on issue #4973: [TOPI] fix docs errors
URL: https://github.com/apache/incubator-tvm/pull/4973#issuecomment-593116530
 
 
   Thanks @vv1133 !


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] tqchen merged pull request #4973: [TOPI] fix docs errors

2020-03-01 Thread GitBox
tqchen merged pull request #4973: [TOPI] fix docs errors
URL: https://github.com/apache/incubator-tvm/pull/4973
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] ANSHUMAN87 commented on issue #4951: Conditions updated to cover better user scenarios

2020-03-01 Thread GitBox
ANSHUMAN87 commented on issue #4951: Conditions updated to cover better user 
scenarios
URL: https://github.com/apache/incubator-tvm/pull/4951#issuecomment-593109290
 
 
   > can you, in tests/python/relay/test_pass_alpha_equal.py
   > def test_alpha_equal(x, y):
   > xy = alpha_equal(x, y)
   > yx = alpha_equal(y, x)
   > assert xy == yx
   > return xy
   > 
   > and use test_alpha_equal for those tests?
   
   @MarisaKirisame : Thanks for such detailed description. I got your point 
from the last comment. But one of these scenarios is special. It was not 
possible to hit from python test cases. That is the reason i added in cpp test 
case. And i believe that the unit test cases should be in cpp, not in python, 
as the back-end implementations are in cpp. Python test cases should be used 
for functional tests. But that is my belief. I hope i didn't misunderstood your 
comment. Please help me clarify if i am mistaken. Thanks a lot!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] Ethan-Yan27 commented on issue #4974: [Doc] Refine the example description of max/min/sum/tag_scope

2020-03-01 Thread GitBox
Ethan-Yan27 commented on issue #4974: [Doc] Refine the example description of 
max/min/sum/tag_scope
URL: https://github.com/apache/incubator-tvm/pull/4974#issuecomment-593102810
 
 
   @tqchen Could you please review the PR, thanks!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] Ethan-Yan27 opened a new pull request #4974: [Doc] Refine the example description of max/min/sum/tag_scope

2020-03-01 Thread GitBox
Ethan-Yan27 opened a new pull request #4974: [Doc] Refine the example 
description of max/min/sum/tag_scope
URL: https://github.com/apache/incubator-tvm/pull/4974
 
 
   Try to make the API used in example description clearer.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] FrozenGene commented on issue #4803: [WIP][Frontend] Asymmetric padding of convolution support

2020-03-01 Thread GitBox
FrozenGene commented on issue #4803: [WIP][Frontend] Asymmetric padding of 
convolution support
URL: https://github.com/apache/incubator-tvm/pull/4803#issuecomment-593093016
 
 
   > Sorry for the delay. I could not get to it yesterday. I will get it done 
in 2 days.
   
   No worries. Just do it as your plan.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] MarisaKirisame commented on issue #4951: Conditions updated to cover better user scenarios

2020-03-01 Thread GitBox
MarisaKirisame commented on issue #4951: Conditions updated to cover better 
user scenarios
URL: https://github.com/apache/incubator-tvm/pull/4951#issuecomment-593090573
 
 
   can you, in tests/python/relay/test_pass_alpha_equal.py
   def test_alpha_equal(x, y):
 xy = alpha_equal(x, y)
 yx = alpha_equal(y, x)
 assert xy == yx
 return xy
   
   and use test_alpha_equal for those tests?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [incubator-tvm] ANSHUMAN87 commented on issue #4951: Conditions updated to cover better user scenarios

2020-03-01 Thread GitBox
ANSHUMAN87 commented on issue #4951: Conditions updated to cover better user 
scenarios
URL: https://github.com/apache/incubator-tvm/pull/4951#issuecomment-593077405
 
 
   @MarisaKirisame , @zhiics : Thanks for your efforts in reviewing code and 
your valuable comments. I have handled all your comments. Please correct me if 
i am mistaken anyplace. Thanks!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services