大家好,我的一个taichi 代码运行的很好,但是升级到0.8.7 后就出现了下面的错误。 大家有什么好的建议吗?谢谢!
[Taichi] version 0.8.7, llvm 10.0.0, commit 88d81df6, linux, python 3.8.3
[TaiGLSL] version 0.0.11
[Taichi] Starting on arch=cuda
[I 01/11/22 11:05:21.729 28463] [llvm_program.cpp:LlvmProgramImpl@83] CUDA max blocks per SM = 32
Traceback (most recent call last):
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 479, in build_Attribute
node.ptr = getattr(node.value.ptr, node.attr)
File "/home/jianhui/.local/lib/python3.8/site-packages/taichi_glsl/vector.py", line 498, in _vector_getattr
if ti.inside_kernel():
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/__init__.py", line 35, in __getattr__
raise AttributeError(f"module '{__name__}' has no attribute '{attr}'")
AttributeError: module 'taichi' has no attribute 'inside_kernel'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 356, in build_Call
node.ptr = node.func.ptr(*args, **keywords)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/kernel_impl.py", line 58, in decorated
return fun.__call__(*args)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/kernel_impl.py", line 177, in __call__
return transform_tree(tree, ctx)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/transform.py", line 9, in transform_tree
tree = ASTTransformer()(ctx, tree)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 473, in build_Module
node.body = [build_stmt(ctx, stmt) for stmt in list(node.body)]
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 473, in <listcomp>
node.body = [build_stmt(ctx, stmt) for stmt in list(node.body)]
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 444, in build_FunctionDef
build_stmts(ctx, node.body)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 1062, in build_stmts
result.append(build_stmt(ctx, stmt))
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 927, in build_If
node.body = build_stmts(ctx, node.body)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 1062, in build_stmts
result.append(build_stmt(ctx, stmt))
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 68, in build_Assign
node.value = build_stmt(ctx, node.value)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 484, in build_BinOp
node.left = build_stmt(ctx, node.left)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 322, in build_Call
node.args = build_stmts(ctx, node.args)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 1062, in build_stmts
result.append(build_stmt(ctx, stmt))
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 485, in build_BinOp
node.right = build_stmt(ctx, node.right)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 33, in __call__
raise TaichiCompilationError(msg)
taichi.lang.exception.TaichiCompilationError: On line 521 of file "/home/jianhui/Work/ti_FEM/Single_Phase/fem_N_Savonius.py":
out = (sample1(field, I + D.xxx) * x.x * x.y * x.z +
^^^^^
AttributeError: module 'taichi' has no attribute 'inside_kernel'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jianhui/Work/ti_FEM/Single_Phase/fem_N_Savonius.py", line 720, in <module>
update_angular_velo()
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/kernel_impl.py", line 703, in wrapped
return primal(*args, **kwargs)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/kernel_impl.py", line 631, in __call__
key = self.ensure_compiled(*args)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/kernel_impl.py", line 617, in ensure_compiled
self.materialize(key=key, args=args, arg_features=arg_features)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/kernel_impl.py", line 463, in materialize
taichi_kernel = _ti_core.create_kernel(taichi_ast_generator,
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/kernel_impl.py", line 458, in taichi_ast_generator
transform_tree(tree, ctx)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/transform.py", line 9, in transform_tree
tree = ASTTransformer()(ctx, tree)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 473, in build_Module
node.body = [build_stmt(ctx, stmt) for stmt in list(node.body)]
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 473, in <listcomp>
node.body = [build_stmt(ctx, stmt) for stmt in list(node.body)]
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 444, in build_FunctionDef
build_stmts(ctx, node.body)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 1062, in build_stmts
result.append(build_stmt(ctx, stmt))
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 873, in build_For
return ASTTransformer.build_struct_for(ctx,
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 795, in build_struct_for
node.body = build_stmts(ctx, node.body)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 1062, in build_stmts
result.append(build_stmt(ctx, stmt))
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 27, in __call__
raise e
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 24, in __call__
return method(ctx, node)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer.py", line 68, in build_Assign
node.value = build_stmt(ctx, node.value)
File "/home/jianhui/anaconda3/lib/python3.8/site-packages/taichi/lang/ast/ast_transformer_utils.py", line 33, in __call__
raise TaichiCompilationError(msg)
taichi.lang.exception.TaichiCompilationError: On line 473 of file "/home/jianhui/Work/ti_FEM/Single_Phase/fem_N_Savonius.py":
particles_v[i] = quatratic_trilinear(veloc, particles[i])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
On line 521 of file "/home/jianhui/Work/ti_FEM/Single_Phase/fem_N_Savonius.py":
out = (sample1(field, I + D.xxx) * x.x * x.y * x.z +
^^^^^
AttributeError: module 'taichi' has no attribute 'inside_kernel'