![]() |
Ginkgo Generated from branch based on main. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
|
This Logger outputs the value of all scalar values (and potentially vectors) stored internally by the solver after each iteration. More...
#include <ginkgo/core/log/solver_progress.hpp>
Static Public Member Functions | |
static std::shared_ptr< SolverProgress > | create_scalar_table_writer (std::ostream &output, int precision=6, int column_width=12) |
Creates a logger printing the value for all scalar values in the solver after each iteration in an ASCII table. | |
static std::shared_ptr< SolverProgress > | create_scalar_csv_writer (std::ostream &output, int precision=6, char separator=',') |
Creates a logger printing the value for all scalar values in the solver after each iteration in a CSV table. | |
static std::shared_ptr< SolverProgress > | create_vector_storage (std::string output_file_prefix="solver_", bool binary=false) |
Creates a logger storing all vectors and scalar values in the solver after each iteration on disk. | |
Additional Inherited Members | |
![]() | |
using | mask_type = gko::uint64 |
![]() | |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==0 &&(0< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==1 &&(1< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==2 &&(2< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==3 &&(3< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==4 &&(4< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==5 &&(5< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==6 &&(6< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==7 &&(7< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==8 &&(8< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==9 &&(9< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==10 &&(10< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==11 &&(11< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==12 &&(12< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==13 &&(13< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==14 &&(14< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==15 &&(15< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==16 &&(16< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==17 &&(17< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==18 &&(18< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==19 &&(19< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==20 &&(20< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==21 &&(21< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==22 &&(22< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==23 &&(23< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==24 &&(24< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==25 &&(25< event_count_max)> | on (Params &&... params) const |
template<size_type Event, typename... Params> | |
std::enable_if_t< Event==26 &&(26< event_count_max)> | on (Params &&... params) const |
virtual bool | needs_propagation () const |
Returns true if this logger, when attached to an Executor, needs to be forwarded all events from objects on this executor. | |
![]() | |
static constexpr size_type | event_count_max = sizeof(mask_type) * byte_size |
Maximum amount of events (bits) with the current implementation. | |
static constexpr mask_type | all_events_mask = ~mask_type{0} |
Bitset Mask which activates all events. | |
static constexpr size_type | allocation_started {0} |
static constexpr mask_type | allocation_started_mask {mask_type{1} << 0} |
static constexpr size_type | allocation_completed {1} |
static constexpr mask_type | allocation_completed_mask {mask_type{1} << 1} |
static constexpr size_type | free_started {2} |
static constexpr mask_type | free_started_mask {mask_type{1} << 2} |
static constexpr size_type | free_completed {3} |
static constexpr mask_type | free_completed_mask {mask_type{1} << 3} |
static constexpr size_type | copy_started {4} |
static constexpr mask_type | copy_started_mask {mask_type{1} << 4} |
static constexpr size_type | copy_completed {5} |
static constexpr mask_type | copy_completed_mask {mask_type{1} << 5} |
static constexpr size_type | operation_launched {6} |
static constexpr mask_type | operation_launched_mask {mask_type{1} << 6} |
static constexpr size_type | operation_completed {7} |
static constexpr mask_type | operation_completed_mask {mask_type{1} << 7} |
static constexpr size_type | polymorphic_object_create_started {8} |
static constexpr mask_type | polymorphic_object_create_started_mask {mask_type{1} << 8} |
static constexpr size_type | polymorphic_object_create_completed {9} |
static constexpr mask_type | polymorphic_object_create_completed_mask {mask_type{1} << 9} |
static constexpr size_type | polymorphic_object_copy_started {10} |
static constexpr mask_type | polymorphic_object_copy_started_mask {mask_type{1} << 10} |
static constexpr size_type | polymorphic_object_copy_completed {11} |
static constexpr mask_type | polymorphic_object_copy_completed_mask {mask_type{1} << 11} |
static constexpr size_type | polymorphic_object_deleted {12} |
static constexpr mask_type | polymorphic_object_deleted_mask {mask_type{1} << 12} |
static constexpr size_type | linop_apply_started {13} |
static constexpr mask_type | linop_apply_started_mask {mask_type{1} << 13} |
static constexpr size_type | linop_apply_completed {14} |
static constexpr mask_type | linop_apply_completed_mask {mask_type{1} << 14} |
static constexpr size_type | linop_advanced_apply_started {15} |
static constexpr mask_type | linop_advanced_apply_started_mask {mask_type{1} << 15} |
static constexpr size_type | linop_advanced_apply_completed {16} |
static constexpr mask_type | linop_advanced_apply_completed_mask {mask_type{1} << 16} |
static constexpr size_type | linop_factory_generate_started {17} |
static constexpr mask_type | linop_factory_generate_started_mask {mask_type{1} << 17} |
static constexpr size_type | linop_factory_generate_completed {18} |
static constexpr mask_type | linop_factory_generate_completed_mask {mask_type{1} << 18} |
static constexpr size_type | criterion_check_started {19} |
static constexpr mask_type | criterion_check_started_mask {mask_type{1} << 19} |
static constexpr size_type | criterion_check_completed {20} |
static constexpr mask_type | criterion_check_completed_mask {mask_type{1} << 20} |
static constexpr size_type | iteration_complete {21} |
static constexpr mask_type | iteration_complete_mask {mask_type{1} << 21} |
static constexpr size_type | polymorphic_object_move_started {22} |
static constexpr mask_type | polymorphic_object_move_started_mask {mask_type{1} << 22} |
static constexpr size_type | polymorphic_object_move_completed {23} |
static constexpr mask_type | polymorphic_object_move_completed_mask {mask_type{1} << 23} |
static constexpr size_type | batch_linop_factory_generate_started {24} |
static constexpr mask_type | batch_linop_factory_generate_started_mask {mask_type{1} << 24} |
static constexpr size_type | batch_linop_factory_generate_completed {25} |
static constexpr mask_type | batch_linop_factory_generate_completed_mask {mask_type{1} << 25} |
static constexpr size_type | batch_solver_completed {26} |
static constexpr mask_type | batch_solver_completed_mask {mask_type{1} << 26} |
static constexpr mask_type | executor_events_mask |
Bitset Mask which activates all executor events. | |
static constexpr mask_type | operation_events_mask |
Bitset Mask which activates all operation events. | |
static constexpr mask_type | polymorphic_object_events_mask |
Bitset Mask which activates all polymorphic object events. | |
static constexpr mask_type | linop_events_mask |
Bitset Mask which activates all linop events. | |
static constexpr mask_type | linop_factory_events_mask |
Bitset Mask which activates all linop factory events. | |
static constexpr mask_type | batch_linop_factory_events_mask |
Bitset Mask which activates all batch linop factory events. | |
static constexpr mask_type | criterion_events_mask |
Bitset Mask which activates all criterion events. | |
This Logger outputs the value of all scalar values (and potentially vectors) stored internally by the solver after each iteration.
It needs to be attached to the solver being inspected.
|
static |
Creates a logger printing the value for all scalar values in the solver after each iteration in a CSV table.
If the solver is applied to multiple right-hand sides, only the first right-hand side gets printed.
output | the stream to write the output to. |
precision | the number of digits of precision to print |
separator | the character separating columns from each other |
|
static |
Creates a logger printing the value for all scalar values in the solver after each iteration in an ASCII table.
If the solver is applied to multiple right-hand sides, only the first right-hand side gets printed.
output | the stream to write the output to. |
precision | the number of digits of precision to print |
column_width | the number of characters an output column is wide |
|
static |
Creates a logger storing all vectors and scalar values in the solver after each iteration on disk.
This logger can handle multiple right-hand sides, in contrast to create_scalar_table_writer or create_scalar_csv_writer.
output | the path and file name prefix used to generate the output file names. |
precision | the number of digits of precision to print when outputting matrices in text format |
binary | if true, write data in Ginkgo's own binary format (lossless), if false write data in the MatrixMarket format (potentially lossy) |