kernel中的for循环如何对指定索引并行?

假如我有一个长度为10的field, 但我只想对其中的某几个元素(例如说2,5,6,8号元素)进行并行的操作,此时我该怎么写这样一个for循环?
例如在python中我就会写

for i in [2, 5, 6, 8]:
    a_taichi_field[i] ...

但是在taichi kernel的4种for循环好像没有类似的办法?

import taichi as ti
import numpy as np
inds = ti.field(ti.i32, shape=4)
inds.from_numpy(np.array([2, 5, 6, 8]))
for i in inds:
  a_taichi_field[i] = inds[i]
1 个赞

请问这种for循环是并行的吗?看着像是串行

不好意思,我刚刚试了一下,确实是并行的