3318c540ea
## Motivation Fix roctx range markers (Push/Pop, Start/Stop) not being displayed correctly in rocpd output. The Visualizer was showing only Stop/Pop events as instant markers instead of proper duration ranges with labels, while Perfetto output displayed them correctly. ## Technical Details In `tool_tracing_callback_stop()`, the rocpd/database output was using `user_data->value` (timestamp of the Pop/Stop event) instead of `begin_ts` (corrected timestamp from the corresponding Push/Start event) when calling `cache_region()`. The Perfetto output already used `begin_ts` correctly (line 818). This change aligns the rocpd output with the Perfetto behavior by using `begin_ts` instead of `user_data->value` (line 887). Updated rocpd validation rules
67 línte
3.1 KiB
JSON
67 línte
3.1 KiB
JSON
{
|
|
"required_tables": [
|
|
{
|
|
"min_rows": 4,
|
|
"name_prefix": "rocpd_info_pmc_",
|
|
"required_columns": [
|
|
"agent_id",
|
|
"target_arch",
|
|
"name",
|
|
"symbol",
|
|
"description",
|
|
"units",
|
|
"value_type"
|
|
],
|
|
"validation_queries": [
|
|
{
|
|
"comparison": "greater_than",
|
|
"description": "Check for amd-smi monitoring categories",
|
|
"error_message": "Found none of the amd-smi categories",
|
|
"expected_result": 4,
|
|
"query": "SELECT COUNT(*) as count FROM {table_name} WHERE target_arch is 'GPU'"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"_comment": "The actual number of samples will vary depending on the GPU. This validates presence of samples, not the actual number of samples.",
|
|
"min_rows": 20,
|
|
"name_prefix": "rocpd_pmc_event_",
|
|
"required_columns": [
|
|
"event_id",
|
|
"pmc_id",
|
|
"value"
|
|
],
|
|
"validation_queries": [
|
|
{
|
|
"comparison": "greater_than",
|
|
"description": "Check for amd-smi monitoring busy times",
|
|
"error_message": "Less than expected number of captured amd-smi-busy samples!",
|
|
"expected_result": 5,
|
|
"query": "SELECT COUNT(*) as count FROM {table_name} event JOIN rocpd_info_pmc info ON event.pmc_id = info.id WHERE info.name = 'device_busy_mm'"
|
|
},
|
|
{
|
|
"comparison": "greater_than",
|
|
"description": "Check for amd-smi monitoring GPU temperature",
|
|
"error_message": "Less than expected number of captured amd-smi-temperature samples!",
|
|
"expected_result": 5,
|
|
"query": "SELECT COUNT(*) as count FROM {table_name} event JOIN rocpd_info_pmc info ON event.pmc_id = info.id WHERE info.name = 'device_temp'"
|
|
},
|
|
{
|
|
"comparison": "greater_than",
|
|
"description": "Check for amd-smi monitoring GPU power consumption",
|
|
"error_message": "Less than expected number of captured amd-smi-power samples!",
|
|
"expected_result": 5,
|
|
"query": "SELECT COUNT(*) as count FROM {table_name} event JOIN rocpd_info_pmc info ON event.pmc_id = info.id WHERE info.name = 'device_power'"
|
|
},
|
|
{
|
|
"comparison": "greater_than",
|
|
"description": "Check for amd-smi monitoring GPU memory usage",
|
|
"error_message": "Less than expected number of captured amd-smi-memory-usage samples!",
|
|
"expected_result": 5,
|
|
"query": "SELECT COUNT(*) as count FROM {table_name} event JOIN rocpd_info_pmc info ON event.pmc_id = info.id WHERE info.name = 'device_memory_usage'"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|