关于Checkpointing的请教

请教各位老师,最近我学习了《DIFFTAICHI: DIFFERENTIABLE PROGRAMMING FOR PHYSICAL SIMULATION》,这篇论文为我打开了可微物理的大门,收获非常大!由于我所学尚浅,对其中一些细节存在疑惑。关于Checkpointing技术,在论文里提出了两种方法,一种是Recomputation within time steps,另一种是Segment-Wise recomputation。第一种方法我能够理解,但第二种方法我有些困惑。如果整个仿真过程划分为1000个时间步,以及5个Checkpointing,即每一部分包含200个时间步。那么我们在反向传播时需要重新计算这200个时间步吗?请教各位老师,第二种Checkpointing技术要如何实现呢?请问Taichi中是否有代码算例供我们学习参考呢?