如何将 field 作为 kennel 函数参数?

我从 https://forum.taichi-lang.cn/t/kernel/1997 看到,如果使用 ti.template() 作为 kernel 的类型提示,那么在参数改变的时候,函数会被重新编译一次。

有没办法把 field 直接传进去呢?就像传一个指针给 CUDA Kernel 那样。

另一个疑问是,在对 @data_oriented 类的 field 字段在重新赋值之后,kernel 中访问到的还是原有的字段,有没办法让它访问赋值后的新字段呢?

如果使用 ti.template() 作为 kernel 的类型提示,那么在参数改变的时候,函数会被重新编译一次。

你是担心两次调用传入不同的 field 会触发重新编译吗?

@data_oriented 类的 field 字段在重新赋值之后,kernel 中访问到的还是原有的字段,有没办法让它访问赋值后的新字段呢?

这句可否解释的具体点?