Add kernel profiling time info to counter collection records (#1000)
* Add kernel profiling time info to counter collection records
- lib/rocprofiler-sdk/kernel_dispatch
- added profiling_time.{hpp,cpp}
- restructured tracing.cpp
- updated queue.cpp AsyncSignalHandler
- gets kernel dispatch profiling time and passes to dispatch_complete and signal callbacks
- structured some header includes to reduce cyclic include probability
- originally, including kernel_dispatch/tracing.hpp in hsa/queue.hpp created a lot of cyclic includes
* Fix kernel_dispatch.cpp includes
* Fix kernel_dispatch.cpp
- include <cstring>
- replace use of ROCPROFILER_HSA_AMD_EXT_API_ID_NONE with ROCPROFILER_KERNEL_DISPATCH_LAST
This commit is contained in:
zatwierdzone przez
GitHub
rodzic
fa1b9e67ab
commit
b15e498945
@@ -22,18 +22,35 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "lib/rocprofiler-sdk/context/context.hpp"
|
||||
#include "lib/rocprofiler-sdk/hsa/queue_info_session.hpp"
|
||||
// #include "lib/rocprofiler-sdk/kernel_dispatch/profiling_time.hpp"
|
||||
|
||||
#include <rocprofiler-sdk/fwd.h>
|
||||
#include <rocprofiler-sdk/hsa.h>
|
||||
|
||||
#include <hsa/hsa.h>
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace rocprofiler
|
||||
{
|
||||
namespace context
|
||||
{
|
||||
struct context;
|
||||
}
|
||||
|
||||
namespace kernel_dispatch
|
||||
{
|
||||
using context_t = context::context;
|
||||
using user_data_map_t = std::unordered_map<const context_t*, rocprofiler_user_data_t>;
|
||||
using external_corr_id_map_t = user_data_map_t;
|
||||
|
||||
struct profiling_time;
|
||||
|
||||
profiling_time
|
||||
get_dispatch_time(const hsa::queue_info_session& session);
|
||||
|
||||
void
|
||||
dispatch_complete(hsa::queue_info_session&);
|
||||
dispatch_complete(hsa::queue_info_session&, profiling_time);
|
||||
} // namespace kernel_dispatch
|
||||
} // namespace rocprofiler
|
||||
|
||||
Reference in New Issue
Block a user