如题,启用offline_cache
后,第一次启动的开销依然很大,远没有达到 官方doc中可视化的加速比
一个直观对比:
- 清除cache,启动后带编译的首次运行时间:~75ms
- 启用cache,二次启动后的首次运行时间:~14ms
- 无论是否启用cache,启动后第二次的运行时间:~1ms
offline_cache
启用后的首次运行时间的确缩短了很多,但依然很慢、相当慢,这个是合理的吗?
复现代码:
from time import time
import numpy as np
import taichi as ti
@ti.kernel
def add_(src: ti.template(), v: ti.f64):
for I in ti.grouped(src):
src[I] += v
def main():
ti.init(arch=ti.cpu, kernel_profiler=False)
height, width = 1520, 2688
src = ti.field(dtype=ti.f64, shape=(height, width))
src.from_numpy(np.random.random(src.shape))
ti.sync()
start = time()
add_(src, 1.0)
ti.sync()
print(f"1. Time: {(time() - start) * 1000}")
ti.sync()
start = time()
add_(src, 2.0)
ti.sync()
print(f"2. Time: {(time() - start) * 1000}")
if __name__ == "__main__":
# to clean cache: `ti cache clean -p /home/a-chenyanan/.cache/taichi/ticache`
main()