5 #ifndef GKO_PUBLIC_CORE_LOG_BATCH_LOGGER_HPP_
6 #define GKO_PUBLIC_CORE_LOG_BATCH_LOGGER_HPP_
11 #include <ginkgo/core/base/batch_multi_vector.hpp>
12 #include <ginkgo/core/base/types.hpp>
13 #include <ginkgo/core/log/logger.hpp>
32 template <
typename ValueType>
33 struct log_data final {
35 using index_type = int;
37 log_data(std::shared_ptr<const Executor> exec,
size_type num_batch_items);
39 log_data(std::shared_ptr<const Executor> exec,
size_type num_batch_items,
69 template <
typename ValueType = default_precision>
71 GKO_ASSERT_SUPPORTED_VALUE_TYPE;
75 using index_type = int;
76 using mask_type = gko::log::Logger::mask_type;
78 void on_batch_solver_completed(
94 static std::unique_ptr<BatchConvergence>
create(
95 const mask_type& enabled_events =
96 gko::log::Logger::batch_solver_completed_mask)
98 return std::unique_ptr<BatchConvergence>(
107 return iteration_count_;
115 return residual_norm_;
120 gko::log::Logger::batch_solver_completed_mask)
121 :
gko::log::Logger(enabled_events)
135 #endif // GKO_PUBLIC_CORE_LOG_BATCH_LOGGER_HPP_