Skip to content

MueLu: uncoupled aggregation refactor

James Willenbring requested to merge MueLu_uncoupled_aggregation_refactor into develop

Created by: lucbv

This pull request is providing a refactor of the uncoupled aggregation algorithms to leverage kokkos capabilities as well as the work done on distance 2 graph coloring.

@trilinos/muelu

Description

The interface of aggregation algorithms now requires the number of colors and color assignment from the distance 2 coloring graph algorithm as input. At the moment the coloring algorithm is called in phase 1 of aggregation but this will be moved to the UncoupledAggregationFactory. Another item to be modified is the aggStat vector that is created as an std::vector<unsigned> in UncoupledAggregationFactory

Motivation and Context

This provides an implementation of the uncoupled aggregation algorithms that is architecture portable and that should improve performance on manycore/GPU machines.

Related Issues

How Has This Been Tested?

muelu/test/scaling/Driver.cpp is modified within this pull request and is used as the primary vehicle for tests but more tests needs to be added since the driver will return to its normal form upon merge of this pull request.

Checklist

  • My commit messages mention the appropriate GitHub issue numbers.
  • My code follows the code style of the affected package(s).
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the code contribution guidelines for this project.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • No new compiler warnings were introduced.
  • These changes break backwards compatibility.

Merge request reports