中文

基于GPU的大量独立常微分方程(ODE)系统并行积分

数学软件 2016-11-09 v1 分布式、并行与集群计算 计算物理

摘要

对大量独立常微分方程(ODE)系统进行积分的任务出现在各种科学与工程领域。对于非刚性系统,可在GPU上使用常见显式积分算法,其中各个GPU线程以不同初始条件或参数并发积分独立的ODE。一个例子是五阶自适应Runge-Kutta-Cash-Karp (RKCK)算法。在刚性ODE的情况下,标准显式算法因稳定性原因需要不切实际的小时间步长,因此通常改用隐式算法以允许较大时间步并降低计算开销。然而,典型的基于反向微分公式的高阶隐式算法(例如VODE、LSODE)涉及复杂的逻辑流,在GPU上实现时会引起严重的线程发散,限制性能。因此需要替代算法。基于GPU的Runge-Kutta-Chebyshev (RKC)算法可处理中等程度的刚性,并且根据文献结果,其性能显著快于等效CPU版本以及基于CPU的隐式算法(VODE)。在本章中,我们给出用于在GPU上积分大量独立ODE系统的RKCK与RKC算法的数学背景、实现细节及源代码。此外,展示了每种算法的简要性能比较,证明了转向基于GPU的ODE积分器的潜在益处。

关键词

引用

@article{arxiv.1611.02274,
  title  = {GPU-Based Parallel Integration of Large Numbers of Independent ODE Systems},
  author = {Kyle E Niemeyer and Chih-Jen Sung},
  journal= {arXiv preprint arXiv:1611.02274},
  year   = {2016}
}

备注

21 pages, 2 figures