You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2020/09/03 17:03:42 UTC

[GitHub] [incubator-tvm] FrozenGene commented on a change in pull request #6391: [AutoTVM][Ansor] Enable random fill and CPU cache flush for AutoTVM and Ansor

FrozenGene commented on a change in pull request #6391:
URL: https://github.com/apache/incubator-tvm/pull/6391#discussion_r483128177



##########
File path: python/tvm/auto_scheduler/measure.py
##########
@@ -657,9 +692,11 @@ def timed_func():
 
         if error_no == 0:
             try:
-                # TODO(FrozenGene): Update to ndarray.non-empty.
                 args = [ndarray.empty(get_const_tuple(x.shape), x.dtype, ctx) for x in
                         build_res.args]
+                random_fill = remote.get_function("tvm.contrib.random.random_fill")

Review comment:
       I think about it for a while when I implemented it. One possible way to support both ways is:
   ```python
   if not tvm.get_global_func("tvm.contrib.random.random_fill", True):
      args = [np.empty()...]
   else
      args = [np.empty()...]
      random_fill(value)
   ```
   However, `empty` can not make us get precise measure result. And as `USE_RANDOM` is set to be `ON` by default and we don't have any special reasons to turn it off until now (like we won't turn off `USE_GRAPHRUNTIME`), so I prefer only maintain current code implementation. Of course, we could have one debate here. But IMO, I like we expose the error in compilation (for example, miss symbol) rather than make it pass but get the result we don't like (for example we go to the way of `empty` but get not enough precise measure result).




----------------------------------------------------------------
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:
users@infra.apache.org