-
Notifications
You must be signed in to change notification settings - Fork 6
Closed
Description
We discussed that it would be nice for Omniprobe to support a standardized output format (i.e. json), that all message handlers could conform to.
In the context of MemoryAnalysis, that might look something like:
{
"function": {
"name": "matrixTransposeShared",
"parameters": ["float*", "float const*", "int", "int"],
"clone": ".kd",
"dispatch_id": 1
},
"memory_analysis": {
"l2_cache_line_use": [
{
"location": {
"path": "/work1/amd/colramos/audacious/maestro/examples/bank_conflict/matrix_transpose/matrix_transpose.hip",
"line": 16,
"column": 38
},
"code": "tile[threadIdx.y][threadIdx.x] = in[y * width + x];",
"access_type": "read",
"bytes_at_ir": 4,
"bytes_at_isa": {
"value": 4,
"description": "global_load_dword"
},
"execution_count": 16384,
"cache_lines": {
"needed": 32768,
"used": 65536
}
},
{
"location": {
"path": "/work1/amd/colramos/audacious/maestro/examples/bank_conflict/matrix_transpose/matrix_transpose.hip",
"line": 25,
"column": 25
},
"code": "out[y * height + x] = tile[threadIdx.x][threadIdx.y];",
"access_type": "write",
"bytes_at_ir": 4,
"bytes_at_isa": {
"value": 4,
"description": "global_store_dword"
},
"execution_count": 16384,
"cache_lines": {
"needed": 32768,
"used": 65536
}
}
],
"bank_conflicts": [
{
"location": {
"path": "/work1/amd/colramos/audacious/maestro/examples/bank_conflict/matrix_transpose/matrix_transpose.hip",
"line": 25,
"column": 27
},
"code": "out[y * height + x] = tile[threadIdx.x][threadIdx.y];",
"access_type": "read",
"bytes_at_ir": 4,
"execution_count": 16384,
"total_conflicts": 229376
}
]
},
"hsaInterceptor_elapsed": {
"time": 1773056,
"unit": "us"
},
"kernels_found": 13
} Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels