Implementing Iterative Solvers for Irregular Sparse Matrix Problems in High Performance Fortran

Writing efficient iterative solvers for irregular, sparse matrices in HPF is hard. The locality in the computations is unclear, and for efficiency we use storage schemes that obscure any structure in the matrix. Moreover, the limited capabilities of HPF to distribute and align data structures make it hard to implement the desired distributions, or to indicate these such that the compiler recognizes the efficient implementation.