在@ti.data_oriented中使用ti.root.dynamic报错

import taichi as ti

ti.init(arch=ti.cpu)

@ti.data_oriented
class Manager():
    def __init__(self, ):
        K = ti.root.dynamic(ti.i,12, chunk_size=32)
        x = ti.field(int)
        K.place(x)
        self.test()

    @ti.kernel
    def test(self):
        S = ti.root.dynamic(ti.i,12, chunk_size=32)
        x = ti.field(int)
        S.place(x)


if __name__ == "__main__":
    manager = Manager()

在类属性里可以定义ti.root.dynamic,K可以成功创建,但是到了test函数中,S就创建失败了。报错如下

        S = ti.root.dynamic(ti.i,12, chunk_size=32)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Invalid constant scalar data type: <class 'taichi.lang.snode.SNode'>

请问是不能在类函数中创建吗,是否方法解决这个问题,感谢感谢

Taichi不支持在kenel里面创建field,只能在kernel外创建。

好的,感谢