Skip to content

[Req] Standardized output format for message handeler #10

@coleramos425

Description

@coleramos425

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
} 

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions