Skip to content

Algebraic Multigrid Solver implemented in GraphBLAS language? #131

@learning-chip

Description

@learning-chip

Just notice this nice community effort on GraphBLAS-based algorithms.

I am curious if there are any attempts & interests on translating a complete AMG solver to GraphBLAS language? Some potential benefits I can think of:

  1. Many of AMG coarsening schemes are based on variants of maximal independent set, such as the PMIS scheme in PyAMG and Hypre. All existing implementations are vertex-based. Switching to a linear-algebra (GraphBLAS) based view might improve parallel efficiency and reduce code complexity. Since Luby's parallel MIS algorithm is already implemented GraphBLAS, as well as distance-2 MIS, adapting them for the AMG coarsening variants should be doable (although might require some mental struggling for certain AMG variants)
  2. The rest of AMG procedure mostly contains SpMV (restriction R*x, prolongation P*x) and SpGEMM (garlekin product R*A*P) -- such operations are commonly used and highly optimized in GraphBLAS. The solver expressed in this way can be ported to multi-threaded, GPU, or distributed environment depending on the GraphBLAS backend used, without having to rewrite the algorithm-level code.

I searched on the web, but did not find any work in such direction. Does anyone know any attempts on this? Or there are some instrinsic mathematical/software difficulties?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions