Effective implementation of the High Performance Conjugate Gradient benchmark on GraphBLAS

04/17/2023
by   Alberto Scolari, et al.
0

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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset