We introduce an ODE solver for the PyTorch ecosystem that can solve multiple ODEs in parallel independently from each other while achieving significant performance gains. Our implementation tracks each ODE's progress separately and is carefully optimized for GPUs and compatibility with PyTorch's JIT compiler. Its design lets researchers easily augment any aspect of the solver and collect and analyze internal solver statistics. In our experiments, our implementation is up to 4.3 times faster per step than other ODE solvers and it is robust against within-batch interactions that lead other solvers to take up to 4 times as many steps. Code available at https://github.com/martenlienen/torchode
翻译:我们为PyTorrch 生态系统引入了 ODE 求解器, 它可以在取得显著的绩效收益的同时, 彼此独立地平行解决多个 ODE 。 我们的实施工作可以分别跟踪每个 ODE 的进展, 并且对 GPUs 和 PyTorch JIT 的 JIT 编译器的兼容性进行谨慎优化。 它的设计可以让研究人员轻松地增加解答器的任何方面, 并收集和分析内部解答器统计数据。 在我们的实验中, 我们的运行速度比其他 ODE 解答器快4.3 倍, 并且能够抵御导致其他解答器采取最多4倍步骤的批内互动。 代码可以在 https://github.com/martenlien/tochode查阅 https:// github. com/martenlien/tochode 。