Fix rocprofiler_iterate_callback_tracing_kind_operation_args for HIP compiler callbacks (#532)

* Fix HIP compiler iterate args

- `include/rocprofiler-sdk/hip/api_args.h`
  - replace struct fields named "f" with "func"
  - replace hip stream fields named "hStream" with "stream"
- `lib/rocprofiler-sdk/callback_tracing.cpp`
  - iterate_args for HIP compiler table
- `lib/rocprofiler-sdk/registration.cpp`
  - fix warning about roctx num_tables
- `lib/rocprofiler-sdk/hip/hip.def.cpp`
  - replace struct fields named "f" with "func"
  - replace hip stream fields named "hStream" with "stream"
- `lib/rocprofiler-sdk/{hip,hsa,marker}/utils.hpp`
  - improve `stringize_impl`
- `lib/rocprofiler-sdk/hsa/code_object.cpp`
  - remove stale commented out code
- `lib/rocprofiler-sdk/hsa/queue_controller.*`
  - destory_queue -> destroy_queue
- `tests/tools/json-tool.cpp`
  - improve parallelism in tool_tracing_callback
  - serialize the marker api args
  - only invoke rocprofiler_iterate_callback_tracing_kind_operation_args in exit phase
- `samples/counter_collection/CMakeLists.txt`
  - reduce timeout on tests to 120 seconds

* Update lib/rocprofiler-sdk/hsa/utils.hpp

- disable dereference of double pointer in stringize_impl

* Update lib/common

- indirection_level in mpl.hpp
- stringize_arg.hpp

* Rework rocprofiler_iterate_callback_tracing_kind_operation_args

- provide more information in rocprofiler_callback_tracing_operation_args_cb_t
- support specifying the dereference level to account for output paramters
This commit is contained in:
Jonathan R. Madsen authored and GitHub committed 2024-03-01 01:46:07 -06:00
1 parent a1267e1fd2
commit 1bb94add11
27 files changed
+419 -200

No files matched your search

@@ -926,24 +926,10 @@ code_object_init(HsaApiTable* table)
uint64_t
get_kernel_id(uint64_t kernel_object)
{
// return get_code_objects().rlock([kernel_object](const code_object_array_t& _data) -> uint64_t
// {
// for(const auto& itr : _data)
// {
// for(const auto& ditr : itr->symbols)
// {
// if(kernel_object == ditr->rocp_data.kernel_object) return
// ditr->rocp_data.kernel_id;
// }
// }
// return 0;
// });
return get_kernel_object_map().rlock(
[](const kernel_object_map_t& object_map, uint64_t _kern_obj) -> uint64_t {
auto itr = object_map.find(_kern_obj);
return (itr == object_map.end()) ? 0 : itr->second;
// return object_map.at(_kern_obj);
},
kernel_object);
}