diff --git a/cmake/CTestScript.cmake b/cmake/CTestScript.cmake index 0b018ff8a58..5ba277eea80 100644 --- a/cmake/CTestScript.cmake +++ b/cmake/CTestScript.cmake @@ -161,8 +161,9 @@ ctest_submit(PARTS Start) if(CTEST_MEMORYCHECK_TYPE STREQUAL "CudaMemcheck") # generate line number information for CUDA + # we disable bfloat16 because our job is executed on the gpu does not support bfloat16 natively set(GINKGO_CONFIGURE_OPTIONS - "-DGINKGO_DEVEL_TOOLS=OFF;-DGINKGO_BUILD_REFERENCE=ON;-DGINKGO_BUILD_OMP=OFF;-DGINKGO_BUILD_CUDA=ON;-DGINKGO_BUILD_HIP=OFF;-DGINKGO_BUILD_SYCL=OFF;-DCMAKE_BUILD_TYPE=${CTEST_BUILD_CONFIGURATION};-DCMAKE_CUDA_FLAGS=-lineinfo" + "-DGINKGO_ENABLE_BFLOAT16=OFF;-DGINKGO_DEVEL_TOOLS=OFF;-DGINKGO_BUILD_REFERENCE=ON;-DGINKGO_BUILD_OMP=OFF;-DGINKGO_BUILD_CUDA=ON;-DGINKGO_BUILD_HIP=OFF;-DGINKGO_BUILD_SYCL=OFF;-DCMAKE_BUILD_TYPE=${CTEST_BUILD_CONFIGURATION};-DCMAKE_CUDA_FLAGS=-lineinfo" ) elseif( ( diff --git a/cmake/generate_ginkgo_hpp.cmake b/cmake/generate_ginkgo_hpp.cmake index 7121e0cb87d..2d749678779 100644 --- a/cmake/generate_ginkgo_hpp.cmake +++ b/cmake/generate_ginkgo_hpp.cmake @@ -13,6 +13,7 @@ function(ginkgo_generate_ginkgo_hpp) (file MATCHES "^ginkgo/extensions/.*$") OR (file MATCHES "^ginkgo/core/stop/residual_norm_reduction.hpp$") OR (file MATCHES "^ginkgo/core/solver/.*_trs.hpp$") + OR (file MATCHES "^ginkgo/core/preconditioner/utils.hpp$") ) continue() endif() diff --git a/core/config/preconditioner_ic_config.cpp b/core/config/preconditioner_ic_config.cpp index d90792c2609..ff95535f597 100644 --- a/core/config/preconditioner_ic_config.cpp +++ b/core/config/preconditioner_ic_config.cpp @@ -27,9 +27,9 @@ parse(const gko::config::pnode& config, if (config.get("l_solver_type_or_value_type")) { GKO_INVALID_STATE( "preconditioner::Ic only allows value_type from " - "l_solver_type_or_value_type. To avoid type confusion between " - "these types and value_type, l_solver_type_or_value_type uses " - "the value_type directly."); + "l_solver_type_or_value_type. Please use value_type key to set the " + "value type used by the preconditioner and the l_lover key to set " + "the solvers used for the lower triangular systems."); } return gko::config::dispatch( config, context, updated, diff --git a/core/config/preconditioner_ilu_config.cpp b/core/config/preconditioner_ilu_config.cpp index 3714d356e71..0eb11d094e2 100644 --- a/core/config/preconditioner_ilu_config.cpp +++ b/core/config/preconditioner_ilu_config.cpp @@ -1,16 +1,11 @@ -// SPDX-FileCopyrightText: 2017 - 2024 The Ginkgo authors +// SPDX-FileCopyrightText: 2017 - 2025 The Ginkgo authors // // SPDX-License-Identifier: BSD-3-Clause #include #include #include -#include #include -#include -#include -#include -#include #include "core/config/config_helper.hpp" #include "core/config/dispatch.hpp" @@ -22,19 +17,18 @@ namespace gko { namespace config { -// For Ic and Ilu, we use additional ValueType to help Solver type decision -template +template class IluSolverHelper { public: template class Configurator { public: - static typename preconditioner::Ilu::parameters_type parse(const pnode& config, const registry& context, const type_descriptor& td_for_child) { - return preconditioner::Ilu::parse(config, context, td_for_child); } @@ -42,103 +36,35 @@ class IluSolverHelper { }; -template