中文

面向 FPGA 最优性能的传统科学代码到 OpenCL 的自动转换

性能 2019-01-25 v2 分布式、并行与集群计算

摘要

存在大量以 Fortran 等语言编写的传统科学代码,这些代码未经过优化,无法在 GPU 和 FPGA 等异构加速设备上获得最佳性能,而手动将此类代码移植到 OpenCL 等并行语言框架中需要耗费大量精力。我们正致力于开发一种交钥匙式、自优化的编译器,用于加速科学应用,该编译器能够自动将传统代码转换为针对异构目标的解决方案。在本文中,我们以 FPGA 作为加速设备,并在 OpenCL 编程框架的背景下进行讨论。我们展示了一种自动创建以“流式”方式执行并进行优化的内核的途径,这能在 FPGA 上提供最优性能。我们以二维浅水模型为例进行说明;具体而言,我们展示了如何使用通道在同级内核之间直接通信,以及如何使用片上内存创建模板缓冲区,从而带来显著的性能提升。我们的结果表明,与基准 CPU 实现相比,FPGA 性能更优,并且与 CPU 和 GPU 实现相比具有更好的能效。

关键词

引用

@article{arxiv.1901.00416,
  title  = {Towards Automatic Transformation of Legacy Scientific Code into OpenCL for Optimal Performance on FPGAs},
  author = {Wim Vanderbauwhede and Syed Waqar Nabi},
  journal= {arXiv preprint arXiv:1901.00416},
  year   = {2019}
}

备注

Presented: HLPGPU at HiPEAC 2018 (Manchester, UK). arXiv admin note: text overlap with arXiv:1711.04471