diff --git a/paddle/fluid/framework/details/scope_buffered_monitor.cc b/paddle/fluid/framework/details/scope_buffered_monitor.cc index 5881148190752d7f2e79e441ff18e1361a657673..57faf0e75ba99ca023ac5bddfcd2f45835694fa5 100644 --- a/paddle/fluid/framework/details/scope_buffered_monitor.cc +++ b/paddle/fluid/framework/details/scope_buffered_monitor.cc @@ -13,7 +13,7 @@ // limitations under the License. #include "paddle/fluid/framework/details/scope_buffered_monitor.h" -#include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" namespace paddle { namespace framework { @@ -91,7 +91,8 @@ void ScopeBufferedMonitor::Apply(const std::function &callback, bool has_fetch) { std::unique_ptr pre_local_exec_scopes_event( new platform::RecordEvent( - "ScopeBufferedMonitor::pre_local_exec_scopes_process")); + "ScopeBufferedMonitor::pre_local_exec_scopes_process", + platform::TracerEventType::UserDefined, 2)); for (size_t scope_id = 0; scope_id < local_exec_scopes_.size(); ++scope_id) { pre_local_exec_scopes_.at(scope_id).clear(); auto scopes = local_exec_scopes_.at(scope_id)->kids(); @@ -105,7 +106,8 @@ void ScopeBufferedMonitor::Apply(const std::function &callback, std::unique_ptr post_local_exec_scopes_event( new platform::RecordEvent( - "ScopeBufferedMonitor::post_local_exec_scopes_process")); + "ScopeBufferedMonitor::post_local_exec_scopes_process", + platform::TracerEventType::UserDefined, 2)); for (size_t scope_id = 0; scope_id < local_exec_scopes_.size(); ++scope_id) { post_local_exec_scopes_.at(scope_id).clear(); auto scopes = local_exec_scopes_.at(scope_id)->kids(); diff --git a/paddle/fluid/framework/details/scope_buffered_ssa_graph_executor.cc b/paddle/fluid/framework/details/scope_buffered_ssa_graph_executor.cc index 5d271d06b6922f85cfc3560dac27a94721f65e18..d49630129757b85d5a1914e5379b852dd1ee2ffc 100644 --- a/paddle/fluid/framework/details/scope_buffered_ssa_graph_executor.cc +++ b/paddle/fluid/framework/details/scope_buffered_ssa_graph_executor.cc @@ -23,7 +23,7 @@ #include "paddle/fluid/framework/op_registry.h" #include "paddle/fluid/framework/variable_helper.h" #include "paddle/fluid/platform/cuda_graph_with_memory_pool.h" -#include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" namespace paddle { namespace framework { @@ -75,7 +75,8 @@ FetchResultType ScopeBufferedSSAGraphExecutor::Run( #endif if (drop_scope_counter_ == 0) { - platform::RecordEvent e("InitLocalVars"); + platform::RecordEvent e("InitLocalVars", + platform::TracerEventType::UserDefined, 2); InitVariables(); } @@ -164,7 +165,8 @@ void ScopeBufferedSSAGraphExecutor::InitVariables() { } void ScopeBufferedSSAGraphExecutor::DropLocalExeScopes(bool need_wait) { - platform::RecordEvent drop_scope_event("DropLocalExeScopes"); + platform::RecordEvent drop_scope_event( + "DropLocalExeScopes", platform::TracerEventType::UserDefined, 2); drop_scope_counter_ = 0; if (need_wait) { for (auto &p : places_) { diff --git a/paddle/fluid/framework/details/sparse_all_reduce_op_handle.cc b/paddle/fluid/framework/details/sparse_all_reduce_op_handle.cc index f0de723c20b74029bcbe6fbb77bb583132521b36..d198eb1459288f269fe1728f630f293ef4b9b596 100644 --- a/paddle/fluid/framework/details/sparse_all_reduce_op_handle.cc +++ b/paddle/fluid/framework/details/sparse_all_reduce_op_handle.cc @@ -25,7 +25,7 @@ #include "paddle/fluid/memory/malloc.h" #include "paddle/fluid/platform/cuda_device_guard.h" #include "paddle/fluid/platform/device/gpu/gpu_info.h" -#include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" DECLARE_bool(sync_nccl_allreduce); @@ -66,7 +66,8 @@ SparseAllReduceOpHandle::SparseAllReduceOpHandle( } void SparseAllReduceOpHandle::RunImplEncoded() { - platform::RecordEvent record_event(Name()); + platform::RecordEvent record_event(Name(), + platform::TracerEventType::UserDefined, 2); auto in_var_handles = DynamicCast(this->Inputs()); auto out_var_handles = DynamicCast(this->Outputs()); @@ -279,6 +280,8 @@ bool SparseAllReduceOpHandle::IsEncoded() { } void SparseAllReduceOpHandle::RunImpl() { + platform::RecordEvent record_event( + Name(), platform::TracerEventType::Communication, 1); if (!IsEncoded()) { AllReduceOpHandle::RunImpl(); return; diff --git a/paddle/fluid/framework/details/threaded_ssa_graph_executor.cc b/paddle/fluid/framework/details/threaded_ssa_graph_executor.cc index c8a6cd25f0fcbe9724972225d03b539285b7225f..39683c9a0d868061cb63df6ab11362b15b5a8742 100644 --- a/paddle/fluid/framework/details/threaded_ssa_graph_executor.cc +++ b/paddle/fluid/framework/details/threaded_ssa_graph_executor.cc @@ -15,7 +15,7 @@ #include "paddle/fluid/framework/details/threaded_ssa_graph_executor.h" #include "paddle/fluid/framework/ir/graph_helper.h" -#include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" #if defined PADDLE_WITH_PSCORE #include "paddle/fluid/distributed/ps/service/communicator/communicator.h" @@ -56,7 +56,8 @@ ThreadedSSAGraphExecutor::ThreadedSSAGraphExecutor( inline FetchResultType ThreadedSSAGraphExecutor::RunImpl( const std::vector &fetch_tensors, bool return_merged) { std::unique_ptr event( - new platform::RecordEvent("ThreadedSSAGraphExecutorPrepare")); + new platform::RecordEvent("ThreadedSSAGraphExecutorPrepare", + platform::TracerEventType::UserDefined, 2)); std::unique_ptr op_deps = op_deps_futures_.get(); CopyOpDeps(); diff --git a/paddle/fluid/framework/executor.cc b/paddle/fluid/framework/executor.cc index 4e6a4d5360860e8971c6dc9c2842defabcffd0dd..48850d4624a14c32d30e4562b322115127823c6b 100644 --- a/paddle/fluid/framework/executor.cc +++ b/paddle/fluid/framework/executor.cc @@ -22,6 +22,7 @@ limitations under the License. */ #include "paddle/fluid/operators/controlflow/while_op_helper.h" #include "paddle/fluid/platform/place.h" #include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" #ifdef PADDLE_WITH_MKLDNN #include "paddle/fluid/platform/mkldnn_helper.h" #endif diff --git a/paddle/fluid/framework/ir/cost_model.h b/paddle/fluid/framework/ir/cost_model.h index 41567df2cb332ab79c1f05b67b7b82bc829f67e8..20d9be7e95c39f77daec01bee0a676247857b484 100644 --- a/paddle/fluid/framework/ir/cost_model.h +++ b/paddle/fluid/framework/ir/cost_model.h @@ -26,6 +26,7 @@ #include "paddle/fluid/framework/ir/node.h" #include "paddle/fluid/framework/program_desc.h" #include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" #include "paddle/fluid/platform/variant.h" namespace paddle { diff --git a/paddle/fluid/framework/new_executor/interpretercore.cc b/paddle/fluid/framework/new_executor/interpretercore.cc index a73aeddae87857ac452735c4c774a8ed54c9f2eb..766a3b9e495d521db3d628d170fb13fa32bdebb2 100644 --- a/paddle/fluid/framework/new_executor/interpretercore.cc +++ b/paddle/fluid/framework/new_executor/interpretercore.cc @@ -388,7 +388,9 @@ void InterpreterCore::RunInstruction(const Instruction& instr_node) { : global_scope_->GetMutableScope(); auto op_with_kernel = dynamic_cast(op); { - platform::RecordEvent infershape_event("InferShape"); + platform::RecordEvent infershape_event( + "InferShape", platform::TracerEventType::OperatorInner, 1, + platform::EventRole::kInnerOp); // If it is OperatorBase, InferShape do nothing. if (op_with_kernel != nullptr) op_with_kernel->Info().infer_shape_( @@ -408,7 +410,9 @@ void InterpreterCore::RunInstruction(const Instruction& instr_node) { } } { - platform::RecordEvent compute_event("Compute"); + platform::RecordEvent compute_event( + "Compute", platform::TracerEventType::OperatorInner, 1, + platform::EventRole::kInnerOp); if (op_with_kernel == nullptr) { instr_node.OpBase()->Run(*local_scope, place_); } else { diff --git a/paddle/fluid/framework/new_executor/workqueue/nonblocking_threadpool.h b/paddle/fluid/framework/new_executor/workqueue/nonblocking_threadpool.h index 2ad76562c15dd8112f77bdf4c3ebf9e709e60056..7b3916bafc93eda8cb1afbf54b706e032c5233dd 100644 --- a/paddle/fluid/framework/new_executor/workqueue/nonblocking_threadpool.h +++ b/paddle/fluid/framework/new_executor/workqueue/nonblocking_threadpool.h @@ -408,7 +408,8 @@ class ThreadPoolTempl { ec_.Notify(true); return false; } - platform::RecordEvent("SleepWaitForWork"); + platform::RecordEvent("SleepWaitForWork", + platform::TracerEventType::UserDefined, 2); ec_.CommitWait(waiter); blocked_--; return true; diff --git a/paddle/fluid/framework/parallel_executor.cc b/paddle/fluid/framework/parallel_executor.cc index 1a826f6bdd5e7344d9983c026fc2d4cc8812d15a..5b913ff2d21de51851f631d080b8c1283f29e54e 100644 --- a/paddle/fluid/framework/parallel_executor.cc +++ b/paddle/fluid/framework/parallel_executor.cc @@ -39,6 +39,7 @@ limitations under the License. */ #include "paddle/fluid/platform/cuda_graph_with_memory_pool.h" #include "paddle/fluid/platform/event.h" #include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" #if defined(PADDLE_WITH_CUDA) || defined(PADDLE_WITH_HIP) #include "paddle/fluid/platform/cuda_device_guard.h" diff --git a/paddle/fluid/framework/tensor_util.cc b/paddle/fluid/framework/tensor_util.cc index 83161fa679014a36a60801f528f80573512b85a9..1eb5727298c39aba41b4efe832b10d363b6030ea 100644 --- a/paddle/fluid/framework/tensor_util.cc +++ b/paddle/fluid/framework/tensor_util.cc @@ -23,7 +23,7 @@ limitations under the License. */ #include "paddle/fluid/framework/data_type.h" #include "paddle/fluid/framework/tensor_util.h" #include "paddle/fluid/platform/complex.h" -#include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" #include "paddle/phi/core/dense_tensor.h" diff --git a/paddle/fluid/imperative/basic_engine.cc b/paddle/fluid/imperative/basic_engine.cc index 13b2982b533904f8d446749d7507a79ea45847bd..97a188e5c9c2712c2c6d819b7e8f0c5ca0b2a47a 100644 --- a/paddle/fluid/imperative/basic_engine.cc +++ b/paddle/fluid/imperative/basic_engine.cc @@ -410,7 +410,8 @@ void BasicEngine::Execute() { auto& inplace_grad_name_map = shared_cur_node->InplaceGradNameMap(); for (auto& cur_op : *shared_cur_node) { - platform::RecordEvent op_type_record_event(cur_op.Type()); + platform::RecordEvent op_type_record_event( + cur_op.Type(), platform::TracerEventType::Operator, 1); ++op_num; diff --git a/paddle/fluid/imperative/layer.cc b/paddle/fluid/imperative/layer.cc index 34c46f79f57fd45dc7fc870b2228c49cbed210be..f3bd85ff29221abbf5cea3637b355edeed26bf54 100644 --- a/paddle/fluid/imperative/layer.cc +++ b/paddle/fluid/imperative/layer.cc @@ -233,7 +233,8 @@ void VarBase::ClearGradient(bool set_to_zero) { grad_t->mutable_value()->clear(); } } else { - platform::RecordEvent record_event("ClearGradient"); + platform::RecordEvent record_event( + "ClearGradient", platform::TracerEventType::UserDefined, 2); auto* grad_t = grad_var_->MutableVar()->GetMutable(); if (grad_t->IsInitialized()) { diff --git a/paddle/fluid/imperative/partial_grad_engine.cc b/paddle/fluid/imperative/partial_grad_engine.cc index e231d3c18013674ddf5f5cff8cff5c766438bca5..f1d0c8afdd50e3868423a9906d9955d7aea66983 100644 --- a/paddle/fluid/imperative/partial_grad_engine.cc +++ b/paddle/fluid/imperative/partial_grad_engine.cc @@ -30,7 +30,7 @@ #include "paddle/fluid/imperative/op_base.h" #include "paddle/fluid/imperative/tracer.h" #include "paddle/fluid/platform/device_context.h" -#include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" #include "paddle/fluid/string/string_helper.h" #include "paddle/phi/kernels/funcs/math_function.h" diff --git a/paddle/fluid/imperative/tracer.cc b/paddle/fluid/imperative/tracer.cc index a669ff9d5a6910ff78eedded2ed46fec0a39e132..1c9cc538ffece6778084075b01d565050e00d71e 100644 --- a/paddle/fluid/imperative/tracer.cc +++ b/paddle/fluid/imperative/tracer.cc @@ -22,6 +22,7 @@ #include "paddle/fluid/platform/denormal.h" #include "paddle/fluid/platform/device/device_wrapper.h" #include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" #include "paddle/fluid/string/string_helper.h" DECLARE_bool(use_mkldnn); @@ -171,7 +172,8 @@ void Tracer::TraceOp(const std::string& type, const NameVarMap& ins, const std::map& inplace_map, paddle::framework::AttributeMap* passed_default_attrs_, bool use_default_attr_map) { - platform::RecordEvent op_type_record_event(type); + platform::RecordEvent op_type_record_event( + type, platform::TracerEventType::Operator, 2); platform::ScopedFlushDenormal flush; VLOG(1) << "Trace Op: " << type; if (FLAGS_use_mkldnn) { diff --git a/paddle/fluid/inference/tensorrt/plugin/trt_plugin.h b/paddle/fluid/inference/tensorrt/plugin/trt_plugin.h index 6b2925a068bbd26f7e146451104dee9e33d203ca..9210cd48d078b32976cdef5f6a6379dc324de650 100644 --- a/paddle/fluid/inference/tensorrt/plugin/trt_plugin.h +++ b/paddle/fluid/inference/tensorrt/plugin/trt_plugin.h @@ -24,7 +24,7 @@ #include "paddle/fluid/inference/tensorrt/helper.h" #include "paddle/fluid/inference/tensorrt/plugin/trt_plugin_utils.h" #include "paddle/fluid/platform/enforce.h" -#include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" namespace nvinfer1 { class ITensor; diff --git a/paddle/fluid/inference/tests/api/tester_helper.h b/paddle/fluid/inference/tests/api/tester_helper.h index cc168ed793ba2af97d6b7bef41379b3bc1373e04..77fab0a86f83300b89d75ae0cd1ce7fa5bf03a5a 100644 --- a/paddle/fluid/inference/tests/api/tester_helper.h +++ b/paddle/fluid/inference/tests/api/tester_helper.h @@ -38,7 +38,7 @@ #include "paddle/fluid/inference/tests/api/config_printer.h" #include "paddle/fluid/inference/tests/test_helper.h" #include "paddle/fluid/inference/utils/benchmark.h" -#include "paddle/fluid/platform/profiler.h" +#include "paddle/fluid/platform/profiler/event_tracing.h" DEFINE_string(model_name, "", "model name"); DEFINE_string(infer_model, "", "model path");