Extending AQLprofile API to include counter dimensions

Change-Id: If59489a085959f3f765a30e3e445df5151e30350


[ROCm/ROCR-Runtime commit: e0c6c5e5bf]
Этот коммит содержится в:
Giovanni LB
2023-11-21 12:50:19 -03:00
коммит произвёл David Yat Sin
родитель 6140d8a66d
Коммит ecd768797e
+45 -2
Просмотреть файл
@@ -270,17 +270,16 @@ typedef enum {
// in info_data object
HSA_VEN_AMD_AQLPROFILE_INFO_TRACE_DATA = 3, // get_info returns trace buffer ptr/size
// in info_data object
//
HSA_VEN_AMD_AQLPROFILE_INFO_BLOCK_COUNTERS = 4, // get_info returns number of block counter
HSA_VEN_AMD_AQLPROFILE_INFO_BLOCK_ID = 5, // get_info returns block id, instances
// by name string using _id_query_t
//
HSA_VEN_AMD_AQLPROFILE_INFO_ENABLE_CMD = 6, // get_info returns size/pointer for
// counters enable command buffer
HSA_VEN_AMD_AQLPROFILE_INFO_DISABLE_CMD = 7, // get_info returns size/pointer for
// counters disable command buffer
} hsa_ven_amd_aqlprofile_info_type_t;
// Definition of output data iterator callback
typedef hsa_status_t (*hsa_ven_amd_aqlprofile_data_callback_t)(
hsa_ven_amd_aqlprofile_info_type_t info_type, // [in] data type, PMC or trace data
@@ -303,6 +302,50 @@ hsa_status_t hsa_ven_amd_aqlprofile_iterate_data(
hsa_status_t hsa_ven_amd_aqlprofile_error_string(
const char** str); // [out] pointer on the error string
/**
* @brief Returns the number of available dimension ids for given event.
* @param[in] agent HSA Agent
* @param[in] event event (counter+block) to query the num_ids for.
* @param[out] num_ids number of valid dimension IDs.
* @return HSA_STATUS_SUCCESS on successful query.
* @return HSA_STATUS_ERROR for invalid agent/event combination.
*/
hsa_status_t hsa_ven_amd_aqlprofile_get_event_num_ids(
hsa_agent_t agent,
hsa_ven_amd_aqlprofile_event_t event,
uint64_t* num_ids
);
typedef enum {
// value is of type uint64_t*. get_event_info returns the name length of a dimension id.
HSA_VEN_AMD_AQLPROFILE_INFO_EVENT_DIMENSION_NAME_LENGTH = 0,
// value is of type char*, with minimum capacity returned by INFO_EVENT_DIMENSION_NAME_LENGTH.
// get_event_info copies the name of dimension id to value.
HSA_VEN_AMD_AQLPROFILE_INFO_EVENT_DIMENSION_NAME = 1,
// value is of type uint64_t*. get_event_info returns the extent of a dimension id.
HSA_VEN_AMD_AQLPROFILE_INFO_EVENT_DIMENSION_EXTENT = 2,
} hsa_ven_amd_aqlprofile_event_attribute_t;
/**
* @brief Returns a query for a given event and dimension id.
* The maximum value of dim_id can be queried with _get_event_num_ids().
* @param[in] agent HSA Agent
* @param[in] event event (counter+block) to query the attribute for.
* @param[in] attribute what is going to be queried for event.
* @param[in] dim_id dimension id in the range [0,_get_event_num_ids()-1]
* @param[out] value returned data, of type defined by attribute.
* @return HSA_STATUS_SUCCESS on successful query.
* @return HSA_STATUS_ERROR_INVALID_ARGUMENT for invalid attribute.
* @return HSA_STATUS_ERROR for invalid agent/event combination.
*/
hsa_status_t hsa_ven_amd_aqlprofile_get_event_info(
hsa_agent_t agent,
hsa_ven_amd_aqlprofile_event_t event,
hsa_ven_amd_aqlprofile_event_attribute_t attribute,
uint64_t dim_id,
void* value
);
/**
* @brief Extension version.
*/