利用协处理器加速有限速率化学动力学:比较 GPU、MIC 和 CPU 上的向量化方法
计算物理
2018-03-28 v2 分布式、并行与集群计算
化学物理
摘要
高效的化学动力学常微分方程求解器必须考虑底层硬件可用的线程级和指令级并行性,尤其是在众核协处理器上,同时也要考虑数值效率。使用 OpenCL 的单指令多线程(SIMT)和单指令多数据(SIMD)范式实现了刚性 Rosenbrock 和非刚性 Runge-Kutta 求解器。用三个化学动力学模型在多个多核和众核平台上测量了这些并行实现的性能。进行了两项运行时基准测试,以明确确定任一方法提供的性能优势:并行计算右侧源项,以及使用 Rosenbrock 和 Runge-Kutta 求解器积分一系列恒压均质反应器。在主机多核 Xeon CPU 和众核 Xeon Phi 协处理器上使用 SIMD 并行性进行的右侧计算,比基线多线程代码快约三倍。主机和 Phi 上的 SIMT 模型比基线慢 13-35%,而 GPU 上的 SIMT 模型提供了与 Phi 上的 SIMD 模型大致相同的性能。与基线并行代码相比,两种 ODE 求解器在主机 CPU 上使用 SIMD 实现的运行时间减少了 2.5-2.7 倍,在 Xeon Phi 协处理器上减少了 4.7-4.9 倍。GPU 上的 SIMT 实现比基线多线程 CPU 代码快 1.4-1.6 倍;然而,这明显慢于主机 CPU 或 Xeon Phi 上的 SIMD 版本。三个平台之间的性能差异归因于 ODE 积分器内自适应步长引起的线程发散。分析表明,GPU 更宽的向量宽度比更窄的 Sandy Bridge 或 Xeon Phi 导致更高程度的发散。
引用
@article{arxiv.1608.05794,
title = {Accelerating finite-rate chemical kinetics with coprocessors: comparing vectorization methods on GPUs, MICs, and CPUs},
author = {Christopher P. Stone and Andrew T. Alferman and Kyle E. Niemeyer},
journal= {arXiv preprint arXiv:1608.05794},
year = {2018}
}
备注
32 pages, 11 figures