中文

CUDA 与 OpenACC 在大规模燃烧模拟中的性能评估

分布式、并行与集群计算 2021-08-03 v2

摘要

GPU 已攀升至超级计算机系统的顶端,令许多遗留科学代码处境艰难。如今,此类代码可移植性方面使用了多种方案,却无清晰结论何种为最佳。我们针对多物理场 CFD 代码 Alya,对两种最常见方案 CUDA 与 OpenACC 进行比较分析。重点关注燃烧问题,其为计算需求最高的 CFD 模拟之一。对代码中计算最密集的部分进行了详细分析。为便于 SIMD 执行(利于 CPU 向量化与 GPU 流处理),新建了用于矩阵组装步骤的数据结构。结果显示,CPU 代码性能提升最高达 25%。在 GPU 执行中,CUDA 在矩阵组装上比 OpenACC 快至多 2 倍。相反,在线性求解器中向量操作相关核上二者性能相近,此类操作内存复用极少。

关键词

引用

@article{arxiv.2107.11541,
  title  = {Performance assessment of CUDA and OpenACC in large scale combustion simulations},
  author = {Guillermo Oyarzun and Daniel Mira and Guillaume Houzeaux},
  journal= {arXiv preprint arXiv:2107.11541},
  year   = {2021}
}