taichi kernel 运行减速 请教

如下图所示:
图一为kernel块:其properties 赋值用了两种方法,并以#-------------------------- 分开。其实这个赋值很简单
图二为不同的kernel进行运行时间观察对比。
图三和图四分别为不同for循环步骤的时间对比。

从图三和图四可以看出,在for循环前15步左右,所有的kernel块运行时间大约为0秒(除了第一次编译的时间),但16次后的for循环,properties_update就猛增到37秒,其他更复杂的kernel没有什么变化。

请问在properties_update 这么简单的赋值kernel中出现这种 减速,是因为什么呢?

初步想到的一个解决办法是先 to_numpy(),在 python scope中赋值,再 from_numpy()到 taichi scope中,但不确定是否可行。

PS: 用相同的内容回复了别人,还不能发布提问了,=/=, 所以就只能加这样一个 PS :slight_smile:




尝试了一下,利用 to_numpy 在python scope 赋值,在from_numpy 到taichi scope 中,也不行,所以有大神知道是什么原因,要怎么加速吗?

请问能否提供非截图测试代码?