guberti opened a new issue, #13360:
URL: https://github.com/apache/tvm/issues/13360
While fixing #13330, I discovered that I could not get
`tests/python/unittest/test_tir_te_extern_primfunc.py` to pass on `main`. When
I ran it using Python 3.8.10, it would give the error:
```
==================================== ERRORS
====================================
____ ERROR collecting tests/python/unittest/test_tir_te_extern_primfunc.py
_____
tests/python/unittest/test_tir_te_extern_primfunc.py:36: in <module>
def func_1(A: T.Buffer[(16,), "float32"], C: T.Buffer[(1,), "float32"]):
python/tvm/script/tir/prim_func.py:40: in prim_func
result = from_source(input_func)
python/tvm/script/parser.py:1368: in from_source
result = to_ast(input_func, TVMDiagnosticCtx(), parser)
../.local/lib/python3.8/site-packages/synr/compiler.py:731: in to_ast
prog = compiler.compile_module(program_ast)
../.local/lib/python3.8/site-packages/synr/compiler.py:100: in compile_module
new_func = self.compile_def(stmt)
../.local/lib/python3.8/site-packages/synr/compiler.py:174: in compile_def
params = self.compile_args_to_params(args)
../.local/lib/python3.8/site-packages/synr/compiler.py:164: in
compile_args_to_params
ty = self.compile_type(arg.annotation)
../.local/lib/python3.8/site-packages/synr/compiler.py:622: in compile_type
return self._expr2type(self.compile_expr(ty))
../.local/lib/python3.8/site-packages/synr/compiler.py:605: in _expr2type
assert isinstance(
E AssertionError: Expected subscript call to have lhs of Var, but it is
<class 'synr.ast.Attr'>
=========================== short test summary info
============================
ERROR tests/python/unittest/test_tir_te_extern_primfunc.py - AssertionError:
...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection
!!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.22s
===============================
```
As the error says, Python does not like the type declarations here:
```python
@T.prim_func
def func_1(A: T.Buffer[(16,), "float32"], C: T.Buffer[(1,), "float32"]):
# Do stuff
```
### Solution
After some debugging, I realized the test ran correctly with Python
`3.7.15`. It seems like this is an issue with Python 3.8 (and possibly future
versions too), but I haven't looked closely enough to be sure. In the meantime,
I'll work around it by using Python 3.7.
* tir:parser
--
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]