Misc API cleanup and consistency fixes (#1023)

- ROCPROFILER_API after function
- use rocprofiler_tracing_operation_t in lieu of uint32_t where appropriate
- rocprofiler_tracing_operation_t is not int32_t typedef (formerly uint32_t)
- use const T* instead of T* where appropriate

[ROCm/rocprofiler-sdk commit: bb25376480]
This commit is contained in:
Jonathan R. Madsen
2024-08-20 01:06:12 -05:00
committed by GitHub
parent 82a089ac0a
commit 264c48fa69
32 changed files with 185 additions and 176 deletions
@@ -415,8 +415,8 @@ write_otf2(tool_table* tool
for(auto agent : itr)
agent_memcpy_info[tid].emplace(agent, location_base{pid, tid, agent});
for(auto [tid, itr] : agent_queue_ids)
for(auto [agent, qitr] : itr)
for(const auto& [tid, itr] : agent_queue_ids)
for(const auto& [agent, qitr] : itr)
for(auto queue : qitr)
agent_dispatch_info[tid][agent].emplace(queue,
location_base{pid, tid, agent, queue});
@@ -28,7 +28,7 @@
#include "rocprofiler-sdk/fwd.h"
extern "C" {
rocprofiler_status_t ROCPROFILER_API
rocprofiler_status_t
rocprofiler_configure_agent_profile_counting_service(rocprofiler_context_id_t context_id,
rocprofiler_buffer_id_t buffer_id,
rocprofiler_agent_id_t agent_id,
@@ -39,7 +39,7 @@ rocprofiler_configure_agent_profile_counting_service(rocprofiler_context_id_t co
context_id, buffer_id, agent_id, cb, user_data);
}
rocprofiler_status_t ROCPROFILER_API
rocprofiler_status_t
rocprofiler_sample_agent_profile_counting_service(rocprofiler_context_id_t context_id,
rocprofiler_user_data_t user_data,
rocprofiler_counter_flag_t flags)
@@ -98,11 +98,11 @@ get_kind_name(rocprofiler_buffer_tracing_kind_t kind, std::index_sequence<Idx, T
extern "C" {
rocprofiler_status_t
rocprofiler_configure_buffer_tracing_service(rocprofiler_context_id_t context_id,
rocprofiler_buffer_tracing_kind_t kind,
rocprofiler_tracing_operation_t* operations,
size_t operations_count,
rocprofiler_buffer_id_t buffer_id)
rocprofiler_configure_buffer_tracing_service(rocprofiler_context_id_t context_id,
rocprofiler_buffer_tracing_kind_t kind,
const rocprofiler_tracing_operation_t* operations,
size_t operations_count,
rocprofiler_buffer_id_t buffer_id)
{
if(rocprofiler::registration::get_init_status() > -1)
return ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED;
@@ -160,7 +160,7 @@ rocprofiler_query_buffer_tracing_kind_name(rocprofiler_buffer_tracing_kind_t kin
rocprofiler_status_t
rocprofiler_query_buffer_tracing_kind_operation_name(rocprofiler_buffer_tracing_kind_t kind,
uint32_t operation,
rocprofiler_tracing_operation_t operation,
const char** name,
uint64_t* name_len)
{
@@ -95,12 +95,12 @@ get_kind_name(rocprofiler_callback_tracing_kind_t kind, std::index_sequence<Idx,
extern "C" {
rocprofiler_status_t
rocprofiler_configure_callback_tracing_service(rocprofiler_context_id_t context_id,
rocprofiler_callback_tracing_kind_t kind,
rocprofiler_tracing_operation_t* operations,
size_t operations_count,
rocprofiler_callback_tracing_cb_t callback,
void* callback_args)
rocprofiler_configure_callback_tracing_service(rocprofiler_context_id_t context_id,
rocprofiler_callback_tracing_kind_t kind,
const rocprofiler_tracing_operation_t* operations,
size_t operations_count,
rocprofiler_callback_tracing_cb_t callback,
void* callback_args)
{
if(rocprofiler::registration::get_init_status() > -1)
return ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED;
@@ -144,9 +144,9 @@ rocprofiler_query_callback_tracing_kind_name(rocprofiler_callback_tracing_kind_t
rocprofiler_status_t
rocprofiler_query_callback_tracing_kind_operation_name(rocprofiler_callback_tracing_kind_t kind,
uint32_t operation,
const char** name,
uint64_t* name_len)
rocprofiler_tracing_operation_t operation,
const char** name,
uint64_t* name_len)
{
if(kind < ROCPROFILER_CALLBACK_TRACING_NONE || kind >= ROCPROFILER_CALLBACK_TRACING_LAST)
return ROCPROFILER_STATUS_ERROR_KIND_NOT_FOUND;
@@ -647,7 +647,7 @@ run_reduce_test(
}
}
}
}; // namespace
} // namespace
TEST(evaluate_ast, counter_reduction_sum)
{
@@ -38,7 +38,7 @@ extern "C" {
* @param [in] profile profile config to use for dispatch
* @return ::rocprofiler_status_t
*/
rocprofiler_status_t ROCPROFILER_API
rocprofiler_status_t
rocprofiler_configure_buffered_dispatch_profile_counting_service(
rocprofiler_context_id_t context_id,
rocprofiler_buffer_id_t buffer_id,
@@ -61,7 +61,7 @@ rocprofiler_configure_buffered_dispatch_profile_counting_service(
* @param [in] record_callback_args Callback args for record callback
* @return ::rocprofiler_status_t
*/
rocprofiler_status_t ROCPROFILER_API
rocprofiler_status_t
rocprofiler_configure_callback_dispatch_profile_counting_service(
rocprofiler_context_id_t context_id,
rocprofiler_profile_counting_dispatch_callback_t dispatch_callback,
@@ -225,11 +225,11 @@ external_correlation::invoke_callback(rocprofiler_thread_id_t thr_id,
extern "C" {
rocprofiler_status_t
rocprofiler_configure_external_correlation_id_request_service(
rocprofiler_context_id_t context_id,
rocprofiler_external_correlation_id_request_kind_t* kinds,
size_t kinds_count,
rocprofiler_external_correlation_id_request_cb_t callback,
void* callback_args)
rocprofiler_context_id_t context_id,
const rocprofiler_external_correlation_id_request_kind_t* kinds,
size_t kinds_count,
rocprofiler_external_correlation_id_request_cb_t callback,
void* callback_args)
{
auto* ctx = rocprofiler::context::get_mutable_registered_context(context_id);
if(!ctx) return ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_FOUND;
@@ -79,7 +79,7 @@ enum pcsample_arb_issue_state
ISSUE_BRMSG,
ISSUE_LAST
};
}; // namespace PCSAMPLE
} // namespace PCSAMPLE
union pcsample_header_v1_t
{
@@ -120,21 +120,22 @@ get_callback_tracing_names()
//
// callback for each kind operation
//
static auto tracing_kind_operation_cb =
[](rocprofiler_callback_tracing_kind_t kindv, uint32_t operation, void* data_v) {
auto* name_info_v = static_cast<callback_name_info*>(data_v);
static auto tracing_kind_operation_cb = [](rocprofiler_callback_tracing_kind_t kindv,
rocprofiler_tracing_operation_t operation,
void* data_v) {
auto* name_info_v = static_cast<callback_name_info*>(data_v);
if(supported_kinds.count(kindv) > 0)
{
const char* name = nullptr;
ROCPROFILER_CALL(rocprofiler_query_callback_tracing_kind_operation_name(
kindv, operation, &name, nullptr),
"query callback tracing kind operation name");
EXPECT_TRUE(name != nullptr) << "kind=" << kindv << ", operation=" << operation;
if(name) name_info_v->operation_names[kindv][operation] = name;
}
return 0;
};
if(supported_kinds.count(kindv) > 0)
{
const char* name = nullptr;
ROCPROFILER_CALL(rocprofiler_query_callback_tracing_kind_operation_name(
kindv, operation, &name, nullptr),
"query callback tracing kind operation name");
EXPECT_TRUE(name != nullptr) << "kind=" << kindv << ", operation=" << operation;
if(name) name_info_v->operation_names[kindv][operation] = name;
}
return 0;
};
//
// callback for each callback kind (i.e. domain)
@@ -194,21 +195,22 @@ get_buffer_tracing_names()
//
// callback for each kind operation
//
static auto tracing_kind_operation_cb =
[](rocprofiler_buffer_tracing_kind_t kindv, uint32_t operation, void* data_v) {
auto* name_info_v = static_cast<buffer_name_info*>(data_v);
static auto tracing_kind_operation_cb = [](rocprofiler_buffer_tracing_kind_t kindv,
rocprofiler_tracing_operation_t operation,
void* data_v) {
auto* name_info_v = static_cast<buffer_name_info*>(data_v);
if(supported_kinds.count(kindv) > 0)
{
const char* name = nullptr;
ROCPROFILER_CALL(rocprofiler_query_buffer_tracing_kind_operation_name(
kindv, operation, &name, nullptr),
"query buffer tracing kind operation name");
EXPECT_TRUE(name != nullptr) << "kind=" << kindv << ", operation=" << operation;
if(name) name_info_v->operation_names[kindv][operation] = name;
}
return 0;
};
if(supported_kinds.count(kindv) > 0)
{
const char* name = nullptr;
ROCPROFILER_CALL(rocprofiler_query_buffer_tracing_kind_operation_name(
kindv, operation, &name, nullptr),
"query buffer tracing kind operation name");
EXPECT_TRUE(name != nullptr) << "kind=" << kindv << ", operation=" << operation;
if(name) name_info_v->operation_names[kindv][operation] = name;
}
return 0;
};
//
// callback for each buffer kind (i.e. domain)
@@ -189,10 +189,11 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing)
ROCPROFILER_CALL(rocprofiler_create_context(&cb_data->client_hsa_ctx),
"failed to create context");
auto operations = std::vector<uint32_t>{ROCPROFILER_HSA_CORE_API_ID_hsa_init,
ROCPROFILER_HSA_CORE_API_ID_hsa_iterate_agents,
ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_info,
ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down};
auto operations = std::vector<rocprofiler_tracing_operation_t>{
ROCPROFILER_HSA_CORE_API_ID_hsa_init,
ROCPROFILER_HSA_CORE_API_ID_hsa_iterate_agents,
ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_info,
ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down};
ROCPROFILER_CALL(rocprofiler_configure_callback_tracing_service(
cb_data->client_hsa_ctx,
@@ -338,10 +339,11 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing_disable_context)
ROCPROFILER_CALL(rocprofiler_create_context(&cb_data->client_hsa_ctx),
"failed to create context");
auto operations = std::vector<uint32_t>{ROCPROFILER_HSA_CORE_API_ID_hsa_init,
ROCPROFILER_HSA_CORE_API_ID_hsa_iterate_agents,
ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_info,
ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down};
auto operations = std::vector<rocprofiler_tracing_operation_t>{
ROCPROFILER_HSA_CORE_API_ID_hsa_init,
ROCPROFILER_HSA_CORE_API_ID_hsa_iterate_agents,
ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_info,
ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down};
ROCPROFILER_CALL(rocprofiler_configure_callback_tracing_service(
cb_data->client_hsa_ctx,
@@ -88,7 +88,7 @@ tool_tracing_callback(rocprofiler_callback_tracing_record_t record,
} info_data_v;
auto info_data_cb = [](rocprofiler_callback_tracing_kind_t,
uint32_t,
rocprofiler_tracing_operation_t,
uint32_t arg_num,
const void* const arg_value_addr,
int32_t arg_indir_cnt,
@@ -165,7 +165,7 @@ tool_tracing_callback(rocprofiler_callback_tracing_record_t record,
} info_data_v;
auto info_data_cb = [](rocprofiler_callback_tracing_kind_t,
uint32_t,
rocprofiler_tracing_operation_t,
uint32_t arg_num,
const void* const arg_value_addr,
int32_t arg_indir_cnt,
@@ -197,6 +197,5 @@ initialize(HsaApiTable* table);
void
finalize();
}; // namespace thread_trace
} // namespace thread_trace
} // namespace rocprofiler
@@ -179,11 +179,11 @@ se_data_callback(int* seid, uint8_t** buffer, uint64_t* buffer_size, void* userd
return table.se_data(seid, buffer, buffer_size, table.user);
}
}; // namespace att_parser
}; // namespace rocprofiler
} // namespace att_parser
} // namespace rocprofiler
extern "C" {
rocprofiler_status_t ROCPROFILER_API
rocprofiler_status_t
rocprofiler_att_parse_data(rocprofiler_att_parser_se_data_callback_t user_se_data_callback,
rocprofiler_att_parser_trace_callback_t user_trace_callback,
rocprofiler_att_parser_isa_callback_t user_isa_callback,
@@ -34,7 +34,7 @@ using DispatchThreadTracer = rocprofiler::thread_trace::DispatchThreadTracer;
using AgentThreadTracer = rocprofiler::thread_trace::AgentThreadTracer;
extern "C" {
rocprofiler_status_t ROCPROFILER_API
rocprofiler_status_t
rocprofiler_configure_dispatch_thread_trace_service(
rocprofiler_context_id_t context_id,
rocprofiler_att_parameter_t* parameters,
@@ -95,7 +95,7 @@ rocprofiler_configure_dispatch_thread_trace_service(
return ROCPROFILER_STATUS_SUCCESS;
}
rocprofiler_status_t ROCPROFILER_API
rocprofiler_status_t
rocprofiler_configure_agent_thread_trace_service(
rocprofiler_context_id_t context_id,
rocprofiler_att_parameter_t* parameters,