`offline_cache`启用后速度依然慢

如题,启用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()