中文

使用 SIMD 与 SIMT 向量化评估稀疏化学动力学 Jacobian 矩阵与热化学源项

计算物理 2018-10-12 v1 分布式、并行与集群计算 化学物理

摘要

在反应流模拟中准确预测关键燃烧现象(例如贫油吹熄、熄火/点火极限及污染物生成)需要使用详细化学动力学。与交通/发电应用相关的化学动力学模型通常具有大规模和高度数值刚性,使得化学动力学 Jacobian 与热化学源项的高效评估/分解对反应流代码性能至关重要。在此我们研究使用单指令多数据 (SIMD) 和单指令多线程 (SIMT) 范式对恒压/恒容热化学源项及稀疏/稠密化学动力学 Jacobian 进行向量化评估的性能。这些在 pyJac(一个开源、可复现的代码生成平台)中实现。推导并验证了新的化学动力学控制方程公式,所得测试模型的 Jacobian 稀疏度为 28.6–92.0%。与 avx2 中央处理单元 (CPU) 上并行 OpenMP 代码相比,浅向量化 OpenCL 源速率评估加速比为 3.40–4.08 倍,稀疏与稠密化学动力学 Jacobian 评估分别增至 6.63–9.44 倍和 3.03–4.23 倍。此外,研究了数据排序的影响并提出了专为向量化评估制定的存储模式;同时研究了恒压/恒容假设及不同向量宽度对源项评估性能的影响。在 GPU 上稠密与稀疏评估加速比分别达 17.60 倍和 45.13 倍,在 CPU 上较一阶有限差分 Jacobian 方法分别达 55.11 倍和 245.63 倍。而且,稠密 Jacobian 评估在 CPU 和 GPU 上分别比先前版本 pyJac 快达 19.56 倍和 2.84 倍。

关键词

引用

@article{arxiv.1809.01029,
  title  = {Using SIMD and SIMT vectorization to evaluate sparse chemical kinetic Jacobian matrices and thermochemical source terms},
  author = {Nicholas J. Curtis and Kyle E. Niemeyer and Chih-Jen Sung},
  journal= {arXiv preprint arXiv:1809.01029},
  year   = {2018}
}

备注

53 pages, 13 figures