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/07/19 18:49:11 UTC
[GitHub] [tvm] tkonolige opened a new issue, #12135: [Bug] Metaschedule nonexistent error message
tkonolige opened a new issue, #12135:
URL: https://github.com/apache/tvm/issues/12135
Using this test script:
```python
import tvm
import tempfile
import tvm.script.tir as T
@T.prim_func
def bad_message(
B: T.Buffer[(64), "float32"],
B_pack: T.Buffer[(8, 8), "float32"],
):
with T.block("root"):
for jo in range(8):
for ji in range(8):
B_pack[jo, ji] = B[jo * 8 + ji]
def test_bad_message():
with tempfile.TemporaryDirectory() as tmp:
database = tvm.meta_schedule.database.JSONDatabase(
tmp + "/workload.json", tmp + "/record.json"
)
s = tvm.meta_schedule.tune_tir(
bad_message,
target="llvm -mcpu=znver3 -num-cores=12",
config=tvm.meta_schedule.TuneConfig(
max_trials_global=1000,
max_trials_per_task=1000,
num_trials_per_iter=64,
),
work_dir=tmp,
database=database,
runner=tvm.meta_schedule.runner.LocalRunner(),
)
if __name__ == "__main__":
test_bad_message()
```
gives the following message:
```
2022-07-19 11:46:33.549 INFO Logging directory: /tmp/tmpss9867du/logs
2022-07-19 11:46:33.550 INFO Logging directory: /tmp/tmpss9867du/logs
2022-07-19 11:46:33.550 INFO Working directory: /tmp/tmpss9867du
2022-07-19 11:46:33.551 INFO LocalBuilder: max_workers = 12
2022-07-19 11:46:33.900 INFO Initializing Task #0: "main"
Traceback (most recent call last):
File "test_bad_error_message.py", line 35, in <module>
test_bad_message()
File "test_bad_error_message.py", line 21, in test_bad_message
s = tvm.meta_schedule.tune_tir(
File "tvm/python/tvm/meta_schedule/tune.py", line 414, in tune_tir
database = tune_extracted_tasks(
File "tvm/python/tvm/meta_schedule/tune.py", line 350, in tune_extracted_tasks
task_scheduler.tune()
File "tvm/python/tvm/meta_schedule/task_scheduler/task_scheduler.py", line 72, in tune
_ffi_api.TaskSchedulerTune(self) # type: ignore # pylint: disable=no-member
File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
File "tvm/_ffi/_cython/./packed_func.pxi", line 262, in tvm._ffi._cy3.core.FuncCall
File "tvm/_ffi/_cython/./packed_func.pxi", line 251, in tvm._ffi._cy3.core.FuncCall3
File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
tvm._ffi.base.TVMError: TVMError:
```
Its unclear what exactly the error is here.
@junrushao1994 @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
[GitHub] [tvm] vinx13 commented on issue #12135: [Bug] Metaschedule nonexistent error message
Posted by GitBox <gi...@apache.org>.
vinx13 commented on issue #12135:
URL: https://github.com/apache/tvm/issues/12135#issuecomment-1189445267
cc @zxybazh
--
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
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] zxybazh commented on issue #12135: [Bug] Metaschedule nonexistent error message
Posted by GitBox <gi...@apache.org>.
zxybazh commented on issue #12135:
URL: https://github.com/apache/tvm/issues/12135#issuecomment-1195889152
Corrected TIR would not cause the problem, please defined the write buffer for root block as follows:
```
@tvm.script.ir_module
class Module:
@T.prim_func
def bad_message(
B: T.Buffer[(64), "float32"],
B_pack: T.Buffer[(8, 8), "float32"],
):
with T.block("root"):
T.reads()
T.writes()
for jo in range(8):
for ji in range(8):
with T.block():
vo, vi = T.axis.remap("SS", [jo, ji])
B_pack[vo, vi] = B[vo * 8 + vi]
```
And still the problem lies in bad message for error reporting, would work on that later.
--
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
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [tvm] zxybazh commented on issue #12135: [Bug] Metaschedule nonexistent error message
Posted by GitBox <gi...@apache.org>.
zxybazh commented on issue #12135:
URL: https://github.com/apache/tvm/issues/12135#issuecomment-1192986103
Hi thanks for reporting this issue, I think you may correct the PrimFunc by removing the root block definition and variable binding as follows:
```
@T.prim_func
def bad_message(
B: T.Buffer[(64), "float32"],
B_pack: T.Buffer[(8, 8), "float32"],
):
for jo in range(8):
for ji in range(8):
with T.block():
vo, vi = T.axis.remap("SS", [jo, ji])
B_pack[jo, ji] = B[jo * 8 + ji]
```
As for the error here, I did a bit dig in and found it was triggered when `Autoinline` was applied to the root block, which would throw a `RootBlockError` because the primitive does not operate on the root block. Would like to confirm with @vinx13 if this is designated behaviour? It can be reproduced by adding ` with T.block("root"):` before the for loop in primfunc.
--
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
For queries about this service, please contact Infrastructure at:
users@infra.apache.org