Understanding sparse matrix formats with simple python code. By using ELLPACK format for representing sparse matrices, we can optimize the memory access pattern of the HPCG benchmark.
In the reference implementation of HPCG, SYMGS computation cannot be fully parallelized. However, we can use multi-coloring technique to parallelize the computation at the cost of relaxation of the algorithm.
HPCG is a benchmark like LINPACK but with a different focus. Conceptually, it emphasizes sparse linear algebra, and practically, it is aimed at optimizing memory access patterns, communication, and parallelization.