Profiler - Add partition support
NOTE: GPU ordering used is not the same as in HSA/HIP. GPUs are ordered via amdsmi and then GPU_ID fields are compared to map GPU partitions to each other. Change-Id: If379214f5281d7d5ee98515b3e5ba7affc2e2197 Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
이 커밋은 다음에 포함됨:
@@ -173,6 +173,7 @@ typedef enum {
|
||||
RDC_FI_TARGET_GRAPHICS_VERSION, //!< Target graphics version
|
||||
RDC_FI_NUM_OF_COMPUTE_UNITS, //!< Number of compute units
|
||||
RDC_FI_UUID, //!< Device UUID
|
||||
RDC_FI_GPU_PARTITION_COUNT,
|
||||
|
||||
/**
|
||||
* @brief Frequency related fields
|
||||
@@ -344,6 +345,7 @@ typedef enum {
|
||||
RDC_FI_PROF_CPF_CPF_TCIU_STALL,
|
||||
RDC_FI_PROF_SIMD_UTILIZATION,
|
||||
RDC_FI_PROF_UUID,
|
||||
RDC_FI_PROF_KFD_ID,
|
||||
|
||||
/**
|
||||
* @brief Raw XGMI counter events
|
||||
|
||||
@@ -69,18 +69,22 @@ class RdcRocpBase {
|
||||
*/
|
||||
static const uint32_t collection_duration_us_k = 10000;
|
||||
|
||||
double read_feature(rocprofiler_record_counter_t* record, uint32_t gpu_index);
|
||||
|
||||
/**
|
||||
* @brief By default all profiler values are read as doubles
|
||||
*/
|
||||
double run_profiler(uint32_t gpu_index, rdc_field_t field);
|
||||
void map_smi_to_profiler_by_uuid();
|
||||
double run_profiler(uint32_t agent_index, rdc_field_t field);
|
||||
|
||||
/**
|
||||
* @description Create a map from entity_id to profiler agent_index.
|
||||
* This is required due to different structure and ordering.
|
||||
* Populates entity_to_prof_map.
|
||||
*/
|
||||
rdc_status_t map_entity_to_profiler();
|
||||
|
||||
std::vector<rocprofiler_agent_v0_t> agents = {};
|
||||
std::vector<std::shared_ptr<CounterSampler>> samplers = {};
|
||||
std::map<rdc_field_t, const char*> field_to_metric = {};
|
||||
std::map<uint32_t, uint32_t> smi_to_profiler_map = {};
|
||||
std::map<uint32_t, uint32_t> entity_to_prof_map = {};
|
||||
|
||||
// these fields must be divided by time passed
|
||||
std::unordered_set<rdc_field_t> eval_fields = {
|
||||
|
||||
새 이슈에서 참조
사용자 차단