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>
73 using index_type = int;
74 using mask_type = gko::log::Logger::mask_type;
76 void on_batch_solver_completed(
92 static std::unique_ptr<BatchConvergence>
create(
93 const mask_type& enabled_events =
94 gko::log::Logger::batch_solver_completed_mask)
96 return std::unique_ptr<BatchConvergence>(
105 return iteration_count_;
113 return residual_norm_;
118 gko::log::Logger::batch_solver_completed_mask)
119 :
gko::log::Logger(enabled_events)
133 #endif // GKO_PUBLIC_CORE_LOG_BATCH_LOGGER_HPP_