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 2022/09/14 21:01:30 UTC
[GitHub] [tvm] shingjan opened a new issue, #12782: [Bug] Per store feature extractor of meta schedule cannot handle TIR with storing constant tensor
shingjan opened a new issue, #12782:
URL: https://github.com/apache/tvm/issues/12782
As mentioned in the title, the per store feature extractor of meta schedule seems not be able to handle TIR with one simply block of storing constant tensor.
### Actual behavior
Per store feature extractor cannot extract any feature out of this TIR.
### Environment
Latest TVM main
### Steps to reproduce
```
import tvm
from tvm import tir
from tvm.meta_schedule.tune import TuneConfig
from tvm.script import tir as T
from tvm.meta_schedule.postproc import VerifyGPUCode
from tvm.tir.schedule import Trace, Schedule
from tvm import meta_schedule as ms
from tvm.meta_schedule import TuneContext, MeasureCandidate
from tvm.meta_schedule.arg_info import TensorInfo
from tvm.target import Target
from typing import Callable, List
# pylint: disable=invalid-name,no-member,line-too-long,too-many-nested-blocks,no-self-argument
# fmt: off
@tvm.script.ir_module
class Module:
@T.prim_func
def fused_zeros(var_T_full: T.handle) -> None:
# function attr dict
T.func_attr({"tir.noalias": True, "global_symbol": "main"})
T_full = T.match_buffer(var_T_full, [1, 12, 4096], dtype="int64", align=128)
# body
# with T.block("root")
for i0, i1, i2 in T.grid(1, 12, 4096):
with T.block("T_full"):
ax0, ax1, ax2 = T.axis.remap("SSS", [i0, i1, i2])
T.reads()
T.writes(T_full[ax0, ax1, ax2])
T_full[ax0, ax1, ax2] = T.int64(0)
# fmt: on
if __name__ == """__main__""":
extractor = ms.feature_extractor.PerStoreFeature()
def _make_context(target) -> ms.TuneContext:
return ms.TuneContext(
target=target,
num_threads=1,
)
def _make_candidate(f_sch: Callable[[], tir.Schedule]) -> ms.MeasureCandidate:
return ms.MeasureCandidate(sch=f_sch(), args_info=[])
def _create_schedule():
func = Module["fused_zeros"]
sch = tir.Schedule(func, debug_mask="all")
return sch
(feature,) = extractor.extract_from(
_make_context(Target("nvidia/geforce-rtx-3070")),
candidates=[_make_candidate(_create_schedule)],
)
feature = feature.numpy()
```
cc: @zxybazh @junrushao @vinx13
--
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.
To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org