From 9ef60478ba9e76eff6bbd565487ba0b5fcf8e278 Mon Sep 17 00:00:00 2001 From: Chris Siefert Date: Thu, 30 Apr 2020 14:15:09 -0600 Subject: [PATCH 1/2] MueLu: Adding Notay to easy parameter list --- .../MueLu_ParameterListInterpreter_decl.hpp | 1 + .../MueLu_ParameterListInterpreter_def.hpp | 18 +- .../CMakeLists.txt | 3 + .../EasyParameterListInterpreter/notay.xml | 5 + .../default/Output/notay_epetra.gold | 217 ++++++++++++++++ .../default/Output/notay_tpetra.gold | 245 ++++++++++++++++++ 6 files changed, 487 insertions(+), 2 deletions(-) create mode 100644 packages/muelu/test/interface/default/EasyParameterListInterpreter/notay.xml create mode 100644 packages/muelu/test/interface/default/Output/notay_epetra.gold create mode 100644 packages/muelu/test/interface/default/Output/notay_tpetra.gold diff --git a/packages/muelu/src/Interface/MueLu_ParameterListInterpreter_decl.hpp b/packages/muelu/src/Interface/MueLu_ParameterListInterpreter_decl.hpp index 18b5a716aa47..e60e1de1b20e 100644 --- a/packages/muelu/src/Interface/MueLu_ParameterListInterpreter_decl.hpp +++ b/packages/muelu/src/Interface/MueLu_ParameterListInterpreter_decl.hpp @@ -69,6 +69,7 @@ #include "MueLu_FilteredAFactory_fwd.hpp" #include "MueLu_GenericRFactory_fwd.hpp" #include "MueLu_LineDetectionFactory_fwd.hpp" +#include "MueLu_NotayAggregationFactory_fwd.hpp" #include "MueLu_NullspaceFactory_fwd.hpp" #include "MueLu_PatternFactory_fwd.hpp" #include "MueLu_PgPFactory_fwd.hpp" diff --git a/packages/muelu/src/Interface/MueLu_ParameterListInterpreter_def.hpp b/packages/muelu/src/Interface/MueLu_ParameterListInterpreter_def.hpp index 9232855c5ecd..b30a3d96f7d9 100644 --- a/packages/muelu/src/Interface/MueLu_ParameterListInterpreter_def.hpp +++ b/packages/muelu/src/Interface/MueLu_ParameterListInterpreter_def.hpp @@ -76,6 +76,7 @@ #include "MueLu_GenericRFactory.hpp" #include "MueLu_LineDetectionFactory.hpp" #include "MueLu_MasterList.hpp" +#include "MueLu_NotayAggregationFactory.hpp" #include "MueLu_NullspaceFactory.hpp" #include "MueLu_PatternFactory.hpp" #include "MueLu_PgPFactory.hpp" @@ -934,7 +935,7 @@ namespace MueLu { // Aggregation graph RCP dropFactory; - + if (MUELU_TEST_PARAM_2LIST(paramList, paramList, "aggregation: drop scheme", std::string, "matlab")) { #ifdef HAVE_MUELU_MATLAB dropFactory = rcp(new SingleLevelMatlabFactory()); @@ -971,7 +972,7 @@ namespace MueLu { // Aggregation scheme MUELU_SET_VAR_2LIST(paramList, defaultList, "aggregation: type", std::string, aggType); - TEUCHOS_TEST_FOR_EXCEPTION(!strings({"uncoupled", "coupled", "brick", "matlab"}).count(aggType), + TEUCHOS_TEST_FOR_EXCEPTION(!strings({"uncoupled", "coupled", "brick", "matlab","notay"}).count(aggType), Exceptions::RuntimeError, "Unknown aggregation algorithm: \"" << aggType << "\". Please consult User's Guide."); #ifndef HAVE_MUELU_MATLAB if (aggType == "matlab") @@ -1027,6 +1028,17 @@ namespace MueLu { aggFactory->SetFactory("Coordinates", this->GetFactoryManager(levelID-1)->GetFactory("Coordinates")); } } + else if (aggType == "notay") { + aggFactory = rcp(new NotayAggregationFactory()); + ParameterList aggParams; + MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: pairwise: size", int, aggParams); + MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: Dirichlet threshold", double, aggParams); + MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: ordering", std::string, aggParams); + MUELU_TEST_AND_SET_PARAM_2LIST(paramList, defaultList, "aggregation: compute aggregate qualities",bool, aggParams); + aggFactory->SetParameterList(aggParams); + aggFactory->SetFactory("DofsPerNode", manager.GetFactory("Graph")); + aggFactory->SetFactory("Graph", manager.GetFactory("Graph")); + } #ifdef HAVE_MUELU_MATLAB else if(aggType == "matlab") { ParameterList aggParams = paramList.sublist("aggregation: params"); @@ -1034,6 +1046,8 @@ namespace MueLu { aggFactory->SetParameterList(aggParams); } #endif + + manager.SetFactory("Aggregates", aggFactory); // Coarse map diff --git a/packages/muelu/test/interface/default/EasyParameterListInterpreter/CMakeLists.txt b/packages/muelu/test/interface/default/EasyParameterListInterpreter/CMakeLists.txt index 3dfe1d51a08e..2238d897d27e 100644 --- a/packages/muelu/test/interface/default/EasyParameterListInterpreter/CMakeLists.txt +++ b/packages/muelu/test/interface/default/EasyParameterListInterpreter/CMakeLists.txt @@ -3,6 +3,8 @@ # regenerate a build system incorporating the new file. # YOU MUST ALSO TOUCH A CMAKE CONFIGURATION FILE WHEN YOU PUSH THE NEW # FILE TO FORCE THE RECONFIGURE ON OTHER PEOPLE'S BUILDS. + +# Consider this file touched! FILE(GLOB xmlFiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.xml) # disabling a test @@ -11,3 +13,4 @@ LIST(REMOVE_ITEM xmlFiles default_e2d.xml) TRIBITS_COPY_FILES_TO_BINARY_DIR(ParameterList_default_EasyParameterListInterpreter_cp SOURCE_FILES ${xmlFiles} ) + diff --git a/packages/muelu/test/interface/default/EasyParameterListInterpreter/notay.xml b/packages/muelu/test/interface/default/EasyParameterListInterpreter/notay.xml new file mode 100644 index 000000000000..9a461176ee83 --- /dev/null +++ b/packages/muelu/test/interface/default/EasyParameterListInterpreter/notay.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/muelu/test/interface/default/Output/notay_epetra.gold b/packages/muelu/test/interface/default/Output/notay_epetra.gold new file mode 100644 index 000000000000..22b6237a7b23 --- /dev/null +++ b/packages/muelu/test/interface/default/Output/notay_epetra.gold @@ -0,0 +1,217 @@ +Clearing old data (if any) +Level 0 +Setup Smoother (MueLu::IfpackSmoother{type = point relaxation stand-alone}) +keep smoother data = 0 [default] +PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +PostSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +smoother -> + relaxation: type = symmetric Gauss-Seidel [unused] + relaxation: sweeps = 1 [unused] + relaxation: damping factor = 1 [unused] + +Level 1 +Prolongator smoothing (MueLu::SaPFactory) +Matrix filtering (MueLu::FilteredAFactory) +Build (MueLu::CoalesceDropFactory) +Build (MueLu::AmalgamationFactory) +[empty list] + +algorithm = "classical": threshold = 0, blocksize = 1 +aggregation: drop tol = 0 [default] +aggregation: Dirichlet threshold = 10 +aggregation: drop scheme = classical [default] +aggregation: distance laplacian algo = default [default] +lightweight wrap = 1 + +Filtered matrix is not being constructed as no filtering is being done +filtered matrix: use lumping = 1 [default] +filtered matrix: reuse graph = 1 [default] +filtered matrix: reuse eigenvalue = 1 [default] + +Build (MueLu::TentativePFactory) +Build (MueLu::NotayAggregationFactory) +BuildInitialAggregates (MueLu::NotayAggregationFactory) +BuildOnRankLocalMatrix (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +aggregation: pairwise: size = 8 [default] +aggregation: compute aggregate qualities = 0 [default] +aggregation: Dirichlet threshold = 10 +aggregation: ordering = natural + +Nullspace factory (MueLu::NullspaceFactory) +Fine level nullspace = Nullspace + +Build (MueLu::CoarseMapFactory) +Striding info = {} [default] +Strided block id = -1 [default] +Domain GID offsets = {0} [default] + +tentative: calculate qr = 1 [default] +tentative: build coarse coordinates = 1 [default] +tentative: constant column sums = 0 [default] +Nullspace name = Nullspace [default] +matrixmatrix: kernel params -> + [empty list] + +sa: damping factor = 1.33 [default] +sa: calculate eigenvalue estimate = 0 [default] +sa: eigenvalue estimate num iterations = 10 [default] +matrixmatrix: kernel params -> + [empty list] + +Transpose P (MueLu::TransPFactory) +matrixmatrix: kernel params -> + [empty list] + +Computing Ac (MueLu::RAPFactory) +transpose: use implicit = 0 [default] +rap: triple product = 0 [default] +rap: fix zero diagonals = 0 [default] +rap: relative diagonal floor = {} [default] +CheckMainDiagonal = 0 [default] +RepairMainDiagonal = 0 [default] +matrixmatrix: kernel params -> + [empty list] + +Setup Smoother (MueLu::IfpackSmoother{type = point relaxation stand-alone}) +keep smoother data = 0 [default] +PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +PostSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +smoother -> + relaxation: type = symmetric Gauss-Seidel [unused] + relaxation: sweeps = 1 [unused] + relaxation: damping factor = 1 [unused] + +Level 2 +Prolongator smoothing (MueLu::SaPFactory) +Matrix filtering (MueLu::FilteredAFactory) +Build (MueLu::CoalesceDropFactory) +Build (MueLu::AmalgamationFactory) +[empty list] + +algorithm = "classical": threshold = 0, blocksize = 1 +aggregation: drop tol = 0 [default] +aggregation: Dirichlet threshold = 10 +aggregation: drop scheme = classical [default] +aggregation: distance laplacian algo = default [default] +lightweight wrap = 1 + +Filtered matrix is not being constructed as no filtering is being done +filtered matrix: use lumping = 1 [default] +filtered matrix: reuse graph = 1 [default] +filtered matrix: reuse eigenvalue = 1 [default] + +Build (MueLu::TentativePFactory) +Build (MueLu::NotayAggregationFactory) +BuildInitialAggregates (MueLu::NotayAggregationFactory) +BuildOnRankLocalMatrix (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +aggregation: pairwise: size = 8 [default] +aggregation: compute aggregate qualities = 0 [default] +aggregation: Dirichlet threshold = 10 +aggregation: ordering = natural + +Nullspace factory (MueLu::NullspaceFactory) +Fine level nullspace = Nullspace + +Build (MueLu::CoarseMapFactory) +Striding info = {} [default] +Strided block id = -1 [default] +Domain GID offsets = {0} [default] + +tentative: calculate qr = 1 [default] +tentative: build coarse coordinates = 1 [default] +tentative: constant column sums = 0 [default] +Nullspace name = Nullspace [default] +matrixmatrix: kernel params -> + [empty list] + +sa: damping factor = 1.33 [default] +sa: calculate eigenvalue estimate = 0 [default] +sa: eigenvalue estimate num iterations = 10 [default] +matrixmatrix: kernel params -> + [empty list] + +Transpose P (MueLu::TransPFactory) +matrixmatrix: kernel params -> + [empty list] + +Computing Ac (MueLu::RAPFactory) +transpose: use implicit = 0 [default] +rap: triple product = 0 [default] +rap: fix zero diagonals = 0 [default] +rap: relative diagonal floor = {} [default] +CheckMainDiagonal = 0 [default] +RepairMainDiagonal = 0 [default] +matrixmatrix: kernel params -> + [empty list] + +Max coarse size (<= 2000) achieved +Setup Smoother (MueLu::AmesosSmoother{type = }) +keep smoother data = 0 [default] +PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +PostSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +presmoother -> + [empty list] + + +-------------------------------------------------------------------------------- +--- Multigrid Summary --- +-------------------------------------------------------------------------------- +Number of levels = 3 +Operator complexity = 1.83 +Smoother complexity = 0.00 +Cycle type = V + +level rows nnz nnz/row c ratio procs + 0 9999 29995 3.00 1 + 1 4985 24919 5.00 2.01 1 + 2 20 58 2.90 249.25 1 + +Smoother (level 0) both : MueLu::IfpackSmoother{type = point relaxation stand-alone} + +Smoother (level 1) both : MueLu::IfpackSmoother{type = point relaxation stand-alone} + +Smoother (level 2) pre : MueLu::AmesosSmoother{type = } +Smoother (level 2) post : no smoother + diff --git a/packages/muelu/test/interface/default/Output/notay_tpetra.gold b/packages/muelu/test/interface/default/Output/notay_tpetra.gold new file mode 100644 index 000000000000..fc406598c85c --- /dev/null +++ b/packages/muelu/test/interface/default/Output/notay_tpetra.gold @@ -0,0 +1,245 @@ +Clearing old data (if any) +Level 0 +Setup Smoother (MueLu::Ifpack2Smoother{type = RELAXATION}) +keep smoother data = 0 [default] +PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +PostSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +smoother -> + relaxation: type = Symmetric Gauss-Seidel + relaxation: sweeps = 1 + relaxation: damping factor = 1 + relaxation: inner sweeps = 1 [default] + relaxation: inner sparse-triangular solve = 0 [default] + relaxation: zero starting solution = 1 [default] + relaxation: backward mode = 0 [default] + relaxation: use l1 = 0 [default] + relaxation: l1 eta = 1.5 [default] + relaxation: min diagonal value = 0 [default] + relaxation: fix tiny diagonal entries = 0 [default] + relaxation: check diagonal entries = 0 [default] + relaxation: local smoothing indices = Teuchos::ArrayRCP{ptr=0,lowerOffset=0,upperOffset=-1,size=0,node=0,strong_count=0,weak_count=0} [default] + relaxation: symmetric matrix structure = 0 [default] + relaxation: ifpack2 dump matrix = 0 [default] + relaxation: mtgs cluster size = 1 [default] + +Level 1 +Prolongator smoothing (MueLu::SaPFactory) +Matrix filtering (MueLu::FilteredAFactory) +Build (MueLu::CoalesceDropFactory) +Build (MueLu::AmalgamationFactory) +[empty list] + +algorithm = "classical": threshold = 0, blocksize = 1 +aggregation: drop tol = 0 [default] +aggregation: Dirichlet threshold = 10 +aggregation: drop scheme = classical [default] +aggregation: distance laplacian algo = default [default] +lightweight wrap = 1 + +Filtered matrix is not being constructed as no filtering is being done +filtered matrix: use lumping = 1 [default] +filtered matrix: reuse graph = 1 [default] +filtered matrix: reuse eigenvalue = 1 [default] + +Build (MueLu::TentativePFactory) +Build (MueLu::NotayAggregationFactory) +BuildInitialAggregates (MueLu::NotayAggregationFactory) +BuildOnRankLocalMatrix (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +aggregation: pairwise: size = 8 [default] +aggregation: compute aggregate qualities = 0 [default] +aggregation: Dirichlet threshold = 10 +aggregation: ordering = natural + +Nullspace factory (MueLu::NullspaceFactory) +Fine level nullspace = Nullspace + +Build (MueLu::CoarseMapFactory) +Striding info = {} [default] +Strided block id = -1 [default] +Domain GID offsets = {0} [default] + +tentative: calculate qr = 1 [default] +tentative: build coarse coordinates = 1 [default] +tentative: constant column sums = 0 [default] +Nullspace name = Nullspace [default] +matrixmatrix: kernel params -> + [empty list] + +sa: damping factor = 1.33 [default] +sa: calculate eigenvalue estimate = 0 [default] +sa: eigenvalue estimate num iterations = 10 [default] +matrixmatrix: kernel params -> + [empty list] + +Transpose P (MueLu::TransPFactory) +matrixmatrix: kernel params -> + [empty list] + +Computing Ac (MueLu::RAPFactory) +transpose: use implicit = 0 [default] +rap: triple product = 0 [default] +rap: fix zero diagonals = 0 [default] +rap: relative diagonal floor = {} [default] +CheckMainDiagonal = 0 [default] +RepairMainDiagonal = 0 [default] +matrixmatrix: kernel params -> + [empty list] + +Setup Smoother (MueLu::Ifpack2Smoother{type = RELAXATION}) +keep smoother data = 0 [default] +PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +PostSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +smoother -> + relaxation: type = Symmetric Gauss-Seidel + relaxation: sweeps = 1 + relaxation: damping factor = 1 + relaxation: inner sweeps = 1 [default] + relaxation: inner sparse-triangular solve = 0 [default] + relaxation: zero starting solution = 1 [default] + relaxation: backward mode = 0 [default] + relaxation: use l1 = 0 [default] + relaxation: l1 eta = 1.5 [default] + relaxation: min diagonal value = 0 [default] + relaxation: fix tiny diagonal entries = 0 [default] + relaxation: check diagonal entries = 0 [default] + relaxation: local smoothing indices = Teuchos::ArrayRCP{ptr=0,lowerOffset=0,upperOffset=-1,size=0,node=0,strong_count=0,weak_count=0} [default] + relaxation: symmetric matrix structure = 0 [default] + relaxation: ifpack2 dump matrix = 0 [default] + relaxation: mtgs cluster size = 1 [default] + +Level 2 +Prolongator smoothing (MueLu::SaPFactory) +Matrix filtering (MueLu::FilteredAFactory) +Build (MueLu::CoalesceDropFactory) +Build (MueLu::AmalgamationFactory) +[empty list] + +algorithm = "classical": threshold = 0, blocksize = 1 +aggregation: drop tol = 0 [default] +aggregation: Dirichlet threshold = 10 +aggregation: drop scheme = classical [default] +aggregation: distance laplacian algo = default [default] +lightweight wrap = 1 + +Filtered matrix is not being constructed as no filtering is being done +filtered matrix: use lumping = 1 [default] +filtered matrix: reuse graph = 1 [default] +filtered matrix: reuse eigenvalue = 1 [default] + +Build (MueLu::TentativePFactory) +Build (MueLu::NotayAggregationFactory) +BuildInitialAggregates (MueLu::NotayAggregationFactory) +BuildOnRankLocalMatrix (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +BuildIntermediateProlongator (MueLu::NotayAggregationFactory) +BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) +BuildFurtherAggregates (MueLu::NotayAggregationFactory) +aggregation: pairwise: size = 8 [default] +aggregation: compute aggregate qualities = 0 [default] +aggregation: Dirichlet threshold = 10 +aggregation: ordering = natural + +Nullspace factory (MueLu::NullspaceFactory) +Fine level nullspace = Nullspace + +Build (MueLu::CoarseMapFactory) +Striding info = {} [default] +Strided block id = -1 [default] +Domain GID offsets = {0} [default] + +tentative: calculate qr = 1 [default] +tentative: build coarse coordinates = 1 [default] +tentative: constant column sums = 0 [default] +Nullspace name = Nullspace [default] +matrixmatrix: kernel params -> + [empty list] + +sa: damping factor = 1.33 [default] +sa: calculate eigenvalue estimate = 0 [default] +sa: eigenvalue estimate num iterations = 10 [default] +matrixmatrix: kernel params -> + [empty list] + +Transpose P (MueLu::TransPFactory) +matrixmatrix: kernel params -> + [empty list] + +Computing Ac (MueLu::RAPFactory) +transpose: use implicit = 0 [default] +rap: triple product = 0 [default] +rap: fix zero diagonals = 0 [default] +rap: relative diagonal floor = {} [default] +CheckMainDiagonal = 0 [default] +RepairMainDiagonal = 0 [default] +matrixmatrix: kernel params -> + [empty list] + +Max coarse size (<= 2000) achieved +Setup Smoother (MueLu::Amesos2Smoother{type = }) +keep smoother data = 0 [default] +PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +PostSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] +presmoother -> + A = Teuchos::RCP{ptr=0,node=0,strong_count=0,weak_count=0} [default] + Nullspace = Teuchos::RCP{ptr=0,node=0,strong_count=0,weak_count=0} [default] + fix nullspace = 0 [default] + + +-------------------------------------------------------------------------------- +--- Multigrid Summary --- +-------------------------------------------------------------------------------- +Number of levels = 3 +Operator complexity = 1.83 +Smoother complexity = 2.33 +Cycle type = V + +level rows nnz nnz/row c ratio procs + 0 9999 29995 3.00 1 + 1 4985 24919 5.00 2.01 1 + 2 20 58 2.90 249.25 1 + +Smoother (level 0) both : "Ifpack2::Relaxation": {Initialized: true, Computed: true, Type: Symmetric Gauss-Seidel, sweeps: 1, damping factor: 1, Global matrix dimensions: [9999, 9999], Global nnz: 29995} + +Smoother (level 1) both : "Ifpack2::Relaxation": {Initialized: true, Computed: true, Type: Symmetric Gauss-Seidel, sweeps: 1, damping factor: 1, Global matrix dimensions: [4985, 4985], Global nnz: 24919} + +Smoother (level 2) pre : solver interface +Smoother (level 2) post : no smoother + From 7355fcab14447ce758d9e7d387b7cbee4cf01b30 Mon Sep 17 00:00:00 2001 From: Chris Siefert Date: Fri, 1 May 2020 07:59:17 -0600 Subject: [PATCH 2/2] MueLu: Fixing intel problem? --- .../EasyParameterListInterpreter/notay.xml | 1 + .../default/Output/notay_epetra.gold | 103 +-------------- .../default/Output/notay_tpetra.gold | 118 +----------------- 3 files changed, 8 insertions(+), 214 deletions(-) diff --git a/packages/muelu/test/interface/default/EasyParameterListInterpreter/notay.xml b/packages/muelu/test/interface/default/EasyParameterListInterpreter/notay.xml index 9a461176ee83..1775e3898f49 100644 --- a/packages/muelu/test/interface/default/EasyParameterListInterpreter/notay.xml +++ b/packages/muelu/test/interface/default/EasyParameterListInterpreter/notay.xml @@ -2,4 +2,5 @@ + diff --git a/packages/muelu/test/interface/default/Output/notay_epetra.gold b/packages/muelu/test/interface/default/Output/notay_epetra.gold index 22b6237a7b23..e4ace218bea9 100644 --- a/packages/muelu/test/interface/default/Output/notay_epetra.gold +++ b/packages/muelu/test/interface/default/Output/notay_epetra.gold @@ -93,100 +93,6 @@ RepairMainDiagonal = 0 [default] matrixmatrix: kernel params -> [empty list] -Setup Smoother (MueLu::IfpackSmoother{type = point relaxation stand-alone}) -keep smoother data = 0 [default] -PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] -PostSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] -smoother -> - relaxation: type = symmetric Gauss-Seidel [unused] - relaxation: sweeps = 1 [unused] - relaxation: damping factor = 1 [unused] - -Level 2 -Prolongator smoothing (MueLu::SaPFactory) -Matrix filtering (MueLu::FilteredAFactory) -Build (MueLu::CoalesceDropFactory) -Build (MueLu::AmalgamationFactory) -[empty list] - -algorithm = "classical": threshold = 0, blocksize = 1 -aggregation: drop tol = 0 [default] -aggregation: Dirichlet threshold = 10 -aggregation: drop scheme = classical [default] -aggregation: distance laplacian algo = default [default] -lightweight wrap = 1 - -Filtered matrix is not being constructed as no filtering is being done -filtered matrix: use lumping = 1 [default] -filtered matrix: reuse graph = 1 [default] -filtered matrix: reuse eigenvalue = 1 [default] - -Build (MueLu::TentativePFactory) -Build (MueLu::NotayAggregationFactory) -BuildInitialAggregates (MueLu::NotayAggregationFactory) -BuildOnRankLocalMatrix (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -aggregation: pairwise: size = 8 [default] -aggregation: compute aggregate qualities = 0 [default] -aggregation: Dirichlet threshold = 10 -aggregation: ordering = natural - -Nullspace factory (MueLu::NullspaceFactory) -Fine level nullspace = Nullspace - -Build (MueLu::CoarseMapFactory) -Striding info = {} [default] -Strided block id = -1 [default] -Domain GID offsets = {0} [default] - -tentative: calculate qr = 1 [default] -tentative: build coarse coordinates = 1 [default] -tentative: constant column sums = 0 [default] -Nullspace name = Nullspace [default] -matrixmatrix: kernel params -> - [empty list] - -sa: damping factor = 1.33 [default] -sa: calculate eigenvalue estimate = 0 [default] -sa: eigenvalue estimate num iterations = 10 [default] -matrixmatrix: kernel params -> - [empty list] - -Transpose P (MueLu::TransPFactory) -matrixmatrix: kernel params -> - [empty list] - -Computing Ac (MueLu::RAPFactory) -transpose: use implicit = 0 [default] -rap: triple product = 0 [default] -rap: fix zero diagonals = 0 [default] -rap: relative diagonal floor = {} [default] -CheckMainDiagonal = 0 [default] -RepairMainDiagonal = 0 [default] -matrixmatrix: kernel params -> - [empty list] - -Max coarse size (<= 2000) achieved Setup Smoother (MueLu::AmesosSmoother{type = }) keep smoother data = 0 [default] PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] @@ -198,7 +104,7 @@ presmoother -> -------------------------------------------------------------------------------- --- Multigrid Summary --- -------------------------------------------------------------------------------- -Number of levels = 3 +Number of levels = 2 Operator complexity = 1.83 Smoother complexity = 0.00 Cycle type = V @@ -206,12 +112,9 @@ Cycle type = V level rows nnz nnz/row c ratio procs 0 9999 29995 3.00 1 1 4985 24919 5.00 2.01 1 - 2 20 58 2.90 249.25 1 Smoother (level 0) both : MueLu::IfpackSmoother{type = point relaxation stand-alone} -Smoother (level 1) both : MueLu::IfpackSmoother{type = point relaxation stand-alone} - -Smoother (level 2) pre : MueLu::AmesosSmoother{type = } -Smoother (level 2) post : no smoother +Smoother (level 1) pre : MueLu::AmesosSmoother{type = } +Smoother (level 1) post : no smoother diff --git a/packages/muelu/test/interface/default/Output/notay_tpetra.gold b/packages/muelu/test/interface/default/Output/notay_tpetra.gold index fc406598c85c..fdf227ca4af5 100644 --- a/packages/muelu/test/interface/default/Output/notay_tpetra.gold +++ b/packages/muelu/test/interface/default/Output/notay_tpetra.gold @@ -106,113 +106,6 @@ RepairMainDiagonal = 0 [default] matrixmatrix: kernel params -> [empty list] -Setup Smoother (MueLu::Ifpack2Smoother{type = RELAXATION}) -keep smoother data = 0 [default] -PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] -PostSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] -smoother -> - relaxation: type = Symmetric Gauss-Seidel - relaxation: sweeps = 1 - relaxation: damping factor = 1 - relaxation: inner sweeps = 1 [default] - relaxation: inner sparse-triangular solve = 0 [default] - relaxation: zero starting solution = 1 [default] - relaxation: backward mode = 0 [default] - relaxation: use l1 = 0 [default] - relaxation: l1 eta = 1.5 [default] - relaxation: min diagonal value = 0 [default] - relaxation: fix tiny diagonal entries = 0 [default] - relaxation: check diagonal entries = 0 [default] - relaxation: local smoothing indices = Teuchos::ArrayRCP{ptr=0,lowerOffset=0,upperOffset=-1,size=0,node=0,strong_count=0,weak_count=0} [default] - relaxation: symmetric matrix structure = 0 [default] - relaxation: ifpack2 dump matrix = 0 [default] - relaxation: mtgs cluster size = 1 [default] - -Level 2 -Prolongator smoothing (MueLu::SaPFactory) -Matrix filtering (MueLu::FilteredAFactory) -Build (MueLu::CoalesceDropFactory) -Build (MueLu::AmalgamationFactory) -[empty list] - -algorithm = "classical": threshold = 0, blocksize = 1 -aggregation: drop tol = 0 [default] -aggregation: Dirichlet threshold = 10 -aggregation: drop scheme = classical [default] -aggregation: distance laplacian algo = default [default] -lightweight wrap = 1 - -Filtered matrix is not being constructed as no filtering is being done -filtered matrix: use lumping = 1 [default] -filtered matrix: reuse graph = 1 [default] -filtered matrix: reuse eigenvalue = 1 [default] - -Build (MueLu::TentativePFactory) -Build (MueLu::NotayAggregationFactory) -BuildInitialAggregates (MueLu::NotayAggregationFactory) -BuildOnRankLocalMatrix (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -BuildIntermediateProlongator (MueLu::NotayAggregationFactory) -BuildCoarseLocalMatrix (MueLu::NotayAggregationFactory) -BuildFurtherAggregates (MueLu::NotayAggregationFactory) -aggregation: pairwise: size = 8 [default] -aggregation: compute aggregate qualities = 0 [default] -aggregation: Dirichlet threshold = 10 -aggregation: ordering = natural - -Nullspace factory (MueLu::NullspaceFactory) -Fine level nullspace = Nullspace - -Build (MueLu::CoarseMapFactory) -Striding info = {} [default] -Strided block id = -1 [default] -Domain GID offsets = {0} [default] - -tentative: calculate qr = 1 [default] -tentative: build coarse coordinates = 1 [default] -tentative: constant column sums = 0 [default] -Nullspace name = Nullspace [default] -matrixmatrix: kernel params -> - [empty list] - -sa: damping factor = 1.33 [default] -sa: calculate eigenvalue estimate = 0 [default] -sa: eigenvalue estimate num iterations = 10 [default] -matrixmatrix: kernel params -> - [empty list] - -Transpose P (MueLu::TransPFactory) -matrixmatrix: kernel params -> - [empty list] - -Computing Ac (MueLu::RAPFactory) -transpose: use implicit = 0 [default] -rap: triple product = 0 [default] -rap: fix zero diagonals = 0 [default] -rap: relative diagonal floor = {} [default] -CheckMainDiagonal = 0 [default] -RepairMainDiagonal = 0 [default] -matrixmatrix: kernel params -> - [empty list] - -Max coarse size (<= 2000) achieved Setup Smoother (MueLu::Amesos2Smoother{type = }) keep smoother data = 0 [default] PreSmoother data = Teuchos::RCP >{ptr=0,node=0,strong_count=0,weak_count=0} [default] @@ -226,20 +119,17 @@ presmoother -> -------------------------------------------------------------------------------- --- Multigrid Summary --- -------------------------------------------------------------------------------- -Number of levels = 3 +Number of levels = 2 Operator complexity = 1.83 -Smoother complexity = 2.33 +Smoother complexity = 1.33 Cycle type = V level rows nnz nnz/row c ratio procs 0 9999 29995 3.00 1 1 4985 24919 5.00 2.01 1 - 2 20 58 2.90 249.25 1 Smoother (level 0) both : "Ifpack2::Relaxation": {Initialized: true, Computed: true, Type: Symmetric Gauss-Seidel, sweeps: 1, damping factor: 1, Global matrix dimensions: [9999, 9999], Global nnz: 29995} -Smoother (level 1) both : "Ifpack2::Relaxation": {Initialized: true, Computed: true, Type: Symmetric Gauss-Seidel, sweeps: 1, damping factor: 1, Global matrix dimensions: [4985, 4985], Global nnz: 24919} - -Smoother (level 2) pre : solver interface -Smoother (level 2) post : no smoother +Smoother (level 1) pre : solver interface +Smoother (level 1) post : no smoother