OperationLogger Struct Reference#
|
Reference API
|
loggers::OperationLogger Struct Reference
Inheritance diagram for loggers::OperationLogger:
Public Member Functions | |
| void | on_allocation_started (const gko::Executor *exec, const gko::size_type &) const override |
| void | on_allocation_completed (const gko::Executor *exec, const gko::size_type &, const gko::uintptr &) const override |
| void | on_free_started (const gko::Executor *exec, const gko::uintptr &) const override |
| void | on_free_completed (const gko::Executor *exec, const gko::uintptr &) const override |
| void | on_copy_started (const gko::Executor *from, const gko::Executor *to, const gko::uintptr &, const gko::uintptr &, const gko::size_type &) const override |
| void | on_copy_completed (const gko::Executor *from, const gko::Executor *to, const gko::uintptr &, const gko::uintptr &, const gko::size_type &) const override |
| void | on_operation_launched (const gko::Executor *exec, const gko::Operation *op) const override |
| void | on_operation_completed (const gko::Executor *exec, const gko::Operation *op) const override |
| void | write_data (std::ostream &ostream) |
Public Member Functions inherited from gko::log::Logger | |
| 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 |
Additional Inherited Members | |
Public Types inherited from gko::log::Logger | |
| using | mask_type = gko::uint64 |
Static Public Attributes inherited from gko::log::Logger | |
| static constexpr size_type | event_count_max = sizeof(mask_type) * byte_size |
| static constexpr mask_type | all_events_mask = ~mask_type{0} |
| 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 |
| static constexpr mask_type | operation_events_mask |
| static constexpr mask_type | polymorphic_object_events_mask |
| static constexpr mask_type | linop_events_mask |
| static constexpr mask_type | linop_factory_events_mask |
| static constexpr mask_type | batch_linop_factory_events_mask |
| static constexpr mask_type | criterion_events_mask |
Protected Member Functions inherited from gko::log::Logger | |
| virtual void | on_polymorphic_object_create_started (const Executor *exec, const PolymorphicObject *po) const |
| virtual void | on_polymorphic_object_create_completed (const Executor *exec, const PolymorphicObject *input, const PolymorphicObject *output) const |
| virtual void | on_polymorphic_object_copy_started (const Executor *exec, const PolymorphicObject *input, const PolymorphicObject *output) const |
| virtual void | on_polymorphic_object_copy_completed (const Executor *exec, const PolymorphicObject *input, const PolymorphicObject *output) const |
| virtual void | on_polymorphic_object_deleted (const Executor *exec, const PolymorphicObject *po) const |
| virtual void | on_linop_apply_started (const LinOp *A, const LinOp *b, const LinOp *x) const |
| virtual void | on_linop_apply_completed (const LinOp *A, const LinOp *b, const LinOp *x) const |
| virtual void | on_linop_advanced_apply_started (const LinOp *A, const LinOp *alpha, const LinOp *b, const LinOp *beta, const LinOp *x) const |
| virtual void | on_linop_advanced_apply_completed (const LinOp *A, const LinOp *alpha, const LinOp *b, const LinOp *beta, const LinOp *x) const |
| virtual void | on_linop_factory_generate_started (const LinOpFactory *factory, const LinOp *input) const |
| virtual void | on_linop_factory_generate_completed (const LinOpFactory *factory, const LinOp *input, const LinOp *output) const |
| virtual void | on_criterion_check_started (const stop::Criterion *criterion, const size_type &it, const LinOp *r, const LinOp *tau, const LinOp *x, const uint8 &stopping_id, const bool &set_finalized) const |
| virtual void | on_criterion_check_completed (const stop::Criterion *criterion, const size_type &it, const LinOp *r, const LinOp *tau, const LinOp *x, const uint8 &stopping_id, const bool &set_finalized, const array< stopping_status > *status, const bool &one_changed, const bool &all_converged) const |
| virtual void | on_criterion_check_completed (const stop::Criterion *criterion, const size_type &it, const LinOp *r, const LinOp *tau, const LinOp *implicit_tau_sq, const LinOp *x, const uint8 &stopping_id, const bool &set_finalized, const array< stopping_status > *status, const bool &one_changed, const bool &all_converged) const |
| virtual void | on_iteration_complete (const LinOp *solver, const size_type &it, const LinOp *r, const LinOp *x=nullptr, const LinOp *tau=nullptr) const |
| virtual void | on_iteration_complete (const LinOp *solver, const size_type &it, const LinOp *r, const LinOp *x, const LinOp *tau, const LinOp *implicit_tau_sq) const |
| virtual void | on_iteration_complete (const LinOp *solver, const LinOp *b, const LinOp *x, const size_type &it, const LinOp *r, const LinOp *tau, const LinOp *implicit_tau_sq, const array< stopping_status > *status, bool stopped) const |
| virtual void | on_polymorphic_object_move_started (const Executor *exec, const PolymorphicObject *input, const PolymorphicObject *output) const |
| virtual void | on_polymorphic_object_move_completed (const Executor *exec, const PolymorphicObject *input, const PolymorphicObject *output) const |
| virtual void | on_batch_linop_factory_generate_started (const batch::BatchLinOpFactory *factory, const batch::BatchLinOp *input) const |
| virtual void | on_batch_linop_factory_generate_completed (const batch::BatchLinOpFactory *factory, const batch::BatchLinOp *input, const batch::BatchLinOp *output) const |
| virtual void | on_batch_solver_completed (const array< int > &iters, const array< double > &residual_norms) const |
| virtual void | on_batch_solver_completed (const array< int > &iters, const array< float > &residual_norms) const |
| virtual void | on_batch_solver_completed (const array< int > &iters, const array< gko::half > &residual_norms) const |
| Logger (std::shared_ptr< const gko::Executor > exec, const mask_type &enabled_events=all_events_mask) | |
| Logger (const mask_type &enabled_events=all_events_mask) | |
Member Function Documentation
◆ on_allocation_completed()
|
inlineoverridevirtual |
Executor's allocation completed event.
- Parameters
-
exec the executor used num_bytes the number of bytes allocated location the address at which the data was allocated
Reimplemented from gko::log::Logger.
◆ on_allocation_started()
|
inlineoverridevirtual |
Executor's allocation started event.
- Parameters
-
exec the executor used num_bytes the number of bytes to allocate
Reimplemented from gko::log::Logger.
◆ on_copy_completed()
|
inlineoverridevirtual |
Executor's copy completed event.
- Parameters
-
exec_from the executor copied from exec_to the executor copied to loc_from the address at which the data was copied from loc_to the address at which the data was copied to num_bytes the number of bytes copied
Reimplemented from gko::log::Logger.
References gko::Executor::synchronize().
◆ on_copy_started()
|
inlineoverridevirtual |
Executor's copy started event.
- Parameters
-
exec_from the executor to be copied from exec_to the executor to be copied to loc_from the address at which the data will be copied from loc_to the address at which the data will be copied to num_bytes the number of bytes to be copied
Reimplemented from gko::log::Logger.
References gko::Executor::synchronize().
◆ on_free_completed()
|
inlineoverridevirtual |
Executor's free completed event.
- Parameters
-
exec the executor used location the address at which the data was freed
Reimplemented from gko::log::Logger.
◆ on_free_started()
|
inlineoverridevirtual |
Executor's free started event.
- Parameters
-
exec the executor used location the address at which the data will be freed
Reimplemented from gko::log::Logger.
◆ on_operation_completed()
|
inlineoverridevirtual |
Executor's operation completed event (method run).
- Parameters
-
exec the executor used op the completed operation
- Note
- For the GPU, to be certain that the operation completed it is required to call synchronize. This burden falls on the logger. Most of the loggers will do lightweight logging, and therefore this operation for the GPU just notes that the Operation has been sent to the GPU.
Reimplemented from gko::log::Logger.
References gko::Operation::get_name().
◆ on_operation_launched()
|
inlineoverridevirtual |
Executor's operation launched event (method run).
- Parameters
-
exec the executor used op the operation launched
Reimplemented from gko::log::Logger.
References gko::Operation::get_name().
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/ginkgo-test/checkouts/latest/build/doc/doxygen/examples/performance-debugging.cpp
Generated by
Public Member Functions inherited from