[SDK][rocprofv3] Buffer tracing records with args (HIP) (#285)
* [SDK][rocprofv3] HIP API buffer records with args (ext) - New buffer tracing domain(s) for HIP APIs which include the arguments and the return value in the buffer records - Update HIP stream support for extended HIP buffer tracing - Update rocprofv3 tool library and output library to use extended HIP buffer tracing recods * Update stream.cpp - handle hipStream_t address being reused for a new stream * Update doxygen docs for rocprofiler_iterate_buffer_tracing_record_args * Update rocprofv3 tool.cpp - configure buffer tracing services with HIP_*_API_EXT variants - tweak logging level for hip_stream_display_callback * Fix validation tests - add HIP_RUNTIME_API_EXT and HIP_COMPILER_API_EXT to valid domain names * Serialization support for buffer tracing args * Disable stream service for __hipPopCallConfiguration - this is interpreted as a stream create but it doesn't create a stream * Fix execute_buffer_record_emplace for HIP extended contexts * Add uint64_t_retval to rocprofiler_hip_api_retval_t union - reading in hipError_t_retval during serialization of pointer return value causes undefined behavior * Fix compilation warning about unused but set parameter - in hip/stream.cpp * Add synchronization for async_copy_data * Fix compilation error * Fix compilation error --------- Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
This commit is contained in:
@@ -91,7 +91,10 @@ def test_hip_api_trace_json(json_data):
|
||||
def get_kind_name(kind_id):
|
||||
return data["strings"]["buffer_records"][kind_id]["kind"]
|
||||
|
||||
valid_domain_names = ("HIP_RUNTIME_API",)
|
||||
valid_domain_names = (
|
||||
"HIP_RUNTIME_API",
|
||||
"HIP_RUNTIME_API_EXT",
|
||||
)
|
||||
|
||||
hip_api_data = data["buffer_records"]["hip_api"]
|
||||
|
||||
|
||||
@@ -61,7 +61,10 @@ def test_hip_api_trace(json_data):
|
||||
def get_kind_name(kind_id):
|
||||
return data["strings"]["buffer_records"][kind_id]["kind"]
|
||||
|
||||
valid_domain_names = ("HIP_RUNTIME_API",)
|
||||
valid_domain_names = (
|
||||
"HIP_RUNTIME_API",
|
||||
"HIP_RUNTIME_API_EXT",
|
||||
)
|
||||
|
||||
hip_api_data = data["buffer_records"]["hip_api"]
|
||||
|
||||
|
||||
@@ -37,7 +37,10 @@ def test_hip_api_trace(json_data):
|
||||
def get_kind_name(kind_id):
|
||||
return data["strings"]["buffer_records"][kind_id]["kind"]
|
||||
|
||||
valid_domain_names = ("HIP_RUNTIME_API",)
|
||||
valid_domain_names = (
|
||||
"HIP_RUNTIME_API",
|
||||
"HIP_RUNTIME_API_EXT",
|
||||
)
|
||||
|
||||
hip_api_data = data["buffer_records"]["hip_api"]
|
||||
|
||||
|
||||
@@ -89,6 +89,8 @@ def test_api_trace(
|
||||
assert row["Domain"] in [
|
||||
"HIP_RUNTIME_API",
|
||||
"HIP_COMPILER_API",
|
||||
"HIP_RUNTIME_API_EXT",
|
||||
"HIP_COMPILER_API_EXT",
|
||||
]
|
||||
assert int(row["Process_Id"]) > 0
|
||||
assert int(row["Thread_Id"]) == 0 or int(row["Thread_Id"]) >= int(
|
||||
@@ -210,6 +212,8 @@ def test_api_trace_json(json_data):
|
||||
valid_hip_domain = [
|
||||
"HIP_RUNTIME_API",
|
||||
"HIP_COMPILER_API",
|
||||
"HIP_RUNTIME_API_EXT",
|
||||
"HIP_COMPILER_API_EXT",
|
||||
]
|
||||
|
||||
valid_marker_domain = [
|
||||
|
||||
Reference in New Issue
Block a user