[论文解读] An Exploration of OpenCL for a Numerical Relativity Application
本文通过将用于数值相对论的时域Teukolsky方程求解器移植到多种CPU和GPU上,评估了OpenCL在高性能科学计算中的应用。结果表明,相同的OpenCL代码在现代GPU上相比CPU实现了数量级的性能提升,且结果基本不受厂商或架构影响,同时证明单块高端GPU的性能可媲美配备高速互连的80核CPU集群。
Currently there is considerable interest in making use of many-core processor architectures, such as Nvidia and AMD graphics processing units (GPUs) for scientific computing. In this work we explore the use of the Open Computing Language (OpenCL) for a typical Numerical Relativity application: a time-domain Teukolsky equation solver (a linear, hyperbolic, partial differential equation solver using finite-differencing). OpenCL is the only vendor-agnostic and multi-platform parallel computing framework that has been adopted by all major processor vendors. Therefore, it allows us to write portable source-code and run it on a wide variety of compute hardware and perform meaningful comparisons. The outcome of our experimentation suggests that it is relatively straightforward to obtain order-of-magnitude gains in overall application performance by making use of many-core GPUs over multi-core CPUs and this fact is largely independent of the specific hardware architecture and vendor. We also observe that a single high-end GPU can match the performance of a small-sized, message-passing based CPU cluster.
研究动机与目标
- 评估OpenCL作为异构硬件上可移植、厂商无关的科学计算框架的适用性。
- 评估在真实世界的数值相对论应用——时域有限差分求解Teukolsky方程——中使用OpenCL所获得的性能提升。
- 使用相同的源代码在多个CPU和GPU平台(Intel、IBM、Nvidia、AMD)上比较性能表现。
- 评估在不同硬件平台之间,性能、成本与功耗效率之间的权衡。
- 证明OpenCL在不牺牲优化潜力的前提下,同时实现了高性能与代码可移植性。
提出的方法
- 使用二阶Lax-Wendroff格式实现一个同质、线性、双曲型PDE求解器,用于时域积分。
- 将求解器的所有计算内核转换为OpenCL内核,以实现在CPU和GPU上的执行。
- 在所有目标平台(Intel Nehalem、IBM Power7、Nvidia Fermi、AMD Radeon)上使用完全相同的OpenCL源代码,以确保可移植性。
- 使用双精度浮点数算术运算,在所有平台上以GFLOPS为单位测量性能。
- 评估每美元性能和每瓦性能,以比较成本和能效。
- 使用OpenCL运行时管理内核编译、数据传输和异构设备上的执行调度。
实验结果
研究问题
- RQ1OpenCL是否能在无需厂商特定调优的情况下,在多种CPU和GPU架构上实现高性能?
- RQ2GPU加速带来的性能提升在多大程度上依赖于底层硬件或厂商?
- RQ3在科学PDE求解器中,单块GPU的性能与小型多节点CPU集群相比如何?
- RQ4在选择科学计算硬件时,性能、成本与功耗效率之间的权衡如何?
- RQ5通过OpenCL实现的代码可移植性在多大程度上减少了HPC应用的开发与维护工作量?
主要发现
- 单块高端GPU(Nvidia Fermi或AMD Radeon)的性能可媲美配备高速互连的80核Intel Xeon CPU集群。
- OpenCL使得相同的源代码能在多种架构上高效运行,包括x86(Intel)和PowerPC(IBM),且在CPU和GPU上性能几乎完全一致。
- 无论厂商或底层架构如何,使用GPU相比CPU均可实现高达一个数量级的性能提升。
- AMD Radeon GPU的性能与Nvidia Fermi GPU相当,但成本低五倍以上,且功耗效率略优,是成本效益最高的选择。
- 与CPU相比,GPU在每瓦性能和每美元性能方面均提升了约一个数量级。
- OpenCL的可移植性显著降低了代码开发与优化的工作量,因为同一内核代码在所有测试平台上均能高效运行。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。