ROCpd schema fetching from rocprofiler-sdk (#1501)

- Integrate rocprofiler-systems with rocprofiler-sdk-rocpd to fetch schema
- If rocprofiler-sdk-rocpd is not availabe, use embedded schema files. With this we provide rocpd format support even if ROCm is not available
- Include detection in CMake if rocprofiler-sdk-rocpd package is available (and valid), and build database class upon that
- Update embedded schema that is used as a fallback.
- Update some validation tests to account for schema changes.
This commit is contained in:
Milan Radosavljevic
2025-11-07 15:45:29 +01:00
committed by GitHub
orang tua b299eece9b
melakukan a9082a7158
12 mengubah file dengan 277 tambahan dan 329 penghapusan
@@ -1,11 +1,13 @@
{
"required_tables": [
{
"name": "kernel_summary",
"name": "top_kernels",
"required_columns": [
"name",
"calls",
"DURATION (nsec)"
"total_calls",
"total_duration",
"average",
"percentage"
],
"validation_queries": [
{
@@ -13,14 +15,7 @@
"description": "Check for null function names",
"error_message": "Found API calls with null function names",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernel_summary WHERE name IS NULL"
},
{
"comparison": "greater_than",
"description": "Check that we have some kernel calls",
"error_message": "No kernel calls found in summary",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernel_summary"
"query": "SELECT COUNT(*) FROM top_kernels WHERE name IS NULL"
}
]
},
@@ -43,13 +38,6 @@
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernels WHERE name IS NULL"
},
{
"comparison": "greater_than",
"description": "Check that we have kernel entries",
"error_message": "No kernel entries found",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernels"
},
{
"comparison": "equals",
"description": "Check for kernels with no active time",
@@ -1,11 +1,13 @@
{
"required_tables": [
{
"name": "kernel_summary",
"name": "top_kernels",
"required_columns": [
"name",
"calls",
"DURATION (nsec)"
"total_calls",
"total_duration",
"average",
"percentage"
],
"validation_queries": [
{
@@ -13,14 +15,14 @@
"description": "Check for null function names",
"error_message": "Found API calls with null function names",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernel_summary WHERE name IS NULL"
"query": "SELECT COUNT(*) FROM top_kernels WHERE name IS NULL"
},
{
"comparison": "greater_than",
"description": "Check that we have some kernel calls",
"error_message": "No kernel calls found in summary",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernel_summary"
"query": "SELECT COUNT(*) FROM top_kernels"
}
]
},
@@ -1,11 +1,13 @@
{
"required_tables": [
{
"name": "kernel_summary",
"name": "top_kernels",
"required_columns": [
"name",
"calls",
"DURATION (nsec)"
"total_calls",
"total_duration",
"average",
"percentage"
],
"validation_queries": [
{
@@ -13,14 +15,14 @@
"description": "Check for null function names",
"error_message": "Found API calls with null function names",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernel_summary WHERE name IS NULL"
"query": "SELECT COUNT(*) FROM top_kernels WHERE name IS NULL"
},
{
"comparison": "equals",
"description": "Check for 3 unique kernels",
"error_message": "Expecting 3 unique kernels",
"expected_result": 3,
"query": "SELECT COUNT(*) as count FROM kernel_summary"
"query": "SELECT COUNT(*) FROM top_kernels"
}
]
},
@@ -1,11 +1,13 @@
{
"required_tables": [
{
"name": "kernel_summary",
"name": "top_kernels",
"required_columns": [
"name",
"calls",
"DURATION (nsec)"
"total_calls",
"total_duration",
"average",
"percentage"
],
"validation_queries": [
{
@@ -13,28 +15,28 @@
"description": "Check for null function names",
"error_message": "Found API calls with null function names",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernel_summary WHERE name IS NULL"
"query": "SELECT COUNT(*) FROM top_kernels WHERE name IS NULL"
},
{
"comparison": "greater_than",
"description": "Check that we have some kernel calls",
"error_message": "No kernel calls found in summary",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernel_summary"
"query": "SELECT COUNT(*) FROM top_kernels"
},
{
"comparison": "equals",
"description": "Check that we have 'hipKernelLaunch' kernel captured",
"error_message": "No kernel calls found in summary",
"error_message": "'hipKernelLaunch' not found in top_kernels",
"expected_result": 1,
"query": "SELECT COUNT(*) as count FROM kernel_summary WHERE name LIKE 'hipKernelLaunch%'"
"query": "SELECT COUNT(*) FROM top_kernels WHERE name LIKE 'hipKernelLaunch%'"
},
{
"comparison": "equals",
"description": "Check that we have predefined number of kernel calls",
"error_message": "No kernel calls found in summary",
"expected_result": 2,
"query": "SELECT calls as num_calls FROM kernel_summary WHERE name LIKE 'hipKernelLaunch%'"
"query": "SELECT total_calls FROM top_kernels WHERE name LIKE 'hipKernelLaunch%'"
}
]
},
@@ -1,11 +1,13 @@
{
"required_tables": [
{
"name": "kernel_summary",
"name": "top_kernels",
"required_columns": [
"name",
"calls",
"DURATION (nsec)"
"total_calls",
"total_duration",
"average",
"percentage"
],
"validation_queries": [
{
@@ -13,28 +15,28 @@
"description": "Check for null function names",
"error_message": "Found API calls with null function names",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernel_summary WHERE name IS NULL"
"query": "SELECT COUNT(*) FROM top_kernels WHERE name IS NULL"
},
{
"comparison": "greater_than",
"description": "Check that we have some kernel calls",
"error_message": "No kernel calls found in summary",
"expected_result": 0,
"query": "SELECT COUNT(*) as count FROM kernel_summary"
"query": "SELECT COUNT(*) FROM top_kernels"
},
{
"comparison": "equals",
"description": "Check that we have transpose kernel captured",
"error_message": "No kernel calls found in summary",
"error_message": "transpose kernel not found in top_kernels",
"expected_result": 1,
"query": "SELECT COUNT(*) as count FROM kernel_summary WHERE name LIKE 'transpose%'"
"query": "SELECT COUNT(*) FROM top_kernels WHERE name LIKE 'transpose%'"
},
{
"comparison": "equals",
"description": "Check that we have predefined number of kernel calls",
"error_message": "No kernel calls found in summary",
"expected_result": 1000,
"query": "SELECT calls as num_calls FROM kernel_summary WHERE name LIKE 'transpose%'"
"query": "SELECT total_calls FROM top_kernels WHERE name LIKE 'transpose%'"
}
]
},