Skip to main content
QUICK REVIEW

[论文解读] Porting a sparse linear algebra math library to Intel GPUs

Yu‐Hsiang Tsai, Terry Cojean|arXiv (Cornell University)|Mar 18, 2021
Parallel Computing and Optimization Techniques参考文献 12被引用 6
一句话总结

该论文提出了首个基于 DPC++ 和 oneAPI 的开源、平台可移植的稀疏线性代数库后端,专为 Intel GPU 设计,其性能与厂商优化库相比具有竞争力。该后端在 Intel Gen12 GPU 上实现了高达 90% 的峰值带宽,并在 AMD、NVIDIA 和 Intel 硬件上展现出出色的性能可移植性,验证了 DPC++ 作为新兴 Intel GPU 上高性能计算工作负载可行路径的潜力。

ABSTRACT

With the announcement that the Aurora Supercomputer will be composed of general purpose Intel CPUs complemented by discrete high performance Intel GPUs, and the deployment of the oneAPI ecosystem, Intel has committed to enter the arena of discrete high performance GPUs. A central requirement for the scientific computing community is the availability of production-ready software stacks and a glimpse of the performance they can expect to see on Intel high performance GPUs. In this paper, we present the first platform-portable open source math library supporting Intel GPUs via the DPC++ programming environment. We also benchmark some of the developed sparse linear algebra functionality on different Intel GPUs to assess the efficiency of the DPC++ programming ecosystem to translate raw performance into application performance. Aside from quantifying the efficiency within the hardware-specific roofline model, we also compare against routines providing the same functionality that ship with Intel's oneMKL vendor library.

研究动机与目标

  • 通过 oneAPI 生态系统,实现在 Intel 新型独立 GPU 上生产就绪的稀疏线性代数功能。
  • 评估基于 DPC++ 的内核在 Intel Gen9 和 Gen12 GPU 上的性能,相对于硬件极限和厂商库的表现。
  • 通过单一 DPC++ 后端在多种 GPU 架构上展示 Ginkgo 库的平台可移植性。
  • 评估将原始 GPU 性能转化为实际稀疏线性代数操作(如 SpMV 和 Krylov 求解器)的效率。

提出的方法

  • 在 Ginkgo 开源库中扩展了 DPC++ 后端,通过 oneAPI 编程模型支持 Intel GPU。
  • 在 Intel GPU 上使用 DPC++ 实现了单精度和双精度的优化稀疏矩阵-向量乘法(SpMV)内核。
  • 使用 SuiteSparse 数据集中的矩阵,在 Intel Gen9 和 Gen12 GPU 上对 SpMV 和 Krylov 求解器进行了基准测试。
  • 与 Intel oneMKL 厂商库进行性能对比,并利用针对硬件的 Roofline 模型评估效率。
  • 通过相对性能与理论峰值(带宽和 FLOP/s)的比值,评估跨平台的可移植性和算法效率。
  • 利用 Ginkgo 的模块化设计,重用执行器、类型和绑定等核心组件,同时适配 DPC++ 运行时语义。

实验结果

研究问题

  • RQ1基于 DPC++ 的平台可移植开源稀疏线性代数库能否在 Intel 新型独立 GPU 上实现高性能?
  • RQ2基于 DPC++ 的 SpMV 内核在 Intel GPU 上的性能与 Intel oneMKL 厂商库相比如何?
  • RQ3Ginkgo 库在 AMD、NVIDIA 和 Intel GPU 架构上的性能可移植性达到何种程度?
  • RQ4Krylov 求解器在 Intel Gen12 GPU 上的可实现性能如何?其效率受哪些限制影响?
  • RQ5DPC++ 编程模型在将原始硬件性能转化为稀疏线性代数应用级性能方面表现如何?

主要发现

  • Ginkgo 的 DPC++ 后端在 Intel Gen12 GPU 上实现了高达 90% 的峰值内存带宽,表明内核优化具有高度效率。
  • 在 Intel Gen12 GPU 上,Ginkgo 的 SpMV 内核在单精度下达到 5–9 GFLOP/s,性能因矩阵结构差异而显著变化。
  • GMRES 求解器性能低于其他 Krylov 求解器,可能由于 oneAPI 对 Hessenberg 系统求解等必要操作支持不完整。
  • 在 Intel Gen9 GPU 上,双精度 SpMV 性能达到 1.5–2.5 GFLOP/s,Ginkgo 内核实现了峰值带宽的 60–70%。
  • Ginkgo 的 SpMV 内核在所有平台上均与 oneMKL 竞争力相当,oneMKL 在部分 Gen12 情况下表现更优,但在其他情况下则表现较差。
  • 相对性能分析证实了强大的性能可移植性:Ginkgo 的 DPC++ 后端在 AMD、NVIDIA 和 Intel GPU 上均保持一致的高效表现。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。