import taichi as ti
ti.init(arch=ti.gpu)
t = 300
@ti.kernel
def test(T:ti.i32):
r = int(abs(T) / (T))
print(r)
test(t)
输出结果为0
import taichi as ti
ti.init(arch=ti.gpu)
t = 300
@ti.kernel
def test(T:ti.i32):
r = int(abs(T) / (T))
print(r)
test(t)
输出结果为0
似乎是一个和精度相关的问题,如果用cpu后端,或者cuda下开双精度
ti.init(arch = ti.cuda, default_fp=ti.f64)
就不会出错了
ti.init(arch=ti.gpu,default_fp=ti.f64)
设置默认精度为f64就好,taichi精度好像不太行