二维不等长列表该怎么设置taichi的kernel数据类型

我正在改造现有的代码,有一个数据需要输入kernel中进行,大概就是这样一个结构的数据:
[[(10, 53, 0.758785, 0), (13, 37, 0.61240494, 1)], [(13, 38, 0.6985532, 29), (13, 54, 0.73846364, 30), (29, 46, 0.7889535, 31), (29, 86, 0.7355664, 32)], [(6, 57, 0.5768994, 59)]]
最外层是一个总长度不固定的list,然后list每个元素也是长度不固定的list,最里层是固定长度为4的tuple,我该怎么定义这个数据在kernel里的输入数据类型?

Hi @chenj133 , 欢迎来到Taichi Lang 论坛。

目前解决办法就是:提前设置两个list的最大维度。

除了Dynamic, Taichi目前不支持动态变长的数据结构。而Dynamic目前只支持int32类型数据。

我感觉很奇怪,矩阵也是输入函数之前大小不固定,但是直接可以指定输入类型为ti.types.ndarray(),不用指定大小,列表应该也有类似的吧。
例如下面这个例子,可以输入任意大小的矩阵,我感觉vector应该也有类似的吧?我不要求他进入taichi的kernel后可变长度,只是要求这个list在进入kernel的类型定义那里不用提前定义固定长度就行。
@ti.kernel
def test_numpy(arr: ti.types.ndarray()):
# You can access the shape of the passed array in the kernel
for i in range(arr.shape[0]):
for j in range(arr.shape[1]):
arr[i, j] += i + j

@ti.kernel
def func_a(data:xxx):
pass

a = [[(10, 53, 0.758785, 0), (13, 37, 0.61240494, 1)], [(13, 38, 0.6985532, 29), (13, 54, 0.73846364, 30), (29, 46, 0.7889535, 31), (29, 86, 0.7355664, 32)], [(6, 57, 0.5768994, 59)]]
func_a(a)

说直接点,就是上面这个代码的xxx那里我该怎么写类型合适?每次输入的a长度没法固定,但是输入之后是不会变的。