From daf1804f6c3a133a754577a2c5865637c70e28a1 Mon Sep 17 00:00:00 2001 From: Lukas Abelt Date: Fri, 23 Feb 2024 14:15:39 +0100 Subject: [PATCH 1/4] Updated maxLevel for P1 configurations --- HyTeg/p1_cg_sor.patch | 11 ++++++++++- HyTeg/p1_cg_symmetric.patch | 11 ++++++++++- HyTeg/p1_gmres_sor.patch | 11 ++++++++++- HyTeg/p1_gmres_symmetric.patch | 11 ++++++++++- HyTeg/p1_minres_sor.patch | 11 ++++++++++- HyTeg/p1_minres_symmetric.patch | 21 ++++++++++----------- 6 files changed, 60 insertions(+), 16 deletions(-) diff --git a/HyTeg/p1_cg_sor.patch b/HyTeg/p1_cg_sor.patch index ed1dc4d..7e968f6 100644 --- a/HyTeg/p1_cg_sor.patch +++ b/HyTeg/p1_cg_sor.patch @@ -1,7 +1,16 @@ diff --git a/apps/profiling/ProfilingApp.cpp b/apps/profiling/ProfilingApp.cpp -index 540f9d6da..6997b4d4a 100644 +index 540f9d6da..9fec101e0 100644 --- a/apps/profiling/ProfilingApp.cpp +++ b/apps/profiling/ProfilingApp.cpp +@@ -137,7 +137,7 @@ int main( int argc, char* argv[] ) + walberla::logging::Logging::instance()->setLogLevel( walberla::logging::Logging::PROGRESS ); + walberla::MPIManager::instance()->useWorldComm(); + const uint_t minLevel = 2; +- const uint_t maxLevel = 4; ++ const uint_t maxLevel = 8; + using P1op = hyteg::P1ConstantLaplaceOperator; + using P2op = hyteg::P2ConstantLaplaceOperator; + @@ -148,11 +148,8 @@ int main( int argc, char* argv[] ) // SORSmoother or SymmetricSORSmoother // the symmetric variant alternates the direction of the smoothing for each iteration diff --git a/HyTeg/p1_cg_symmetric.patch b/HyTeg/p1_cg_symmetric.patch index 0fac840..d59ca69 100644 --- a/HyTeg/p1_cg_symmetric.patch +++ b/HyTeg/p1_cg_symmetric.patch @@ -1,7 +1,16 @@ diff --git a/apps/profiling/ProfilingApp.cpp b/apps/profiling/ProfilingApp.cpp -index 540f9d6da..bfaf76de9 100644 +index 540f9d6da..a09934699 100644 --- a/apps/profiling/ProfilingApp.cpp +++ b/apps/profiling/ProfilingApp.cpp +@@ -137,7 +137,7 @@ int main( int argc, char* argv[] ) + walberla::logging::Logging::instance()->setLogLevel( walberla::logging::Logging::PROGRESS ); + walberla::MPIManager::instance()->useWorldComm(); + const uint_t minLevel = 2; +- const uint_t maxLevel = 4; ++ const uint_t maxLevel = 8; + using P1op = hyteg::P1ConstantLaplaceOperator; + using P2op = hyteg::P2ConstantLaplaceOperator; + @@ -148,11 +148,8 @@ int main( int argc, char* argv[] ) // SORSmoother or SymmetricSORSmoother // the symmetric variant alternates the direction of the smoothing for each iteration diff --git a/HyTeg/p1_gmres_sor.patch b/HyTeg/p1_gmres_sor.patch index d84c819..66c505f 100644 --- a/HyTeg/p1_gmres_sor.patch +++ b/HyTeg/p1_gmres_sor.patch @@ -1,7 +1,16 @@ diff --git a/apps/profiling/ProfilingApp.cpp b/apps/profiling/ProfilingApp.cpp -index 540f9d6da..edede6447 100644 +index 540f9d6da..5e1bb0121 100644 --- a/apps/profiling/ProfilingApp.cpp +++ b/apps/profiling/ProfilingApp.cpp +@@ -137,7 +137,7 @@ int main( int argc, char* argv[] ) + walberla::logging::Logging::instance()->setLogLevel( walberla::logging::Logging::PROGRESS ); + walberla::MPIManager::instance()->useWorldComm(); + const uint_t minLevel = 2; +- const uint_t maxLevel = 4; ++ const uint_t maxLevel = 8; + using P1op = hyteg::P1ConstantLaplaceOperator; + using P2op = hyteg::P2ConstantLaplaceOperator; + @@ -148,11 +148,8 @@ int main( int argc, char* argv[] ) // SORSmoother or SymmetricSORSmoother // the symmetric variant alternates the direction of the smoothing for each iteration diff --git a/HyTeg/p1_gmres_symmetric.patch b/HyTeg/p1_gmres_symmetric.patch index 5221ff0..b6c3c00 100644 --- a/HyTeg/p1_gmres_symmetric.patch +++ b/HyTeg/p1_gmres_symmetric.patch @@ -1,7 +1,16 @@ diff --git a/apps/profiling/ProfilingApp.cpp b/apps/profiling/ProfilingApp.cpp -index 540f9d6da..fc3b1fdc3 100644 +index 540f9d6da..66988e25b 100644 --- a/apps/profiling/ProfilingApp.cpp +++ b/apps/profiling/ProfilingApp.cpp +@@ -137,7 +137,7 @@ int main( int argc, char* argv[] ) + walberla::logging::Logging::instance()->setLogLevel( walberla::logging::Logging::PROGRESS ); + walberla::MPIManager::instance()->useWorldComm(); + const uint_t minLevel = 2; +- const uint_t maxLevel = 4; ++ const uint_t maxLevel = 8; + using P1op = hyteg::P1ConstantLaplaceOperator; + using P2op = hyteg::P2ConstantLaplaceOperator; + @@ -148,11 +148,8 @@ int main( int argc, char* argv[] ) // SORSmoother or SymmetricSORSmoother // the symmetric variant alternates the direction of the smoothing for each iteration diff --git a/HyTeg/p1_minres_sor.patch b/HyTeg/p1_minres_sor.patch index b7eb6c3..571832e 100644 --- a/HyTeg/p1_minres_sor.patch +++ b/HyTeg/p1_minres_sor.patch @@ -1,7 +1,16 @@ diff --git a/apps/profiling/ProfilingApp.cpp b/apps/profiling/ProfilingApp.cpp -index 540f9d6da..8263da85a 100644 +index 540f9d6da..48d99620e 100644 --- a/apps/profiling/ProfilingApp.cpp +++ b/apps/profiling/ProfilingApp.cpp +@@ -137,7 +137,7 @@ int main( int argc, char* argv[] ) + walberla::logging::Logging::instance()->setLogLevel( walberla::logging::Logging::PROGRESS ); + walberla::MPIManager::instance()->useWorldComm(); + const uint_t minLevel = 2; +- const uint_t maxLevel = 4; ++ const uint_t maxLevel = 8; + using P1op = hyteg::P1ConstantLaplaceOperator; + using P2op = hyteg::P2ConstantLaplaceOperator; + @@ -148,11 +148,8 @@ int main( int argc, char* argv[] ) // SORSmoother or SymmetricSORSmoother // the symmetric variant alternates the direction of the smoothing for each iteration diff --git a/HyTeg/p1_minres_symmetric.patch b/HyTeg/p1_minres_symmetric.patch index 5d59075..75241a6 100644 --- a/HyTeg/p1_minres_symmetric.patch +++ b/HyTeg/p1_minres_symmetric.patch @@ -1,7 +1,16 @@ diff --git a/apps/profiling/ProfilingApp.cpp b/apps/profiling/ProfilingApp.cpp -index 540f9d6da..11edf6c49 100644 +index 540f9d6da..dc65f5be2 100644 --- a/apps/profiling/ProfilingApp.cpp +++ b/apps/profiling/ProfilingApp.cpp +@@ -137,7 +137,7 @@ int main( int argc, char* argv[] ) + walberla::logging::Logging::instance()->setLogLevel( walberla::logging::Logging::PROGRESS ); + walberla::MPIManager::instance()->useWorldComm(); + const uint_t minLevel = 2; +- const uint_t maxLevel = 4; ++ const uint_t maxLevel = 8; + using P1op = hyteg::P1ConstantLaplaceOperator; + using P2op = hyteg::P2ConstantLaplaceOperator; + @@ -148,11 +148,8 @@ int main( int argc, char* argv[] ) // SORSmoother or SymmetricSORSmoother // the symmetric variant alternates the direction of the smoothing for each iteration @@ -15,13 +24,3 @@ index 540f9d6da..11edf6c49 100644 return 0; } \ No newline at end of file -diff --git a/src/hyteg/p1functionspace/P1Function.hpp b/src/hyteg/p1functionspace/P1Function.hpp -index 51935b981..397a44aa5 100644 ---- a/src/hyteg/p1functionspace/P1Function.hpp -+++ b/src/hyteg/p1functionspace/P1Function.hpp -@@ -1,4 +1,4 @@ --/* -+/*t's hard to recommend brands now bc it seems like they'll vary by store or randomly go to shit as the brand cheaps out. - * Copyright (c) 2017-2019 Boerge Struempfel, Daniel Drzisga, Dominik Thoennes, Nils Kohl. - * - * This file is part of HyTeG From ad1446e7d4495534f8b111a19d4e204de05ed681 Mon Sep 17 00:00:00 2001 From: Lukas Abelt Date: Mon, 4 Mar 2024 14:43:26 +0100 Subject: [PATCH 2/4] Incresed maxLevel for p1 to 12 for more impact of regression --- HyTeg/p1_cg_sor.patch | 2 +- HyTeg/p1_cg_symmetric.patch | 2 +- HyTeg/p1_gmres_sor.patch | 2 +- HyTeg/p1_gmres_symmetric.patch | 2 +- HyTeg/p1_minres_sor.patch | 2 +- HyTeg/p1_minres_symmetric.patch | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/HyTeg/p1_cg_sor.patch b/HyTeg/p1_cg_sor.patch index 7e968f6..6c74423 100644 --- a/HyTeg/p1_cg_sor.patch +++ b/HyTeg/p1_cg_sor.patch @@ -7,7 +7,7 @@ index 540f9d6da..9fec101e0 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 8; ++ const uint_t maxLevel = 12; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_cg_symmetric.patch b/HyTeg/p1_cg_symmetric.patch index d59ca69..b99efc1 100644 --- a/HyTeg/p1_cg_symmetric.patch +++ b/HyTeg/p1_cg_symmetric.patch @@ -7,7 +7,7 @@ index 540f9d6da..a09934699 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 8; ++ const uint_t maxLevel = 12; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_gmres_sor.patch b/HyTeg/p1_gmres_sor.patch index 66c505f..a203b12 100644 --- a/HyTeg/p1_gmres_sor.patch +++ b/HyTeg/p1_gmres_sor.patch @@ -7,7 +7,7 @@ index 540f9d6da..5e1bb0121 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 8; ++ const uint_t maxLevel = 12; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_gmres_symmetric.patch b/HyTeg/p1_gmres_symmetric.patch index b6c3c00..ab76178 100644 --- a/HyTeg/p1_gmres_symmetric.patch +++ b/HyTeg/p1_gmres_symmetric.patch @@ -7,7 +7,7 @@ index 540f9d6da..66988e25b 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 8; ++ const uint_t maxLevel = 12; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_minres_sor.patch b/HyTeg/p1_minres_sor.patch index 571832e..12043f2 100644 --- a/HyTeg/p1_minres_sor.patch +++ b/HyTeg/p1_minres_sor.patch @@ -7,7 +7,7 @@ index 540f9d6da..48d99620e 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 8; ++ const uint_t maxLevel = 12; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_minres_symmetric.patch b/HyTeg/p1_minres_symmetric.patch index 75241a6..7e0db9f 100644 --- a/HyTeg/p1_minres_symmetric.patch +++ b/HyTeg/p1_minres_symmetric.patch @@ -7,7 +7,7 @@ index 540f9d6da..dc65f5be2 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 8; ++ const uint_t maxLevel = 12; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; From 54ce304a23a55bdc4da4192aa2f6ca2837365867 Mon Sep 17 00:00:00 2001 From: Lukas Abelt Date: Tue, 5 Mar 2024 15:35:23 +0100 Subject: [PATCH 3/4] Adjusted maxLevel for p1 --- HyTeg/p1_cg_sor.patch | 2 +- HyTeg/p1_cg_symmetric.patch | 2 +- HyTeg/p1_gmres_sor.patch | 2 +- HyTeg/p1_gmres_symmetric.patch | 2 +- HyTeg/p1_minres_sor.patch | 2 +- HyTeg/p1_minres_symmetric.patch | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/HyTeg/p1_cg_sor.patch b/HyTeg/p1_cg_sor.patch index 6c74423..389dddc 100644 --- a/HyTeg/p1_cg_sor.patch +++ b/HyTeg/p1_cg_sor.patch @@ -7,7 +7,7 @@ index 540f9d6da..9fec101e0 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 12; ++ const uint_t maxLevel = 10; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_cg_symmetric.patch b/HyTeg/p1_cg_symmetric.patch index b99efc1..ac26af1 100644 --- a/HyTeg/p1_cg_symmetric.patch +++ b/HyTeg/p1_cg_symmetric.patch @@ -7,7 +7,7 @@ index 540f9d6da..a09934699 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 12; ++ const uint_t maxLevel = 10; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_gmres_sor.patch b/HyTeg/p1_gmres_sor.patch index a203b12..b42b67f 100644 --- a/HyTeg/p1_gmres_sor.patch +++ b/HyTeg/p1_gmres_sor.patch @@ -7,7 +7,7 @@ index 540f9d6da..5e1bb0121 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 12; ++ const uint_t maxLevel = 10; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_gmres_symmetric.patch b/HyTeg/p1_gmres_symmetric.patch index ab76178..316761d 100644 --- a/HyTeg/p1_gmres_symmetric.patch +++ b/HyTeg/p1_gmres_symmetric.patch @@ -7,7 +7,7 @@ index 540f9d6da..66988e25b 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 12; ++ const uint_t maxLevel = 10; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_minres_sor.patch b/HyTeg/p1_minres_sor.patch index 12043f2..c4f2260 100644 --- a/HyTeg/p1_minres_sor.patch +++ b/HyTeg/p1_minres_sor.patch @@ -7,7 +7,7 @@ index 540f9d6da..48d99620e 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 12; ++ const uint_t maxLevel = 10; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_minres_symmetric.patch b/HyTeg/p1_minres_symmetric.patch index 7e0db9f..6ea570c 100644 --- a/HyTeg/p1_minres_symmetric.patch +++ b/HyTeg/p1_minres_symmetric.patch @@ -7,7 +7,7 @@ index 540f9d6da..dc65f5be2 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 12; ++ const uint_t maxLevel = 10; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; From 0125a8cc49336feb30f128022b1e558d5c30069b Mon Sep 17 00:00:00 2001 From: Lukas Abelt Date: Wed, 20 Mar 2024 10:31:19 +0100 Subject: [PATCH 4/4] Adapted maxlevel --- HyTeg/p1_cg_sor.patch | 2 +- HyTeg/p1_cg_symmetric.patch | 2 +- HyTeg/p1_gmres_sor.patch | 2 +- HyTeg/p1_gmres_symmetric.patch | 2 +- HyTeg/p1_minres_sor.patch | 2 +- HyTeg/p1_minres_symmetric.patch | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/HyTeg/p1_cg_sor.patch b/HyTeg/p1_cg_sor.patch index 389dddc..3db9b05 100644 --- a/HyTeg/p1_cg_sor.patch +++ b/HyTeg/p1_cg_sor.patch @@ -7,7 +7,7 @@ index 540f9d6da..9fec101e0 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 10; ++ const uint_t maxLevel = 7; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_cg_symmetric.patch b/HyTeg/p1_cg_symmetric.patch index ac26af1..445a4d6 100644 --- a/HyTeg/p1_cg_symmetric.patch +++ b/HyTeg/p1_cg_symmetric.patch @@ -7,7 +7,7 @@ index 540f9d6da..a09934699 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 10; ++ const uint_t maxLevel = 7; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_gmres_sor.patch b/HyTeg/p1_gmres_sor.patch index b42b67f..af502d2 100644 --- a/HyTeg/p1_gmres_sor.patch +++ b/HyTeg/p1_gmres_sor.patch @@ -7,7 +7,7 @@ index 540f9d6da..5e1bb0121 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 10; ++ const uint_t maxLevel = 7; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_gmres_symmetric.patch b/HyTeg/p1_gmres_symmetric.patch index 316761d..eba67bc 100644 --- a/HyTeg/p1_gmres_symmetric.patch +++ b/HyTeg/p1_gmres_symmetric.patch @@ -7,7 +7,7 @@ index 540f9d6da..66988e25b 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 10; ++ const uint_t maxLevel = 7; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_minres_sor.patch b/HyTeg/p1_minres_sor.patch index c4f2260..6c6ce75 100644 --- a/HyTeg/p1_minres_sor.patch +++ b/HyTeg/p1_minres_sor.patch @@ -7,7 +7,7 @@ index 540f9d6da..48d99620e 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 10; ++ const uint_t maxLevel = 7; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator; diff --git a/HyTeg/p1_minres_symmetric.patch b/HyTeg/p1_minres_symmetric.patch index 6ea570c..6190fca 100644 --- a/HyTeg/p1_minres_symmetric.patch +++ b/HyTeg/p1_minres_symmetric.patch @@ -7,7 +7,7 @@ index 540f9d6da..dc65f5be2 100644 walberla::MPIManager::instance()->useWorldComm(); const uint_t minLevel = 2; - const uint_t maxLevel = 4; -+ const uint_t maxLevel = 10; ++ const uint_t maxLevel = 7; using P1op = hyteg::P1ConstantLaplaceOperator; using P2op = hyteg::P2ConstantLaplaceOperator;