@ti.test不在多个后端执行

import taichi as ti

@ti.test(ti.cuda, ti.cpu, debug=True)
@ti.kernel
def tst(a: ti.template()):
    assert isinstance(a, ti.Matrix)

tst(ti.Vector([1, 2, 3]))

运行结果显示在cuda上运行了两次:


而如果将ti.cpu和ti.cuda反过来:
import taichi as ti

@ti.test(ti.cpu, ti.cuda, debug=True)
@ti.kernel
def tst(a: ti.template()):
    assert isinstance(a, ti.Matrix)

tst(ti.Vector([1, 2, 3]))

则显示在cpu上运行了两次:


这是bug还是我没写对?

可以这样写,都是可以的。

@ti.test(arch=[ti.cpu, ti.cuda], debug=True)
@ti.test([ti.cpu, ti.cuda], debug=True)
2 个赞