5 #ifndef GKO_PUBLIC_CORE_LOG_BATCH_LOGGER_HPP_
6 #define GKO_PUBLIC_CORE_LOG_BATCH_LOGGER_HPP_
12 #include <ginkgo/core/base/batch_multi_vector.hpp>
13 #include <ginkgo/core/base/types.hpp>
14 #include <ginkgo/core/log/logger.hpp>
33 template <
typename ValueType>
34 struct log_data final {
36 using index_type = int;
38 log_data(std::shared_ptr<const Executor> exec,
size_type num_batch_items);
40 log_data(std::shared_ptr<const Executor> exec,
size_type num_batch_items,
70 template <
typename ValueType = default_precision>
74 using index_type = int;
75 using mask_type = gko::log::Logger::mask_type;
77 void on_batch_solver_completed(
93 static std::unique_ptr<BatchConvergence>
create(
94 const mask_type& enabled_events =
95 gko::log::Logger::batch_solver_completed_mask)
97 return std::unique_ptr<BatchConvergence>(
106 return iteration_count_;
114 return residual_norm_;
119 gko::log::Logger::batch_solver_completed_mask)
120 :
gko::log::Logger(enabled_events)
134 #endif // GKO_PUBLIC_CORE_LOG_BATCH_LOGGER_HPP_