"query":"SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%rocm_hsa_api%';"
}
]
},
{
"commit":"Validation rules for memory_allocations",
"name":"memory_allocations",
"required_columns":[
"id",
"guid",
"category",
"nid",
"pid",
"tid",
"start",
"end",
"duration",
"type",
"level",
"agent_name"
],
"validation_queries":[
{
"comparison":"equals",
"description":"Check that all IDs are not NULL",
"error_message":"NULL entries found in the id column of memory_allocations",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_allocations WHERE id IS NULL;"
},
{
"comparison":"equals",
"description":"Check the sizes of executed memory allocate calls",
"error_message":"Entries found where allocated size is 0 or NULL",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_allocations WHERE size IS NULL or 0;"
},
{
"comparison":"greater_than",
"description":"Verify that 'rocm_memory_allocate' appears more than 1 times in category",
"error_message":"'rocm_memory_allocate' string appears fewer than 1 times in category column of memory_allocations",
"expected_result":1,
"query":"SELECT COUNT(*) FROM memory_allocations WHERE category LIKE '%rocm_memory_allocate%';"
}
]
},
{
"name":"rocpd_string",
"required_columns":[
"id",
"guid",
"string"
],
"validation_queries":[
{
"comparison":"greater_than",
"description":"Verify that 'rocm_memory_allocate' is present in the string column",
"error_message":"'rocm_memory_allocate' string not found in the string column of rocpd_string",
"expected_result":0,
"query":"SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%rocm_memory_allocate%';"
}
]
},
{
"commit":"Validation rules for memory_copies",
"name":"rocpd_string",
"required_columns":[
"id",
"guid",
"string"
],
"validation_queries":[
{
"comparison":"greater_than",
"description":"Verify that 'rocm_memory_copy' is present in the string column",
"error_message":"'rocm_memory_copy' string not found in the string column of rocpd_string",
"expected_result":0,
"query":"SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%rocm_memory_copy%';"
},
{
"comparison":"greater_than",
"description":"Verify that 'MEMORY_COPY_DEVICE_TO_HOST' is present in the string column",
"error_message":"'MEMORY_COPY_DEVICE_TO_HOST' string not found in the string column of rocpd_string",
"expected_result":0,
"query":"SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%MEMORY_COPY_DEVICE_TO_HOST%';"
},
{
"comparison":"greater_than",
"description":"Verify that 'MEMORY_COPY_HOST_TO_DEVICE' is present in the string column",
"error_message":"'MEMORY_COPY_HOST_TO_DEVICE' string not found in the string column of rocpd_string",
"expected_result":0,
"query":"SELECT COUNT(*) FROM rocpd_string WHERE string LIKE '%MEMORY_COPY_HOST_TO_DEVICE%';"
}
]
},
{
"commit":"Validation rules for memory_copies",
"name":"memory_copies",
"required_columns":[
"id",
"guid",
"category",
"nid",
"pid",
"tid",
"start",
"end"
],
"validation_queries":[
{
"comparison":"greater_than",
"description":"Verify that 'rocm_memory_copy' appears in category column",
"error_message":"'rocm_memory_copy' string appears fewer than 10 times in category column of memory_copies",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_copies WHERE category LIKE '%rocm_memory_copy%';"
},
{
"comparison":"equals",
"description":"Check that all IDs are not NULL",
"error_message":"NULL entries found in the id column of memory_copies",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_copies WHERE id IS NULL;"
},
{
"comparison":"equals",
"description":"Check the sizes of executed memory_copy calls",
"error_message":"NULL entries found where copied size is 0 or non-existing field",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_copies WHERE size IS NULL or 0;"
},
{
"comparison":"equals",
"description":"Check the agents executing memory_copy calls",
"error_message":"NULL entries found where copied size is 0 or non-existing field",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_copies WHERE size IS NULL or 0;"
}
]
},
{
"commit":"Validation rules for memory_copies - agent verification",
"name":"memory_copies",
"required_columns":[
"id",
"guid",
"dst_agent_abs_index",
"src_agent_abs_index"
],
"validation_queries":[
{
"comparison":"equals",
"description":"Verify that all dst_agent_abs_index values exist in rocpd_info_agent table",
"error_message":"Found dst_agent_abs_index values in memory_copies that do not exist in rocpd_info_agent table",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_copies mc LEFT JOIN rocpd_info_agent ag ON mc.dst_agent_abs_index = ag.absolute_index AND mc.guid = ag.guid WHERE mc.dst_agent_abs_index IS NOT NULL AND ag.absolute_index IS NULL;"
},
{
"comparison":"equals",
"description":"Verify that all src_agent_abs_index values exist in rocpd_info_agent table",
"error_message":"Found src_agent_abs_index values in memory_copies that do not exist in rocpd_info_agent table",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_copies mc LEFT JOIN rocpd_info_agent ag ON mc.src_agent_abs_index = ag.absolute_index AND mc.guid = ag.guid WHERE mc.src_agent_abs_index IS NOT NULL AND ag.absolute_index IS NULL;"
},
{
"comparison":"equals",
"description":"Check that dst_agent_abs_index is not NULL for memory copy operations",
"error_message":"NULL entries found in dst_agent_abs_index column of memory_copies",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_copies WHERE dst_agent_abs_index IS NULL;"
},
{
"comparison":"equals",
"description":"Check that src_agent_abs_index is not NULL for memory copy operations",
"error_message":"NULL entries found in src_agent_abs_index column of memory_copies",
"expected_result":0,
"query":"SELECT COUNT(*) FROM memory_copies WHERE src_agent_abs_index IS NULL;"