高性能共轭梯度基准在GraphBLAS上的有效实现
Effective implementation of the High Performance Conjugate Gradient benchmark on GraphBLAS
AI总结:
本文针对HPCG基准在稀疏计算中的可编程性与性能挑战,提出并评估了其在GraphBLAS上的实现,共享内存性能优于参考实现,同时揭示了分布式环境下的根本性局限。
摘要:
高性能计算(HPC)环境中的应用面临日益增长的复杂性挑战。其中,稀疏数据使用的不断增加突破了数据结构和编程模型的极限,并阻碍了对现有高度并行硬件的有效利用。GraphBLAS规范通过提出一组数据容器和原语,并配以基于抽象代数概念的语义来应对这些挑战:这使得稀疏数据上的多种应用能够用少量原语来描述,并从编译时已知的代数规范的诸多优化中获益。在HPC应用中,高性能共轭梯度(HPCG)基准是大量稀疏工作负载的重要代表,其结构带来了若干可编程性和性能方面的挑战。本文通过提出并评估HPCG在GraphBLAS上的实现来应对这些挑战,重点说明了其内核的主要改动。共享内存系统上的结果优于参考实现,而分布式系统上的结果则揭示了符合GraphBLAS规范的实现所存在的根本性局限,这为未来的若干研究方向提供了启示。
英文摘要:
Applications in High-Performance Computing (HPC) environments face challenges due to increasing complexity. Among them, the increasing usage of sparse data pushes the limits of data structures and programming models and hampers the efficient usage of existing, highly parallel hardware. The GraphBLAS specification tackles these challenges by proposing a set of data containers and primitives, coupled with a semantics based on abstract algebraic concepts: this allows multiple applications on sparse data to be described with a small set of primitives and benefit from the many optimizations of a compile-time-known algebraic specification. Among HPC applications, the High Performance Conjugate Gradient (HPCG) benchmark is an important representative of a large body of sparse workloads, and its structure poses several programmability and performance challenges. This work tackles them by proposing and evaluating an implementation on GraphBLAS of HPCG, highlighting the main changes to its kernels. The results for shared memory systems outperforms the reference, while results in distributed systems highlight fundamental limitations of GraphBLAS-compliant implementations, which suggests several future directions.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。