PC sampling: online partial PC sampling decoding (#1004)
* PC sampling: online partial PC sampling decoding PC sampling service decodes a PC sample partially by replacing the PC with an id of the loaded code object instance containing PC and the offset of the PC within that code object instance. * PC sampling: marker records removed * PC sampling parser: minor doc update in mock * PC sampling: introducing rocprofiler_pc_t * NULL value of the code object id introduced. * Clarifying documenation related to PC offset. * PC offset documentation improvement * PC sampling parser benchmark: Reducing the number of samples to recreate half of performance.
This commit is contained in:
@@ -310,7 +310,8 @@ rocprofiler_pc_sampling_callback(rocprofiler_context_id_t /*context_id*/,
|
||||
auto* pc_sample =
|
||||
static_cast<rocprofiler_pc_sampling_record_t*>(cur_header->payload);
|
||||
|
||||
ss << "pc: " << std::hex << pc_sample->pc << ", "
|
||||
ss << "(code_obj_id, offset): (" << pc_sample->pc.loaded_code_object_id << ", 0x"
|
||||
<< std::hex << pc_sample->pc.loaded_code_object_offset << "), "
|
||||
<< "timestamp: " << std::dec << pc_sample->timestamp << ", "
|
||||
<< "exec: " << std::hex << std::setw(16) << pc_sample->exec_mask << ", "
|
||||
<< "workgroup_id_(x=" << std::dec << std::setw(5) << pc_sample->workgroup_id.x
|
||||
@@ -327,17 +328,9 @@ rocprofiler_pc_sampling_callback(rocprofiler_context_id_t /*context_id*/,
|
||||
<< "external=" << std::setw(5) << pc_sample->correlation_id.external.value << "}"
|
||||
<< std::endl;
|
||||
}
|
||||
else if(cur_header->kind == ROCPROFILER_PC_SAMPLING_RECORD_CODE_OBJECT_LOAD_MARKER)
|
||||
else
|
||||
{
|
||||
auto* marker = static_cast<rocprofiler_pc_sampling_code_object_load_marker_t*>(
|
||||
cur_header->payload);
|
||||
ss << "code object loading: " << marker->code_object_id << std::endl;
|
||||
}
|
||||
else if(cur_header->kind == ROCPROFILER_PC_SAMPLING_RECORD_CODE_OBJECT_UNLOAD_MARKER)
|
||||
{
|
||||
auto* marker = static_cast<rocprofiler_pc_sampling_code_object_unload_marker_t*>(
|
||||
cur_header->payload);
|
||||
ss << "code object unloading: " << marker->code_object_id << std::endl;
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user