Cookiee235 opened a new issue, #17870:
URL: https://github.com/apache/tvm/issues/17870

   ### Actual behavior
   ```
   Traceback (most recent call last):
     File "/data/qshenaf/remote_pc/TirFuzz/bugs/bug1.py", line 10, in <module>
       mod = tir.transform.FP8StorageLegalize()(mod)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/data/qshenaf/envs/tvm/python/tvm/ir/transform.py", line 238, in 
__call__
       return _ffi_transform_api.RunPass(self, mod)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "tvm/_ffi/_cython/./packed_func.pxi", line 339, in 
tvm._ffi._cy3.core.PackedFuncBase.__call__
     File "tvm/_ffi/_cython/./packed_func.pxi", line 270, in 
tvm._ffi._cy3.core.FuncCall
     File "tvm/_ffi/_cython/./packed_func.pxi", line 259, in 
tvm._ffi._cy3.core.FuncCall3
     File "tvm/_ffi/_cython/./base.pxi", line 185, in 
tvm._ffi._cy3.core.CHECK_CALL
     File "/data/qshenaf/envs/tvm/python/tvm/_ffi/base.py", line 468, in 
raise_last_ffi_error
       raise py_err
     File "/data/qshenaf/envs/tvm/src/tir/ir/transform.cc", line 121, in 
tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
       func = pass_func(std::move(func), mod, pass_ctx);
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File 
"/data/qshenaf/envs/tvm/src/tir/transforms/unsupported_dtype_legalize.cc", line 
796, in operator()
       return FP8StorageLegalizer().Legalize(f);
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File 
"/data/qshenaf/envs/tvm/src/tir/transforms/unsupported_dtype_legalize.cc", line 
519, in tvm::tir::StorageLegalizer::Legalize(tvm::tir::PrimFunc)
       ICHECK_EQ(func->buffer_map.size(), 0) << "This pass must be called after 
MakePackedAPI";
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   tvm.error.InternalError: Traceback (most recent call last):
     2: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
           at /data/qshenaf/envs/tvm/src/tir/ir/transform.cc:121
     1: operator()
           at 
/data/qshenaf/envs/tvm/src/tir/transforms/unsupported_dtype_legalize.cc:796
     0: tvm::tir::StorageLegalizer::Legalize(tvm::tir::PrimFunc)
           at 
/data/qshenaf/envs/tvm/src/tir/transforms/unsupported_dtype_legalize.cc:519
     File 
"/data/qshenaf/envs/tvm/src/tir/transforms/unsupported_dtype_legalize.cc", line 
519
   InternalError: Check failed: func->buffer_map.size() == 0 (2 vs. 0) : This 
pass must be called after MakePackedAPI
   ```
   
   ### Environment
   
   TVM-0.21.dev0 (latest)
   
   ### Steps to reproduce
   
   ```
   import tvm
   from tvm import te, topi, tir
   
   data = te.placeholder((1, 3, 224, 224), dtype='float32', name='data')
   op_output = topi.nn.adaptive_pool(data, output_size=(112, 112), 
pool_type='max', layout='NCHW')
   sch = tir.Schedule(te.create_prim_func([data, 
op_output]).with_attr("target", tvm.target.Target("llvm")))
   mod = tir.transform.MakePackedAPI()(sch.mod)
   print(mod)
   mod = tir.transform.FP8StorageLegalize()(mod)
   
   ```
   
   The IRs after executing the ``.
   ```
   # from tvm.script import ir as I
   # from tvm.script import tir as T
   
   @I.ir_module
   class Module:
       @T.prim_func
       def main(data: T.Buffer((1, 3, 224, 224), "float32"), adaptive_pool_max: 
T.Buffer((1, 3, 112, 112), "float32")):
           T.func_attr({"target": T.target({"keys": ["cpu"], "kind": "llvm", 
"mtriple": "x86_64-unknown-linux-gnu", "tag": ""}), "tir.noalias": 
T.bool(True)})
           # with T.block("root"):
           for ax0, ax1, ax2, ax3, rv0, rv1 in T.grid(1, 3, 112, 112, 2, 2):
               with T.block("adaptive_pool_max"):
                   v_ax0, v_ax1, v_ax2, v_ax3, v_rv0, v_rv1 = 
T.axis.remap("SSSSRR", [ax0, ax1, ax2, ax3, rv0, rv1])
                   data_1 = T.Buffer((150528,), data=data.data)
                   T.reads(data_1[v_ax0 * 150528 + v_ax1 * 50176 + v_ax2 * 448 
+ v_rv0 * 224 + v_ax3 * 2 + v_rv1:v_ax0 * 150528+ v_ax1 * 50176 + v_ax2 * 448 + 
v_rv0 * 224 + v_ax3 * 2 + v_rv1 + (v_ax0 * 150528 + v_ax1 * 50176 + v_ax2 * 448 
+ v_rv0 * 224 + v_ax3 * 2 + v_rv1 + 1 - (v_ax0 * 150528 + v_ax1 * 50176 + v_ax2 
* 448 + v_rv0 * 224 + v_ax3 * 2 + v_rv1))])
                   adaptive_pool_max_1 = T.Buffer((37632,), 
data=adaptive_pool_max.data)
                   T.writes(adaptive_pool_max_1[v_ax0 * 37632 + v_ax1 * 12544 + 
v_ax2 * 112 + v_ax3:v_ax0 * 37632 + v_ax1 * 12544 + v_ax2 * 112 + v_ax3 + 
(v_ax0 * 37632 + v_ax1 * 12544 + v_ax2 * 112 + v_ax3 + 1 - (v_ax0 * 37632 + 
v_ax1 * 12544 + v_ax2 * 112 + v_ax3))])
                   T.block_attr({"schedule_rule": 
"meta_schedule.adaptive_pool_max"})
                   with T.init():
                       adaptive_pool_max_1[v_ax0 * 37632 + v_ax1 * 12544 + 
v_ax2 * 112 + v_ax3] = T.float32(-340282346638528859811704183484516925440.0)
                   adaptive_pool_max_1[v_ax0 * 37632 + v_ax1 * 12544 + v_ax2 * 
112 + v_ax3] = T.max(adaptive_pool_max_1[v_ax0 *37632 + v_ax1 * 12544 + v_ax2 * 
112 + v_ax3], data_1[v_ax0 * 150528 + v_ax1 * 50176 + v_ax2 * 448 + v_rv0 * 224 
+ v_ax3 * 2 + v_rv1])
   ```
   
   ### Triage
   
   Please refer to the list of label tags 
[here](https://github.com/apache/tvm/wiki/Issue-Triage-Labels) to find the 
relevant tags and add them below in a bullet format (example below).
   
   * needs-triage
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to