diff --git a/projects/rocprofiler-sdk/samples/api_buffered_tracing/client.cpp b/projects/rocprofiler-sdk/samples/api_buffered_tracing/client.cpp index 57beb1eb15..dbbd78e52d 100644 --- a/projects/rocprofiler-sdk/samples/api_buffered_tracing/client.cpp +++ b/projects/rocprofiler-sdk/samples/api_buffered_tracing/client.cpp @@ -42,8 +42,10 @@ #include #include +#include "common/call_stack.hpp" #include "common/defines.hpp" #include "common/filesystem.hpp" +#include "common/name_info.hpp" #include #include @@ -61,33 +63,20 @@ #include #include #include +#include #include namespace client { namespace { -struct source_location -{ - std::string function = {}; - std::string file = {}; - uint32_t line = 0; - std::string context = {}; -}; +using common::buffer_name_info; +using common::call_stack_t; +using common::source_location; -using call_stack_t = std::vector; -using buffer_kind_names_t = std::map; -using buffer_kind_operation_names_t = - std::map>; using kernel_symbol_data_t = rocprofiler_callback_tracing_code_object_kernel_symbol_register_data_t; using kernel_symbol_map_t = std::unordered_map; -struct buffer_name_info -{ - buffer_kind_names_t kind_names = {}; - buffer_kind_operation_names_t operation_names = {}; -}; - rocprofiler_client_id_t* client_id = nullptr; rocprofiler_client_finalize_t client_fini_func = nullptr; rocprofiler_context_id_t client_ctx = {}; @@ -98,94 +87,7 @@ kernel_symbol_map_t client_kernels = {}; void print_call_stack(const call_stack_t& _call_stack) { - auto ofname = std::string{"api_buffered_trace.log"}; - if(auto* eofname = getenv("ROCPROFILER_SAMPLE_OUTPUT_FILE")) ofname = eofname; - - std::ostream* ofs = nullptr; - auto cleanup = std::function{}; - - if(ofname == "stdout") - ofs = &std::cout; - else if(ofname == "stderr") - ofs = &std::cerr; - else - { - ofs = new std::ofstream{ofname}; - if(ofs && *ofs) - cleanup = [](std::ostream*& _os) { delete _os; }; - else - { - std::cerr << "Error outputting to " << ofname << ". Redirecting to stderr...\n"; - ofname = "stderr"; - ofs = &std::cerr; - } - } - - std::cout << "Outputting collected data to " << ofname << "...\n" << std::flush; - - size_t n = 0; - for(const auto& itr : _call_stack) - { - *ofs << std::left << std::setw(2) << ++n << "/" << std::setw(2) << _call_stack.size() - << " [" << common::fs::path{itr.file}.filename() << ":" << itr.line << "] " - << std::setw(20) << itr.function; - if(!itr.context.empty()) *ofs << " :: " << itr.context; - *ofs << "\n"; - } - - *ofs << std::flush; - - if(cleanup) cleanup(ofs); -} - -buffer_name_info -get_buffer_tracing_names() -{ - auto cb_name_info = buffer_name_info{}; - // - // callback for each kind operation - // - static auto tracing_kind_operation_cb = - [](rocprofiler_buffer_tracing_kind_t kindv, uint32_t operation, void* data_v) { - auto* name_info_v = static_cast(data_v); - - if(kindv == ROCPROFILER_BUFFER_TRACING_HSA_API || - kindv == ROCPROFILER_BUFFER_TRACING_HIP_API) - { - const char* name = nullptr; - ROCPROFILER_CALL(rocprofiler_query_buffer_tracing_kind_operation_name( - kindv, operation, &name, nullptr), - "query buffer tracing kind operation name"); - if(name) name_info_v->operation_names[kindv][operation] = name; - } - return 0; - }; - - // - // callback for each buffer kind (i.e. domain) - // - static auto tracing_kind_cb = [](rocprofiler_buffer_tracing_kind_t kind, void* data) { - // store the buffer kind name - auto* name_info_v = static_cast(data); - const char* name = nullptr; - ROCPROFILER_CALL(rocprofiler_query_buffer_tracing_kind_name(kind, &name, nullptr), - "query buffer tracing kind operation name"); - if(name) name_info_v->kind_names[kind] = name; - - if(kind == ROCPROFILER_BUFFER_TRACING_HSA_API || kind == ROCPROFILER_BUFFER_TRACING_HIP_API) - { - ROCPROFILER_CALL(rocprofiler_iterate_buffer_tracing_kind_operations( - kind, tracing_kind_operation_cb, static_cast(data)), - "iterating buffer tracing kind operations"); - } - return 0; - }; - - ROCPROFILER_CALL(rocprofiler_iterate_buffer_tracing_kinds(tracing_kind_cb, - static_cast(&cb_name_info)), - "iterating buffer tracing kinds"); - - return cb_name_info; + common::print_call_stack("api_buffered_trace.log", _call_stack); } void @@ -257,7 +159,10 @@ tool_tracing_callback(rocprofiler_context_id_t context, throw std::runtime_error{"rocprofiler_record_header_t (category | kind) != hash"}; } else if(header->category == ROCPROFILER_BUFFER_CATEGORY_TRACING && - header->kind == ROCPROFILER_BUFFER_TRACING_HSA_API) + (header->kind == ROCPROFILER_BUFFER_TRACING_HSA_CORE_API || + header->kind == ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API || + header->kind == ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API || + header->kind == ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API)) { auto* record = static_cast(header->payload); @@ -284,7 +189,7 @@ tool_tracing_callback(rocprofiler_context_id_t context, source_location{__FUNCTION__, __FILE__, __LINE__, info.str()}); } else if(header->category == ROCPROFILER_BUFFER_CATEGORY_TRACING && - header->kind == ROCPROFILER_BUFFER_TRACING_HIP_API) + header->kind == ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API) { auto* record = static_cast(header->payload); @@ -399,7 +304,7 @@ tool_init(rocprofiler_client_finalize_t fini_func, void* tool_data) call_stack_v->emplace_back(source_location{__FUNCTION__, __FILE__, __LINE__, ""}); - client_name_info = get_buffer_tracing_names(); + client_name_info = common::get_buffer_tracing_names(); for(const auto& itr : client_name_info.operation_names) { @@ -445,13 +350,20 @@ tool_init(rocprofiler_client_finalize_t fini_func, void* tool_data) &client_buffer), "buffer creation"); - ROCPROFILER_CALL(rocprofiler_configure_buffer_tracing_service( - client_ctx, ROCPROFILER_BUFFER_TRACING_HSA_API, nullptr, 0, client_buffer), - "buffer tracing service configure"); + for(auto itr : {ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API}) + { + ROCPROFILER_CALL(rocprofiler_configure_buffer_tracing_service( + client_ctx, itr, nullptr, 0, client_buffer), + "buffer tracing service configure"); + } - ROCPROFILER_CALL(rocprofiler_configure_buffer_tracing_service( - client_ctx, ROCPROFILER_BUFFER_TRACING_HIP_API, nullptr, 0, client_buffer), - "buffer tracing service configure"); + ROCPROFILER_CALL( + rocprofiler_configure_buffer_tracing_service( + client_ctx, ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, nullptr, 0, client_buffer), + "buffer tracing service configure"); ROCPROFILER_CALL( rocprofiler_configure_buffer_tracing_service( diff --git a/projects/rocprofiler-sdk/samples/api_callback_tracing/client.cpp b/projects/rocprofiler-sdk/samples/api_callback_tracing/client.cpp index 16afa00f42..9051c9d729 100644 --- a/projects/rocprofiler-sdk/samples/api_callback_tracing/client.cpp +++ b/projects/rocprofiler-sdk/samples/api_callback_tracing/client.cpp @@ -39,8 +39,10 @@ #include #include +#include "common/call_stack.hpp" #include "common/defines.hpp" #include "common/filesystem.hpp" +#include "common/name_info.hpp" #include #include @@ -63,24 +65,9 @@ namespace client { namespace { -struct source_location -{ - std::string function = {}; - std::string file = {}; - uint32_t line = 0; - std::string context = {}; -}; - -using call_stack_t = std::vector; -using callback_kind_names_t = std::map; -using callback_kind_operation_names_t = - std::map>; - -struct callback_name_info -{ - callback_kind_names_t kind_names = {}; - callback_kind_operation_names_t operation_names = {}; -}; +using common::call_stack_t; +using common::callback_name_info; +using common::source_location; rocprofiler_client_id_t* client_id = nullptr; rocprofiler_client_finalize_t client_fini_func = nullptr; @@ -89,103 +76,7 @@ rocprofiler_context_id_t client_ctx = {}; void print_call_stack(const call_stack_t& _call_stack) { - auto ofname = std::string{"api_callback_trace.log"}; - if(auto* eofname = getenv("ROCPROFILER_SAMPLE_OUTPUT_FILE")) ofname = eofname; - - std::ostream* ofs = nullptr; - auto cleanup = std::function{}; - - if(ofname == "stdout") - ofs = &std::cout; - else if(ofname == "stderr") - ofs = &std::cerr; - else - { - ofs = new std::ofstream{ofname}; - if(ofs && *ofs) - cleanup = [](std::ostream*& _os) { delete _os; }; - else - { - std::cerr << "Error outputting to " << ofname << ". Redirecting to stderr...\n"; - ofname = "stderr"; - ofs = &std::cerr; - } - } - - std::cout << "Outputting collected data to " << ofname << "...\n" << std::flush; - - size_t n = 0; - *ofs << std::left; - for(const auto& itr : _call_stack) - { - *ofs << std::left << std::setw(2) << ++n << "/" << std::setw(2) << _call_stack.size() - << " [" << common::fs::path{itr.file}.filename() << ":" << itr.line << "] " - << std::setw(20) << itr.function; - if(!itr.context.empty()) *ofs << " :: " << itr.context; - *ofs << "\n"; - } - - *ofs << std::flush; - - if(cleanup) cleanup(ofs); -} - -callback_name_info -get_callback_id_names() -{ - static auto supported = std::unordered_set{ - ROCPROFILER_CALLBACK_TRACING_HSA_API, - ROCPROFILER_CALLBACK_TRACING_HIP_API, - ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API, - ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, - ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API, - ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API, - }; - - auto cb_name_info = callback_name_info{}; - // - // callback for each kind operation - // - static auto tracing_kind_operation_cb = - [](rocprofiler_callback_tracing_kind_t kindv, uint32_t operation, void* data_v) { - auto* name_info_v = static_cast(data_v); - - if(supported.count(kindv) > 0) - { - const char* name = nullptr; - ROCPROFILER_CALL(rocprofiler_query_callback_tracing_kind_operation_name( - kindv, operation, &name, nullptr), - "query callback tracing kind operation name"); - if(name) name_info_v->operation_names[kindv][operation] = name; - } - return 0; - }; - - // - // callback for each callback kind (i.e. domain) - // - static auto tracing_kind_cb = [](rocprofiler_callback_tracing_kind_t kind, void* data) { - // store the callback kind name - auto* name_info_v = static_cast(data); - const char* name = nullptr; - ROCPROFILER_CALL(rocprofiler_query_callback_tracing_kind_name(kind, &name, nullptr), - "query callback tracing kind operation name"); - if(name) name_info_v->kind_names[kind] = name; - - if(supported.count(kind) > 0) - { - ROCPROFILER_CALL(rocprofiler_iterate_callback_tracing_kind_operations( - kind, tracing_kind_operation_cb, static_cast(data)), - "iterating callback tracing kind operations"); - } - return 0; - }; - - ROCPROFILER_CALL(rocprofiler_iterate_callback_tracing_kinds(tracing_kind_cb, - static_cast(&cb_name_info)), - "iterating callback tracing kinds"); - - return cb_name_info; + common::print_call_stack("api_callback_trace.log", _call_stack); } void @@ -291,7 +182,7 @@ tool_init(rocprofiler_client_finalize_t fini_func, void* tool_data) call_stack_v->emplace_back(source_location{__FUNCTION__, __FILE__, __LINE__, ""}); - callback_name_info name_info = get_callback_id_names(); + callback_name_info name_info = common::get_callback_id_names(); for(const auto& itr : name_info.operation_names) { @@ -322,18 +213,19 @@ tool_init(rocprofiler_client_finalize_t fini_func, void* tool_data) // enable the control tool_control_init(client_ctx); - ROCPROFILER_CALL( - rocprofiler_configure_callback_tracing_service(client_ctx, - ROCPROFILER_CALLBACK_TRACING_HSA_API, - nullptr, - 0, - tool_tracing_callback, - tool_data), - "callback tracing service failed to configure"); + for(auto itr : {ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API}) + { + ROCPROFILER_CALL(rocprofiler_configure_callback_tracing_service( + client_ctx, itr, nullptr, 0, tool_tracing_callback, tool_data), + "callback tracing service failed to configure"); + } ROCPROFILER_CALL( rocprofiler_configure_callback_tracing_service(client_ctx, - ROCPROFILER_CALLBACK_TRACING_HIP_API, + ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API, nullptr, 0, tool_tracing_callback, diff --git a/projects/rocprofiler-sdk/samples/common/call_stack.hpp b/projects/rocprofiler-sdk/samples/common/call_stack.hpp new file mode 100644 index 0000000000..bd4a337087 --- /dev/null +++ b/projects/rocprofiler-sdk/samples/common/call_stack.hpp @@ -0,0 +1,90 @@ +// MIT License +// +// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#pragma once + +#include "filesystem.hpp" + +#include +#include +#include +#include +#include +#include +#include + +namespace common +{ +struct source_location +{ + std::string function = {}; + std::string file = {}; + uint32_t line = 0; + std::string context = {}; +}; + +using call_stack_t = std::vector; + +inline void +print_call_stack(std::string ofname, + const call_stack_t& _call_stack, + const char* env_variable = "ROCPROFILER_SAMPLE_OUTPUT_FILE") +{ + if(auto* eofname = getenv(env_variable)) ofname = eofname; + + std::ostream* ofs = nullptr; + auto cleanup = std::function{}; + + if(ofname == "stdout") + ofs = &std::cout; + else if(ofname == "stderr") + ofs = &std::cerr; + else + { + ofs = new std::ofstream{ofname}; + if(ofs && *ofs) + cleanup = [](std::ostream*& _os) { delete _os; }; + else + { + std::cerr << "Error outputting to " << ofname << ". Redirecting to stderr...\n"; + ofname = "stderr"; + ofs = &std::cerr; + } + } + + std::cout << "Outputting collected data to " << ofname << "...\n" << std::flush; + + size_t n = 0; + for(const auto& itr : _call_stack) + { + *ofs << std::left << std::setw(2) << ++n << "/" << std::setw(2) << _call_stack.size() + << " [" << common::fs::path{itr.file}.filename() << ":" << itr.line << "] " + << std::setw(20) << itr.function; + if(!itr.context.empty()) *ofs << " :: " << itr.context; + *ofs << "\n"; + } + + *ofs << std::flush; + + if(cleanup) cleanup(ofs); +} +} // namespace common diff --git a/projects/rocprofiler-sdk/samples/common/name_info.hpp b/projects/rocprofiler-sdk/samples/common/name_info.hpp new file mode 100644 index 0000000000..850ed79999 --- /dev/null +++ b/projects/rocprofiler-sdk/samples/common/name_info.hpp @@ -0,0 +1,182 @@ +// MIT License +// +// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#pragma once + +#include +#include + +#include "defines.hpp" + +#include +#include +#include +#include +#include +#include +#include + +namespace common +{ +using buffer_kind_names_t = std::map; +using buffer_kind_operation_names_t = + std::map>; +using callback_kind_names_t = std::map; +using callback_kind_operation_names_t = + std::map>; + +struct buffer_name_info +{ + buffer_kind_names_t kind_names = {}; + buffer_kind_operation_names_t operation_names = {}; +}; + +struct callback_name_info +{ + callback_kind_names_t kind_names = {}; + callback_kind_operation_names_t operation_names = {}; +}; + +inline buffer_name_info +get_buffer_tracing_names() +{ + static const auto supported_kinds = std::unordered_set{ + ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, + ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API, + ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API, + ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API, + ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API, + ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, + }; + + auto cb_name_info = buffer_name_info{}; + // + // callback for each kind operation + // + static auto tracing_kind_operation_cb = + [](rocprofiler_buffer_tracing_kind_t kindv, uint32_t operation, void* data_v) { + auto* name_info_v = static_cast(data_v); + + if(supported_kinds.count(kindv) > 0) + { + const char* name = nullptr; + ROCPROFILER_CALL(rocprofiler_query_buffer_tracing_kind_operation_name( + kindv, operation, &name, nullptr), + "query buffer tracing kind operation name"); + if(name) name_info_v->operation_names[kindv][operation] = name; + } + return 0; + }; + + // + // callback for each buffer kind (i.e. domain) + // + static auto tracing_kind_cb = [](rocprofiler_buffer_tracing_kind_t kind, void* data) { + // store the buffer kind name + auto* name_info_v = static_cast(data); + const char* name = nullptr; + ROCPROFILER_CALL(rocprofiler_query_buffer_tracing_kind_name(kind, &name, nullptr), + "query buffer tracing kind operation name"); + if(name) name_info_v->kind_names[kind] = name; + + if(supported_kinds.count(kind) > 0) + { + ROCPROFILER_CALL(rocprofiler_iterate_buffer_tracing_kind_operations( + kind, tracing_kind_operation_cb, static_cast(data)), + "iterating buffer tracing kind operations"); + } + return 0; + }; + + ROCPROFILER_CALL(rocprofiler_iterate_buffer_tracing_kinds(tracing_kind_cb, + static_cast(&cb_name_info)), + "iterating buffer tracing kinds"); + + return cb_name_info; +} + +inline callback_name_info +get_callback_id_names() +{ + static auto supported = std::unordered_set{ + ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API, + ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API, + ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, + ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API, + ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API, + ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT, + }; + + auto cb_name_info = callback_name_info{}; + // + // callback for each kind operation + // + static auto tracing_kind_operation_cb = + [](rocprofiler_callback_tracing_kind_t kindv, uint32_t operation, void* data_v) { + auto* name_info_v = static_cast(data_v); + + if(supported.count(kindv) > 0) + { + const char* name = nullptr; + ROCPROFILER_CALL(rocprofiler_query_callback_tracing_kind_operation_name( + kindv, operation, &name, nullptr), + "query callback tracing kind operation name"); + if(name) name_info_v->operation_names[kindv][operation] = name; + } + return 0; + }; + + // + // callback for each callback kind (i.e. domain) + // + static auto tracing_kind_cb = [](rocprofiler_callback_tracing_kind_t kind, void* data) { + // store the callback kind name + auto* name_info_v = static_cast(data); + const char* name = nullptr; + ROCPROFILER_CALL(rocprofiler_query_callback_tracing_kind_name(kind, &name, nullptr), + "query callback tracing kind operation name"); + if(name) name_info_v->kind_names[kind] = name; + + if(supported.count(kind) > 0) + { + ROCPROFILER_CALL(rocprofiler_iterate_callback_tracing_kind_operations( + kind, tracing_kind_operation_cb, static_cast(data)), + "iterating callback tracing kind operations"); + } + return 0; + }; + + ROCPROFILER_CALL(rocprofiler_iterate_callback_tracing_kinds(tracing_kind_cb, + static_cast(&cb_name_info)), + "iterating callback tracing kinds"); + + return cb_name_info; +} +} // namespace common diff --git a/projects/rocprofiler-sdk/samples/counter_collection/main.cpp b/projects/rocprofiler-sdk/samples/counter_collection/main.cpp index 44fe721021..bb35ae126c 100644 --- a/projects/rocprofiler-sdk/samples/counter_collection/main.cpp +++ b/projects/rocprofiler-sdk/samples/counter_collection/main.cpp @@ -60,9 +60,9 @@ kernelC(T* C_d, const T* A_d, size_t N) } void -launchKernals() +launchKernels() { - const int NUM_LAUNCH = 200000; + const int NUM_LAUNCH = 50000; // Normal HIP Calls int* gpuMem; [[maybe_unused]] hipDeviceProp_t devProp; @@ -110,5 +110,5 @@ int main() { start(); - launchKernals(); + launchKernels(); } diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/buffer_tracing.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/buffer_tracing.h index 56abe455d6..53710b68ff 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/buffer_tracing.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/buffer_tracing.h @@ -40,13 +40,22 @@ ROCPROFILER_EXTERN_C_INIT */ typedef struct { - uint64_t size; ///< size of this struct - rocprofiler_buffer_tracing_kind_t kind; ///< ::ROCPROFILER_CALLBACK_TRACING_HSA_API + uint64_t size; ///< size of this struct + rocprofiler_buffer_tracing_kind_t kind; + rocprofiler_tracing_operation_t operation; rocprofiler_correlation_id_t correlation_id; ///< correlation ids for record - rocprofiler_tracing_operation_t operation; ///< ::rocprofiler_hsa_api_id_t rocprofiler_timestamp_t start_timestamp; ///< start time in nanoseconds rocprofiler_timestamp_t end_timestamp; ///< end time in nanoseconds rocprofiler_thread_id_t thread_id; ///< id for thread generating this record + + /// @var kind + /// @brief ::ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + /// ::ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, + /// ::ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, or + /// ::ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API + /// @var operation + /// @brief ::rocprofiler_hsa_core_api_id_t, ::rocprofiler_hsa_amd_ext_api_id_t, + /// ::rocprofiler_hsa_image_ext_api_id_t, or ::rocprofiler_hsa_finalize_ext_api_id_t } rocprofiler_buffer_tracing_hsa_api_record_t; /** @@ -54,14 +63,19 @@ typedef struct */ typedef struct { - uint64_t size; ///< size of this struct - rocprofiler_buffer_tracing_kind_t kind; ///< ::ROCPROFILER_CALLBACK_TRACING_HIP_API - rocprofiler_correlation_id_t correlation_id; ///< correlation ids for record - rocprofiler_tracing_operation_t - operation; ///< ::rocprofiler_hip_api_id_t or ::rocprofiler_hip_compiler_api_id_t - rocprofiler_timestamp_t start_timestamp; ///< start time in nanoseconds - rocprofiler_timestamp_t end_timestamp; ///< end time in nanoseconds - rocprofiler_thread_id_t thread_id; ///< id for thread generating this record + uint64_t size; ///< size of this struct + rocprofiler_buffer_tracing_kind_t kind; + rocprofiler_tracing_operation_t operation; + rocprofiler_correlation_id_t correlation_id; ///< correlation ids for record + rocprofiler_timestamp_t start_timestamp; ///< start time in nanoseconds + rocprofiler_timestamp_t end_timestamp; ///< end time in nanoseconds + rocprofiler_thread_id_t thread_id; ///< id for thread generating this record + + /// @var kind + /// @brief ::ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API or + /// ::ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API + /// @var operation + /// @brief ::rocprofiler_hip_runtime_api_id_t or ::rocprofiler_hip_compiler_api_id_t } rocprofiler_buffer_tracing_hip_api_record_t; /** @@ -70,16 +84,19 @@ typedef struct typedef struct { uint64_t size; ///< size of this struct - rocprofiler_buffer_tracing_kind_t kind; ///< ::ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, - ///< ::ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API, - ///< or ::ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API - rocprofiler_correlation_id_t correlation_id; ///< correlation ids for record - rocprofiler_tracing_operation_t - operation; ///< ::rocprofiler_marker_core_api_id_t, ::rocprofiler_marker_control_api_id_t, - ///< or ::rocprofiler_marker_name_api_id_t - rocprofiler_timestamp_t start_timestamp; ///< start time in nanoseconds - rocprofiler_timestamp_t end_timestamp; ///< end time in nanoseconds - rocprofiler_thread_id_t thread_id; ///< id for thread generating this record + rocprofiler_buffer_tracing_kind_t kind; + rocprofiler_tracing_operation_t operation; + rocprofiler_correlation_id_t correlation_id; ///< correlation ids for record + rocprofiler_timestamp_t start_timestamp; ///< start time in nanoseconds + rocprofiler_timestamp_t end_timestamp; ///< end time in nanoseconds + rocprofiler_thread_id_t thread_id; ///< id for thread generating this record + + /// @var kind + /// @brief ::ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, + /// ::ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API, or + /// ::ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API + /// @brief ::rocprofiler_marker_core_api_id_t, ::rocprofiler_marker_control_api_id_t, or + /// ::rocprofiler_marker_name_api_id_t } rocprofiler_buffer_tracing_marker_api_record_t; /** @@ -88,13 +105,18 @@ typedef struct typedef struct { uint64_t size; ///< size of this struct - rocprofiler_buffer_tracing_kind_t kind; ///< ::ROCPROFILER_BUFFER_TRACING_MEMORY_COPY + rocprofiler_buffer_tracing_kind_t kind; + rocprofiler_memory_copy_operation_t operation; rocprofiler_correlation_id_t correlation_id; ///< correlation ids for record - rocprofiler_memory_copy_operation_t operation; ///< memory copy direction rocprofiler_timestamp_t start_timestamp; ///< start time in nanoseconds rocprofiler_timestamp_t end_timestamp; ///< end time in nanoseconds rocprofiler_agent_id_t dst_agent_id; ///< destination agent of copy rocprofiler_agent_id_t src_agent_id; ///< source agent of copy + + /// @var kind + /// @brief ::ROCPROFILER_BUFFER_TRACING_MEMORY_COPY + /// @var operation + /// @brief memory copy direction (::rocprofiler_memory_copy_operation_t) } rocprofiler_buffer_tracing_memory_copy_record_t; /** @@ -142,29 +164,6 @@ typedef struct // Not Sure What is the info needed here? } rocprofiler_buffer_tracing_scratch_memory_record_t; -/** - * @brief ROCProfiler Buffer Queue Scheduling Tracer Record. Not implemented. - */ -typedef struct -{ - uint64_t size; ///< size of this struct - rocprofiler_buffer_tracing_kind_t kind; ///< ::ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY - rocprofiler_correlation_id_t correlation_id; ///< correlation ids for record - rocprofiler_timestamp_t start_timestamp; ///< start time in nanoseconds - rocprofiler_timestamp_t end_timestamp; ///< end time in nanoseconds - // Not Sure What is the info needed here? -} rocprofiler_buffer_tracing_queue_scheduling_record_t; - -/** - * @brief ROCProfiler Buffer External Correlation Tracer Record. Not implemented. - */ -typedef struct -{ - uint64_t size; - rocprofiler_buffer_tracing_kind_t kind; - rocprofiler_correlation_id_t correlation_id; -} rocprofiler_buffer_tracing_correlation_record_t; - /** * @brief Callback function for mapping @ref rocprofiler_buffer_tracing_kind_t ids to * string names. @see rocprofiler_iterate_buffer_trace_kind_names. diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/callback_tracing.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/callback_tracing.h index 64bf3de2e7..99e1d08029 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/callback_tracing.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/callback_tracing.h @@ -63,7 +63,7 @@ typedef struct } rocprofiler_callback_tracing_hsa_api_data_t; /** - * @brief ROCProfiler HIP API Tracer Callback Data. + * @brief ROCProfiler HIP runtime and compiler API Tracer Callback Data. */ typedef struct { @@ -72,16 +72,6 @@ typedef struct rocprofiler_hip_api_retval_t retval; } rocprofiler_callback_tracing_hip_api_data_t; -/** - * @brief ROCProfiler HIP API Tracer Callback Data. - */ -typedef struct -{ - uint64_t size; ///< size of this struct - rocprofiler_hip_compiler_api_args_t args; - rocprofiler_hip_compiler_api_retval_t retval; -} rocprofiler_callback_tracing_hip_compiler_api_data_t; - /** * @brief ROCProfiler Marker Tracer Callback Data. */ diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/fwd.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/fwd.h index 1cc2e518a6..0848a98418 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/fwd.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/fwd.h @@ -128,14 +128,19 @@ typedef enum // NOLINT(performance-enum-size) typedef enum // NOLINT(performance-enum-size) { ROCPROFILER_CALLBACK_TRACING_NONE = 0, - ROCPROFILER_CALLBACK_TRACING_HSA_API, ///< Callbacks for HSA functions - ROCPROFILER_CALLBACK_TRACING_HIP_API, ///< Callbacks for HIP functions - ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API, ///< Callbacks for HIP compiler functions - ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, ///< Callbacks for ROCTx functions - ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API, ///< Callbacks for ROCTx functions - ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API, ///< Callbacks for ROCTx functions - ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT, ///< Callbacks for code object info - ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH, ///< Callbacks for kernel dispatches + ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, ///< @see ::rocprofiler_hsa_core_api_id_t + ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, ///< @see ::rocprofiler_hsa_amd_ext_api_id_t + ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, ///< @see ::rocprofiler_hsa_image_ext_api_id_t + ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API, ///< @see + ///< ::rocprofiler_hsa_finalize_ext_api_id_t + ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API, ///< @see ::rocprofiler_hip_runtime_api_id_t + ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API, ///< @see ::rocprofiler_hip_compiler_api_id_t + ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, ///< @see ::rocprofiler_marker_core_api_id_t + ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API, ///< @see + ///< ::rocprofiler_marker_control_api_id_t + ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API, ///< @see ::rocprofiler_marker_name_api_id_t + ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT, ///< @see ::rocprofiler_code_object_operation_t + ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH, ///< Callbacks for kernel dispatches ROCPROFILER_CALLBACK_TRACING_LAST, } rocprofiler_callback_tracing_kind_t; @@ -145,19 +150,20 @@ typedef enum // NOLINT(performance-enum-size) typedef enum // NOLINT(performance-enum-size) { ROCPROFILER_BUFFER_TRACING_NONE = 0, - ROCPROFILER_BUFFER_TRACING_HSA_API, ///< Buffer HSA function calls - ROCPROFILER_BUFFER_TRACING_HIP_API, ///< Buffer HIP function calls - ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API, ///< Buffer HIP compiler function calls - ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API, ///< Buffer ROCTx core function calls - ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API, ///< Buffer ROCTx name function calls - ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API, ///< Buffer ROCTx name function calls - ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, ///< Buffer memory copy info - ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH, ///< Buffer kernel dispatch info - ROCPROFILER_BUFFER_TRACING_PAGE_MIGRATION, ///< Buffer page migration info - ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY, ///< Buffer scratch memory reclaimation info - ROCPROFILER_BUFFER_TRACING_EXTERNAL_CORRELATION, ///< Buffer external correlation info - // To determine if this is possible to implement? - // ROCPROFILER_BUFFER_TRACING_QUEUE_SCHEDULING, + ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, ///< @see ::rocprofiler_hsa_core_api_id_t + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, ///< @see ::rocprofiler_hsa_amd_ext_api_id_t + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, ///< @see ::rocprofiler_hsa_image_ext_api_id_t + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API, ///< @see + ///< ::rocprofiler_hsa_finalize_ext_api_id_t + ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, ///< @see ::rocprofiler_hip_runtime_api_id_t + ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API, ///< @see ::rocprofiler_hip_compiler_api_id_t + ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API, ///< @see ::rocprofiler_marker_core_api_id_t + ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API, ///< @see ::rocprofiler_marker_control_api_id_t + ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API, ///< @see ::rocprofiler_marker_name_api_id_t + ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, ///< @see ::rocprofiler_memory_copy_operation_t + ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH, ///< Buffer kernel dispatch info + ROCPROFILER_BUFFER_TRACING_PAGE_MIGRATION, ///< Buffer page migration info + ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY, ///< Buffer scratch memory reclaimation info ROCPROFILER_BUFFER_TRACING_LAST, } rocprofiler_buffer_tracing_kind_t; @@ -169,9 +175,8 @@ typedef enum // NOLINT(performance-enum-size) ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_NONE = 0, ///< Unknown code object operation ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_LOAD, ///< Code object containing kernel symbols ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_DEVICE_KERNEL_SYMBOL_REGISTER, ///< Kernel symbols - // ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_HOST_KERNEL_SYMBOL_REGISTER, ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_LAST, -} rocprofiler_callback_tracing_code_object_operation_t; +} rocprofiler_code_object_operation_t; /** * @brief Memory Copy Operation. diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip.h index b74fd08f8a..781b50a570 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip.h @@ -24,6 +24,4 @@ #include #include -#include -#include -#include +#include diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/CMakeLists.txt b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/CMakeLists.txt index c331a92dd5..a9578e004f 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/CMakeLists.txt +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/CMakeLists.txt @@ -3,8 +3,8 @@ # Installation of public HIP headers # # -set(ROCPROFILER_HIP_HEADER_FILES api_args.h api_id.h compiler_api_args.h - compiler_api_id.h table_api_id.h) +set(ROCPROFILER_HIP_HEADER_FILES api_args.h api_id.h compiler_api_id.h runtime_api_id.h + table_id.h) install( FILES ${ROCPROFILER_HIP_HEADER_FILES} diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/api_args.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/api_args.h index b613d75035..6e78751a48 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/api_args.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/api_args.h @@ -36,10 +36,87 @@ typedef union rocprofiler_hip_api_retval_u const char* const_charp_retval; hipError_t hipError_t_retval; hipChannelFormatDesc hipChannelFormatDesc_retval; + void** voidpp_retval; } rocprofiler_hip_api_retval_t; typedef union rocprofiler_hip_api_args_u { + // compiler + struct + { + dim3* gridDim; + dim3* blockDim; + size_t* sharedMem; + hipStream_t* stream; + } __hipPopCallConfiguration; + struct + { + dim3 gridDim; + dim3 blockDim; + size_t sharedMem; + hipStream_t stream; + } __hipPushCallConfiguration; + struct + { + const void* data; + } __hipRegisterFatBinary; + struct + { + void** modules; + const void* hostFunction; + char* deviceFunction; + const char* deviceName; + unsigned int threadLimit; + uint3* tid; + uint3* bid; + dim3* blockDim; + dim3* gridDim; + int* wSize; + } __hipRegisterFunction; + struct + { + void* hipModule; + void** pointer; + void* init_value; + const char* name; + size_t size; + unsigned align; + } __hipRegisterManagedVar; + struct + { + void** modules; + void* var; + char* hostVar; + char* deviceVar; + int type; + int ext; + } __hipRegisterSurface; + struct + { + void** modules; + void* var; + char* hostVar; + char* deviceVar; + int type; + int norm; + int ext; + } __hipRegisterTexture; + struct + { + void** modules; + void* var; + char* hostVar; + char* deviceVar; + int ext; + size_t size; + int constant; + int global; + } __hipRegisterVar; + struct + { + void** modules; + } __hipUnregisterFatBinary; + // runtime struct { uint32_t id; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/api_id.h index d11d0d4a91..a128f02c55 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/api_id.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/api_id.h @@ -22,440 +22,5 @@ #pragma once -/** - * @brief ROCProfiler enumeration of HIP API tracing operations - */ -typedef enum // NOLINT(performance-enum-size) -{ - ROCPROFILER_HIP_API_ID_NONE = -1, - ROCPROFILER_HIP_API_ID_hipApiName = 0, - ROCPROFILER_HIP_API_ID_hipArray3DCreate, - ROCPROFILER_HIP_API_ID_hipArray3DGetDescriptor, - ROCPROFILER_HIP_API_ID_hipArrayCreate, - ROCPROFILER_HIP_API_ID_hipArrayDestroy, - ROCPROFILER_HIP_API_ID_hipArrayGetDescriptor, - ROCPROFILER_HIP_API_ID_hipArrayGetInfo, - ROCPROFILER_HIP_API_ID_hipBindTexture, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipBindTexture2D, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipBindTextureToArray, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipBindTextureToMipmappedArray, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipChooseDevice, - ROCPROFILER_HIP_API_ID_hipChooseDeviceR0000, - ROCPROFILER_HIP_API_ID_hipConfigureCall, - ROCPROFILER_HIP_API_ID_hipCreateSurfaceObject, - ROCPROFILER_HIP_API_ID_hipCreateTextureObject, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipCtxCreate, - ROCPROFILER_HIP_API_ID_hipCtxDestroy, - ROCPROFILER_HIP_API_ID_hipCtxDisablePeerAccess, - ROCPROFILER_HIP_API_ID_hipCtxEnablePeerAccess, - ROCPROFILER_HIP_API_ID_hipCtxGetApiVersion, - ROCPROFILER_HIP_API_ID_hipCtxGetCacheConfig, - ROCPROFILER_HIP_API_ID_hipCtxGetCurrent, - ROCPROFILER_HIP_API_ID_hipCtxGetDevice, - ROCPROFILER_HIP_API_ID_hipCtxGetFlags, - ROCPROFILER_HIP_API_ID_hipCtxGetSharedMemConfig, - ROCPROFILER_HIP_API_ID_hipCtxPopCurrent, - ROCPROFILER_HIP_API_ID_hipCtxPushCurrent, - ROCPROFILER_HIP_API_ID_hipCtxSetCacheConfig, - ROCPROFILER_HIP_API_ID_hipCtxSetCurrent, - ROCPROFILER_HIP_API_ID_hipCtxSetSharedMemConfig, - ROCPROFILER_HIP_API_ID_hipCtxSynchronize, - ROCPROFILER_HIP_API_ID_hipDestroyExternalMemory, - ROCPROFILER_HIP_API_ID_hipDestroyExternalSemaphore, - ROCPROFILER_HIP_API_ID_hipDestroySurfaceObject, - ROCPROFILER_HIP_API_ID_hipDestroyTextureObject, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipDeviceCanAccessPeer, - ROCPROFILER_HIP_API_ID_hipDeviceComputeCapability, - ROCPROFILER_HIP_API_ID_hipDeviceDisablePeerAccess, - ROCPROFILER_HIP_API_ID_hipDeviceEnablePeerAccess, - ROCPROFILER_HIP_API_ID_hipDeviceGet, - ROCPROFILER_HIP_API_ID_hipDeviceGetAttribute, - ROCPROFILER_HIP_API_ID_hipDeviceGetByPCIBusId, - ROCPROFILER_HIP_API_ID_hipDeviceGetCacheConfig, - ROCPROFILER_HIP_API_ID_hipDeviceGetDefaultMemPool, - ROCPROFILER_HIP_API_ID_hipDeviceGetGraphMemAttribute, - ROCPROFILER_HIP_API_ID_hipDeviceGetLimit, - ROCPROFILER_HIP_API_ID_hipDeviceGetMemPool, - ROCPROFILER_HIP_API_ID_hipDeviceGetName, - ROCPROFILER_HIP_API_ID_hipDeviceGetP2PAttribute, - ROCPROFILER_HIP_API_ID_hipDeviceGetPCIBusId, - ROCPROFILER_HIP_API_ID_hipDeviceGetSharedMemConfig, - ROCPROFILER_HIP_API_ID_hipDeviceGetStreamPriorityRange, - ROCPROFILER_HIP_API_ID_hipDeviceGetUuid, - ROCPROFILER_HIP_API_ID_hipDeviceGraphMemTrim, - ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxGetState, - ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxRelease, - ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxReset, - ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxRetain, - ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxSetFlags, - ROCPROFILER_HIP_API_ID_hipDeviceReset, - ROCPROFILER_HIP_API_ID_hipDeviceSetCacheConfig, - ROCPROFILER_HIP_API_ID_hipDeviceSetGraphMemAttribute, - ROCPROFILER_HIP_API_ID_hipDeviceSetLimit, - ROCPROFILER_HIP_API_ID_hipDeviceSetMemPool, - ROCPROFILER_HIP_API_ID_hipDeviceSetSharedMemConfig, - ROCPROFILER_HIP_API_ID_hipDeviceSynchronize, - ROCPROFILER_HIP_API_ID_hipDeviceTotalMem, - ROCPROFILER_HIP_API_ID_hipDriverGetVersion, - ROCPROFILER_HIP_API_ID_hipDrvGetErrorName, - ROCPROFILER_HIP_API_ID_hipDrvGetErrorString, - ROCPROFILER_HIP_API_ID_hipDrvGraphAddMemcpyNode, - ROCPROFILER_HIP_API_ID_hipDrvMemcpy2DUnaligned, - ROCPROFILER_HIP_API_ID_hipDrvMemcpy3D, - ROCPROFILER_HIP_API_ID_hipDrvMemcpy3DAsync, - ROCPROFILER_HIP_API_ID_hipDrvPointerGetAttributes, - ROCPROFILER_HIP_API_ID_hipEventCreate, - ROCPROFILER_HIP_API_ID_hipEventCreateWithFlags, - ROCPROFILER_HIP_API_ID_hipEventDestroy, - ROCPROFILER_HIP_API_ID_hipEventElapsedTime, - ROCPROFILER_HIP_API_ID_hipEventQuery, - ROCPROFILER_HIP_API_ID_hipEventRecord, - ROCPROFILER_HIP_API_ID_hipEventSynchronize, - ROCPROFILER_HIP_API_ID_hipExtGetLinkTypeAndHopCount, - ROCPROFILER_HIP_API_ID_hipExtLaunchKernel, - ROCPROFILER_HIP_API_ID_hipExtLaunchMultiKernelMultiDevice, - ROCPROFILER_HIP_API_ID_hipExtMallocWithFlags, - ROCPROFILER_HIP_API_ID_hipExtStreamCreateWithCUMask, - ROCPROFILER_HIP_API_ID_hipExtStreamGetCUMask, - ROCPROFILER_HIP_API_ID_hipExternalMemoryGetMappedBuffer, - ROCPROFILER_HIP_API_ID_hipFree, - ROCPROFILER_HIP_API_ID_hipFreeArray, - ROCPROFILER_HIP_API_ID_hipFreeAsync, - ROCPROFILER_HIP_API_ID_hipFreeHost, - ROCPROFILER_HIP_API_ID_hipFreeMipmappedArray, - ROCPROFILER_HIP_API_ID_hipFuncGetAttribute, - ROCPROFILER_HIP_API_ID_hipFuncGetAttributes, - ROCPROFILER_HIP_API_ID_hipFuncSetAttribute, - ROCPROFILER_HIP_API_ID_hipFuncSetCacheConfig, - ROCPROFILER_HIP_API_ID_hipFuncSetSharedMemConfig, - ROCPROFILER_HIP_API_ID_hipGLGetDevices, - ROCPROFILER_HIP_API_ID_hipGetChannelDesc, - ROCPROFILER_HIP_API_ID_hipGetDevice, - ROCPROFILER_HIP_API_ID_hipGetDeviceCount, - ROCPROFILER_HIP_API_ID_hipGetDeviceFlags, - ROCPROFILER_HIP_API_ID_hipGetDevicePropertiesR0600, - ROCPROFILER_HIP_API_ID_hipGetDevicePropertiesR0000, - ROCPROFILER_HIP_API_ID_hipGetErrorName, - ROCPROFILER_HIP_API_ID_hipGetErrorString, - ROCPROFILER_HIP_API_ID_hipGetLastError, - ROCPROFILER_HIP_API_ID_hipGetMipmappedArrayLevel, - ROCPROFILER_HIP_API_ID_hipGetSymbolAddress, - ROCPROFILER_HIP_API_ID_hipGetSymbolSize, - ROCPROFILER_HIP_API_ID_hipGetTextureAlignmentOffset, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipGetTextureObjectResourceDesc, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipGetTextureObjectResourceViewDesc, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipGetTextureObjectTextureDesc, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipGetTextureReference, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipGraphAddChildGraphNode, - ROCPROFILER_HIP_API_ID_hipGraphAddDependencies, - ROCPROFILER_HIP_API_ID_hipGraphAddEmptyNode, - ROCPROFILER_HIP_API_ID_hipGraphAddEventRecordNode, - ROCPROFILER_HIP_API_ID_hipGraphAddEventWaitNode, - ROCPROFILER_HIP_API_ID_hipGraphAddHostNode, - ROCPROFILER_HIP_API_ID_hipGraphAddKernelNode, - ROCPROFILER_HIP_API_ID_hipGraphAddMemAllocNode, - ROCPROFILER_HIP_API_ID_hipGraphAddMemFreeNode, - ROCPROFILER_HIP_API_ID_hipGraphAddMemcpyNode, - ROCPROFILER_HIP_API_ID_hipGraphAddMemcpyNode1D, - ROCPROFILER_HIP_API_ID_hipGraphAddMemcpyNodeFromSymbol, - ROCPROFILER_HIP_API_ID_hipGraphAddMemcpyNodeToSymbol, - ROCPROFILER_HIP_API_ID_hipGraphAddMemsetNode, - ROCPROFILER_HIP_API_ID_hipGraphChildGraphNodeGetGraph, - ROCPROFILER_HIP_API_ID_hipGraphClone, - ROCPROFILER_HIP_API_ID_hipGraphCreate, - ROCPROFILER_HIP_API_ID_hipGraphDebugDotPrint, - ROCPROFILER_HIP_API_ID_hipGraphDestroy, - ROCPROFILER_HIP_API_ID_hipGraphDestroyNode, - ROCPROFILER_HIP_API_ID_hipGraphEventRecordNodeGetEvent, - ROCPROFILER_HIP_API_ID_hipGraphEventRecordNodeSetEvent, - ROCPROFILER_HIP_API_ID_hipGraphEventWaitNodeGetEvent, - ROCPROFILER_HIP_API_ID_hipGraphEventWaitNodeSetEvent, - ROCPROFILER_HIP_API_ID_hipGraphExecChildGraphNodeSetParams, - ROCPROFILER_HIP_API_ID_hipGraphExecDestroy, - ROCPROFILER_HIP_API_ID_hipGraphExecEventRecordNodeSetEvent, - ROCPROFILER_HIP_API_ID_hipGraphExecEventWaitNodeSetEvent, - ROCPROFILER_HIP_API_ID_hipGraphExecHostNodeSetParams, - ROCPROFILER_HIP_API_ID_hipGraphExecKernelNodeSetParams, - ROCPROFILER_HIP_API_ID_hipGraphExecMemcpyNodeSetParams, - ROCPROFILER_HIP_API_ID_hipGraphExecMemcpyNodeSetParams1D, - ROCPROFILER_HIP_API_ID_hipGraphExecMemcpyNodeSetParamsFromSymbol, - ROCPROFILER_HIP_API_ID_hipGraphExecMemcpyNodeSetParamsToSymbol, - ROCPROFILER_HIP_API_ID_hipGraphExecMemsetNodeSetParams, - ROCPROFILER_HIP_API_ID_hipGraphExecUpdate, - ROCPROFILER_HIP_API_ID_hipGraphGetEdges, - ROCPROFILER_HIP_API_ID_hipGraphGetNodes, - ROCPROFILER_HIP_API_ID_hipGraphGetRootNodes, - ROCPROFILER_HIP_API_ID_hipGraphHostNodeGetParams, - ROCPROFILER_HIP_API_ID_hipGraphHostNodeSetParams, - ROCPROFILER_HIP_API_ID_hipGraphInstantiate, - ROCPROFILER_HIP_API_ID_hipGraphInstantiateWithFlags, - ROCPROFILER_HIP_API_ID_hipGraphKernelNodeCopyAttributes, - ROCPROFILER_HIP_API_ID_hipGraphKernelNodeGetAttribute, - ROCPROFILER_HIP_API_ID_hipGraphKernelNodeGetParams, - ROCPROFILER_HIP_API_ID_hipGraphKernelNodeSetAttribute, - ROCPROFILER_HIP_API_ID_hipGraphKernelNodeSetParams, - ROCPROFILER_HIP_API_ID_hipGraphLaunch, - ROCPROFILER_HIP_API_ID_hipGraphMemAllocNodeGetParams, - ROCPROFILER_HIP_API_ID_hipGraphMemFreeNodeGetParams, - ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeGetParams, - ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeSetParams, - ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeSetParams1D, - ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeSetParamsFromSymbol, - ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeSetParamsToSymbol, - ROCPROFILER_HIP_API_ID_hipGraphMemsetNodeGetParams, - ROCPROFILER_HIP_API_ID_hipGraphMemsetNodeSetParams, - ROCPROFILER_HIP_API_ID_hipGraphNodeFindInClone, - ROCPROFILER_HIP_API_ID_hipGraphNodeGetDependencies, - ROCPROFILER_HIP_API_ID_hipGraphNodeGetDependentNodes, - ROCPROFILER_HIP_API_ID_hipGraphNodeGetEnabled, - ROCPROFILER_HIP_API_ID_hipGraphNodeGetType, - ROCPROFILER_HIP_API_ID_hipGraphNodeSetEnabled, - ROCPROFILER_HIP_API_ID_hipGraphReleaseUserObject, - ROCPROFILER_HIP_API_ID_hipGraphRemoveDependencies, - ROCPROFILER_HIP_API_ID_hipGraphRetainUserObject, - ROCPROFILER_HIP_API_ID_hipGraphUpload, - ROCPROFILER_HIP_API_ID_hipGraphicsGLRegisterBuffer, - ROCPROFILER_HIP_API_ID_hipGraphicsGLRegisterImage, - ROCPROFILER_HIP_API_ID_hipGraphicsMapResources, - ROCPROFILER_HIP_API_ID_hipGraphicsResourceGetMappedPointer, - ROCPROFILER_HIP_API_ID_hipGraphicsSubResourceGetMappedArray, - ROCPROFILER_HIP_API_ID_hipGraphicsUnmapResources, - ROCPROFILER_HIP_API_ID_hipGraphicsUnregisterResource, - ROCPROFILER_HIP_API_ID_hipHostAlloc, - ROCPROFILER_HIP_API_ID_hipHostFree, - ROCPROFILER_HIP_API_ID_hipHostGetDevicePointer, - ROCPROFILER_HIP_API_ID_hipHostGetFlags, - ROCPROFILER_HIP_API_ID_hipHostMalloc, - ROCPROFILER_HIP_API_ID_hipHostRegister, - ROCPROFILER_HIP_API_ID_hipHostUnregister, - ROCPROFILER_HIP_API_ID_hipImportExternalMemory, - ROCPROFILER_HIP_API_ID_hipImportExternalSemaphore, - ROCPROFILER_HIP_API_ID_hipInit, - ROCPROFILER_HIP_API_ID_hipIpcCloseMemHandle, - ROCPROFILER_HIP_API_ID_hipIpcGetEventHandle, - ROCPROFILER_HIP_API_ID_hipIpcGetMemHandle, - ROCPROFILER_HIP_API_ID_hipIpcOpenEventHandle, - ROCPROFILER_HIP_API_ID_hipIpcOpenMemHandle, - ROCPROFILER_HIP_API_ID_hipKernelNameRef, - ROCPROFILER_HIP_API_ID_hipKernelNameRefByPtr, - ROCPROFILER_HIP_API_ID_hipLaunchByPtr, - ROCPROFILER_HIP_API_ID_hipLaunchCooperativeKernel, - ROCPROFILER_HIP_API_ID_hipLaunchCooperativeKernelMultiDevice, - ROCPROFILER_HIP_API_ID_hipLaunchHostFunc, - ROCPROFILER_HIP_API_ID_hipLaunchKernel, - ROCPROFILER_HIP_API_ID_hipMalloc, - ROCPROFILER_HIP_API_ID_hipMalloc3D, - ROCPROFILER_HIP_API_ID_hipMalloc3DArray, - ROCPROFILER_HIP_API_ID_hipMallocArray, - ROCPROFILER_HIP_API_ID_hipMallocAsync, - ROCPROFILER_HIP_API_ID_hipMallocFromPoolAsync, - ROCPROFILER_HIP_API_ID_hipMallocHost, - ROCPROFILER_HIP_API_ID_hipMallocManaged, - ROCPROFILER_HIP_API_ID_hipMallocMipmappedArray, - ROCPROFILER_HIP_API_ID_hipMallocPitch, - ROCPROFILER_HIP_API_ID_hipMemAddressFree, - ROCPROFILER_HIP_API_ID_hipMemAddressReserve, - ROCPROFILER_HIP_API_ID_hipMemAdvise, - ROCPROFILER_HIP_API_ID_hipMemAllocHost, - ROCPROFILER_HIP_API_ID_hipMemAllocPitch, - ROCPROFILER_HIP_API_ID_hipMemCreate, - ROCPROFILER_HIP_API_ID_hipMemExportToShareableHandle, - ROCPROFILER_HIP_API_ID_hipMemGetAccess, - ROCPROFILER_HIP_API_ID_hipMemGetAddressRange, - ROCPROFILER_HIP_API_ID_hipMemGetAllocationGranularity, - ROCPROFILER_HIP_API_ID_hipMemGetAllocationPropertiesFromHandle, - ROCPROFILER_HIP_API_ID_hipMemGetInfo, - ROCPROFILER_HIP_API_ID_hipMemImportFromShareableHandle, - ROCPROFILER_HIP_API_ID_hipMemMap, - ROCPROFILER_HIP_API_ID_hipMemMapArrayAsync, - ROCPROFILER_HIP_API_ID_hipMemPoolCreate, - ROCPROFILER_HIP_API_ID_hipMemPoolDestroy, - ROCPROFILER_HIP_API_ID_hipMemPoolExportPointer, - ROCPROFILER_HIP_API_ID_hipMemPoolExportToShareableHandle, - ROCPROFILER_HIP_API_ID_hipMemPoolGetAccess, - ROCPROFILER_HIP_API_ID_hipMemPoolGetAttribute, - ROCPROFILER_HIP_API_ID_hipMemPoolImportFromShareableHandle, - ROCPROFILER_HIP_API_ID_hipMemPoolImportPointer, - ROCPROFILER_HIP_API_ID_hipMemPoolSetAccess, - ROCPROFILER_HIP_API_ID_hipMemPoolSetAttribute, - ROCPROFILER_HIP_API_ID_hipMemPoolTrimTo, - ROCPROFILER_HIP_API_ID_hipMemPrefetchAsync, - ROCPROFILER_HIP_API_ID_hipMemPtrGetInfo, - ROCPROFILER_HIP_API_ID_hipMemRangeGetAttribute, - ROCPROFILER_HIP_API_ID_hipMemRangeGetAttributes, - ROCPROFILER_HIP_API_ID_hipMemRelease, - ROCPROFILER_HIP_API_ID_hipMemRetainAllocationHandle, - ROCPROFILER_HIP_API_ID_hipMemSetAccess, - ROCPROFILER_HIP_API_ID_hipMemUnmap, - ROCPROFILER_HIP_API_ID_hipMemcpy, - ROCPROFILER_HIP_API_ID_hipMemcpy2D, - ROCPROFILER_HIP_API_ID_hipMemcpy2DAsync, - ROCPROFILER_HIP_API_ID_hipMemcpy2DFromArray, - ROCPROFILER_HIP_API_ID_hipMemcpy2DFromArrayAsync, - ROCPROFILER_HIP_API_ID_hipMemcpy2DToArray, - ROCPROFILER_HIP_API_ID_hipMemcpy2DToArrayAsync, - ROCPROFILER_HIP_API_ID_hipMemcpy3D, - ROCPROFILER_HIP_API_ID_hipMemcpy3DAsync, - ROCPROFILER_HIP_API_ID_hipMemcpyAsync, - ROCPROFILER_HIP_API_ID_hipMemcpyAtoH, - ROCPROFILER_HIP_API_ID_hipMemcpyDtoD, - ROCPROFILER_HIP_API_ID_hipMemcpyDtoDAsync, - ROCPROFILER_HIP_API_ID_hipMemcpyDtoH, - ROCPROFILER_HIP_API_ID_hipMemcpyDtoHAsync, - ROCPROFILER_HIP_API_ID_hipMemcpyFromArray, - ROCPROFILER_HIP_API_ID_hipMemcpyFromSymbol, - ROCPROFILER_HIP_API_ID_hipMemcpyFromSymbolAsync, - ROCPROFILER_HIP_API_ID_hipMemcpyHtoA, - ROCPROFILER_HIP_API_ID_hipMemcpyHtoD, - ROCPROFILER_HIP_API_ID_hipMemcpyHtoDAsync, - ROCPROFILER_HIP_API_ID_hipMemcpyParam2D, - ROCPROFILER_HIP_API_ID_hipMemcpyParam2DAsync, - ROCPROFILER_HIP_API_ID_hipMemcpyPeer, - ROCPROFILER_HIP_API_ID_hipMemcpyPeerAsync, - ROCPROFILER_HIP_API_ID_hipMemcpyToArray, - ROCPROFILER_HIP_API_ID_hipMemcpyToSymbol, - ROCPROFILER_HIP_API_ID_hipMemcpyToSymbolAsync, - ROCPROFILER_HIP_API_ID_hipMemcpyWithStream, - ROCPROFILER_HIP_API_ID_hipMemset, - ROCPROFILER_HIP_API_ID_hipMemset2D, - ROCPROFILER_HIP_API_ID_hipMemset2DAsync, - ROCPROFILER_HIP_API_ID_hipMemset3D, - ROCPROFILER_HIP_API_ID_hipMemset3DAsync, - ROCPROFILER_HIP_API_ID_hipMemsetAsync, - ROCPROFILER_HIP_API_ID_hipMemsetD16, - ROCPROFILER_HIP_API_ID_hipMemsetD16Async, - ROCPROFILER_HIP_API_ID_hipMemsetD32, - ROCPROFILER_HIP_API_ID_hipMemsetD32Async, - ROCPROFILER_HIP_API_ID_hipMemsetD8, - ROCPROFILER_HIP_API_ID_hipMemsetD8Async, - ROCPROFILER_HIP_API_ID_hipMipmappedArrayCreate, - ROCPROFILER_HIP_API_ID_hipMipmappedArrayDestroy, - ROCPROFILER_HIP_API_ID_hipMipmappedArrayGetLevel, - ROCPROFILER_HIP_API_ID_hipModuleGetFunction, - ROCPROFILER_HIP_API_ID_hipModuleGetGlobal, - ROCPROFILER_HIP_API_ID_hipModuleGetTexRef, - ROCPROFILER_HIP_API_ID_hipModuleLaunchCooperativeKernel, - ROCPROFILER_HIP_API_ID_hipModuleLaunchCooperativeKernelMultiDevice, - ROCPROFILER_HIP_API_ID_hipModuleLaunchKernel, - ROCPROFILER_HIP_API_ID_hipModuleLoad, - ROCPROFILER_HIP_API_ID_hipModuleLoadData, - ROCPROFILER_HIP_API_ID_hipModuleLoadDataEx, - ROCPROFILER_HIP_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessor, - ROCPROFILER_HIP_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, - ROCPROFILER_HIP_API_ID_hipModuleOccupancyMaxPotentialBlockSize, - ROCPROFILER_HIP_API_ID_hipModuleOccupancyMaxPotentialBlockSizeWithFlags, - ROCPROFILER_HIP_API_ID_hipModuleUnload, - ROCPROFILER_HIP_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessor, - ROCPROFILER_HIP_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, - ROCPROFILER_HIP_API_ID_hipOccupancyMaxPotentialBlockSize, - ROCPROFILER_HIP_API_ID_hipPeekAtLastError, - ROCPROFILER_HIP_API_ID_hipPointerGetAttribute, - ROCPROFILER_HIP_API_ID_hipPointerGetAttributes, - ROCPROFILER_HIP_API_ID_hipPointerSetAttribute, - ROCPROFILER_HIP_API_ID_hipProfilerStart, - ROCPROFILER_HIP_API_ID_hipProfilerStop, - ROCPROFILER_HIP_API_ID_hipRuntimeGetVersion, - ROCPROFILER_HIP_API_ID_hipSetDevice, - ROCPROFILER_HIP_API_ID_hipSetDeviceFlags, - ROCPROFILER_HIP_API_ID_hipSetupArgument, - ROCPROFILER_HIP_API_ID_hipSignalExternalSemaphoresAsync, - ROCPROFILER_HIP_API_ID_hipStreamAddCallback, - ROCPROFILER_HIP_API_ID_hipStreamAttachMemAsync, - ROCPROFILER_HIP_API_ID_hipStreamBeginCapture, - ROCPROFILER_HIP_API_ID_hipStreamCreate, - ROCPROFILER_HIP_API_ID_hipStreamCreateWithFlags, - ROCPROFILER_HIP_API_ID_hipStreamCreateWithPriority, - ROCPROFILER_HIP_API_ID_hipStreamDestroy, - ROCPROFILER_HIP_API_ID_hipStreamEndCapture, - ROCPROFILER_HIP_API_ID_hipStreamGetCaptureInfo, - ROCPROFILER_HIP_API_ID_hipStreamGetCaptureInfo_v2, - ROCPROFILER_HIP_API_ID_hipStreamGetDevice, - ROCPROFILER_HIP_API_ID_hipStreamGetFlags, - ROCPROFILER_HIP_API_ID_hipStreamGetPriority, - ROCPROFILER_HIP_API_ID_hipStreamIsCapturing, - ROCPROFILER_HIP_API_ID_hipStreamQuery, - ROCPROFILER_HIP_API_ID_hipStreamSynchronize, - ROCPROFILER_HIP_API_ID_hipStreamUpdateCaptureDependencies, - ROCPROFILER_HIP_API_ID_hipStreamWaitEvent, - ROCPROFILER_HIP_API_ID_hipStreamWaitValue32, - ROCPROFILER_HIP_API_ID_hipStreamWaitValue64, - ROCPROFILER_HIP_API_ID_hipStreamWriteValue32, - ROCPROFILER_HIP_API_ID_hipStreamWriteValue64, - ROCPROFILER_HIP_API_ID_hipTexObjectCreate, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexObjectDestroy, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexObjectGetResourceDesc, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexObjectGetResourceViewDesc, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexObjectGetTextureDesc, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexRefGetAddress, - ROCPROFILER_HIP_API_ID_hipTexRefGetAddressMode, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexRefGetFilterMode, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexRefGetFlags, - ROCPROFILER_HIP_API_ID_hipTexRefGetFormat, - ROCPROFILER_HIP_API_ID_hipTexRefGetMaxAnisotropy, - ROCPROFILER_HIP_API_ID_hipTexRefGetMipMappedArray, - ROCPROFILER_HIP_API_ID_hipTexRefGetMipmapFilterMode, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexRefGetMipmapLevelBias, - ROCPROFILER_HIP_API_ID_hipTexRefGetMipmapLevelClamp, - ROCPROFILER_HIP_API_ID_hipTexRefSetAddress, - ROCPROFILER_HIP_API_ID_hipTexRefSetAddress2D, - ROCPROFILER_HIP_API_ID_hipTexRefSetAddressMode, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexRefSetArray, - ROCPROFILER_HIP_API_ID_hipTexRefSetBorderColor, - ROCPROFILER_HIP_API_ID_hipTexRefSetFilterMode, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexRefSetFlags, - ROCPROFILER_HIP_API_ID_hipTexRefSetFormat, - ROCPROFILER_HIP_API_ID_hipTexRefSetMaxAnisotropy, - ROCPROFILER_HIP_API_ID_hipTexRefSetMipmapFilterMode, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipTexRefSetMipmapLevelBias, - ROCPROFILER_HIP_API_ID_hipTexRefSetMipmapLevelClamp, - ROCPROFILER_HIP_API_ID_hipTexRefSetMipmappedArray, - ROCPROFILER_HIP_API_ID_hipThreadExchangeStreamCaptureMode, - ROCPROFILER_HIP_API_ID_hipUnbindTexture, // deprecated or removed - ROCPROFILER_HIP_API_ID_hipUserObjectCreate, - ROCPROFILER_HIP_API_ID_hipUserObjectRelease, - ROCPROFILER_HIP_API_ID_hipUserObjectRetain, - ROCPROFILER_HIP_API_ID_hipWaitExternalSemaphoresAsync, - ROCPROFILER_HIP_API_ID_hipCreateChannelDesc, - ROCPROFILER_HIP_API_ID_hipExtModuleLaunchKernel, - ROCPROFILER_HIP_API_ID_hipHccModuleLaunchKernel, - ROCPROFILER_HIP_API_ID_hipMemcpy_spt, - ROCPROFILER_HIP_API_ID_hipMemcpyToSymbol_spt, - ROCPROFILER_HIP_API_ID_hipMemcpyFromSymbol_spt, - ROCPROFILER_HIP_API_ID_hipMemcpy2D_spt, - ROCPROFILER_HIP_API_ID_hipMemcpy2DFromArray_spt, - ROCPROFILER_HIP_API_ID_hipMemcpy3D_spt, - ROCPROFILER_HIP_API_ID_hipMemset_spt, - ROCPROFILER_HIP_API_ID_hipMemsetAsync_spt, - ROCPROFILER_HIP_API_ID_hipMemset2D_spt, - ROCPROFILER_HIP_API_ID_hipMemset2DAsync_spt, - ROCPROFILER_HIP_API_ID_hipMemset3DAsync_spt, - ROCPROFILER_HIP_API_ID_hipMemset3D_spt, - ROCPROFILER_HIP_API_ID_hipMemcpyAsync_spt, - ROCPROFILER_HIP_API_ID_hipMemcpy3DAsync_spt, - ROCPROFILER_HIP_API_ID_hipMemcpy2DAsync_spt, - ROCPROFILER_HIP_API_ID_hipMemcpyFromSymbolAsync_spt, - ROCPROFILER_HIP_API_ID_hipMemcpyToSymbolAsync_spt, - ROCPROFILER_HIP_API_ID_hipMemcpyFromArray_spt, - ROCPROFILER_HIP_API_ID_hipMemcpy2DToArray_spt, - ROCPROFILER_HIP_API_ID_hipMemcpy2DFromArrayAsync_spt, - ROCPROFILER_HIP_API_ID_hipMemcpy2DToArrayAsync_spt, - ROCPROFILER_HIP_API_ID_hipStreamQuery_spt, - ROCPROFILER_HIP_API_ID_hipStreamSynchronize_spt, - ROCPROFILER_HIP_API_ID_hipStreamGetPriority_spt, - ROCPROFILER_HIP_API_ID_hipStreamWaitEvent_spt, - ROCPROFILER_HIP_API_ID_hipStreamGetFlags_spt, - ROCPROFILER_HIP_API_ID_hipStreamAddCallback_spt, - ROCPROFILER_HIP_API_ID_hipEventRecord_spt, - ROCPROFILER_HIP_API_ID_hipLaunchCooperativeKernel_spt, - ROCPROFILER_HIP_API_ID_hipLaunchKernel_spt, - ROCPROFILER_HIP_API_ID_hipGraphLaunch_spt, - ROCPROFILER_HIP_API_ID_hipStreamBeginCapture_spt, - ROCPROFILER_HIP_API_ID_hipStreamEndCapture_spt, - ROCPROFILER_HIP_API_ID_hipStreamIsCapturing_spt, - ROCPROFILER_HIP_API_ID_hipStreamGetCaptureInfo_spt, - ROCPROFILER_HIP_API_ID_hipStreamGetCaptureInfo_v2_spt, - ROCPROFILER_HIP_API_ID_hipLaunchHostFunc_spt, - ROCPROFILER_HIP_API_ID_hipGetStreamDeviceId, - // ROCPROFILER_HIP_API_ID_hipDrvGraphAddMemsetNode, - ROCPROFILER_HIP_API_ID_LAST, -} rocprofiler_hip_api_id_t; +#include "compiler_api_id.h" +#include "runtime_api_id.h" diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/compiler_api_args.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/compiler_api_args.h deleted file mode 100644 index 8f583100ba..0000000000 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/compiler_api_args.h +++ /dev/null @@ -1,112 +0,0 @@ -// MIT License -// -// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#pragma once - -#include - -#include -#include - -typedef union rocprofiler_hip_compiler_api_retval_u -{ - hipError_t hipError_t_retval; - void** voidpp_retval; -} rocprofiler_hip_compiler_api_retval_t; - -typedef union rocprofiler_hip_compiler_api_args_u -{ - struct - { - dim3* gridDim; - dim3* blockDim; - size_t* sharedMem; - hipStream_t* stream; - } __hipPopCallConfiguration; - struct - { - dim3 gridDim; - dim3 blockDim; - size_t sharedMem; - hipStream_t stream; - } __hipPushCallConfiguration; - struct - { - const void* data; - } __hipRegisterFatBinary; - struct - { - void** modules; - const void* hostFunction; - char* deviceFunction; - const char* deviceName; - unsigned int threadLimit; - uint3* tid; - uint3* bid; - dim3* blockDim; - dim3* gridDim; - int* wSize; - } __hipRegisterFunction; - struct - { - void* hipModule; - void** pointer; - void* init_value; - const char* name; - size_t size; - unsigned align; - } __hipRegisterManagedVar; - struct - { - void** modules; - void* var; - char* hostVar; - char* deviceVar; - int type; - int ext; - } __hipRegisterSurface; - struct - { - void** modules; - void* var; - char* hostVar; - char* deviceVar; - int type; - int norm; - int ext; - } __hipRegisterTexture; - struct - { - void** modules; - void* var; - char* hostVar; - char* deviceVar; - int ext; - size_t size; - int constant; - int global; - } __hipRegisterVar; - struct - { - void** modules; - } __hipUnregisterFatBinary; -} rocprofiler_hip_compiler_api_args_t; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/runtime_api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/runtime_api_id.h new file mode 100644 index 0000000000..281b9f42d9 --- /dev/null +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/runtime_api_id.h @@ -0,0 +1,461 @@ +// MIT License +// +// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#pragma once + +/** + * @brief ROCProfiler enumeration of HIP runtime API tracing operations + */ +typedef enum // NOLINT(performance-enum-size) +{ + ROCPROFILER_HIP_RUNTIME_API_ID_NONE = -1, + ROCPROFILER_HIP_RUNTIME_API_ID_hipApiName = 0, + ROCPROFILER_HIP_RUNTIME_API_ID_hipArray3DCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipArray3DGetDescriptor, + ROCPROFILER_HIP_RUNTIME_API_ID_hipArrayCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipArrayDestroy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipArrayGetDescriptor, + ROCPROFILER_HIP_RUNTIME_API_ID_hipArrayGetInfo, + ROCPROFILER_HIP_RUNTIME_API_ID_hipBindTexture, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipBindTexture2D, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipBindTextureToArray, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipBindTextureToMipmappedArray, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipChooseDevice, + ROCPROFILER_HIP_RUNTIME_API_ID_hipChooseDeviceR0000, + ROCPROFILER_HIP_RUNTIME_API_ID_hipConfigureCall, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCreateSurfaceObject, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCreateTextureObject, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxDestroy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxDisablePeerAccess, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxEnablePeerAccess, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetApiVersion, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetCacheConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetCurrent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetDevice, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetSharedMemConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxPopCurrent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxPushCurrent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxSetCacheConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxSetCurrent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxSetSharedMemConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxSynchronize, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDestroyExternalMemory, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDestroyExternalSemaphore, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDestroySurfaceObject, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDestroyTextureObject, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceCanAccessPeer, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceComputeCapability, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceDisablePeerAccess, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceEnablePeerAccess, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGet, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetByPCIBusId, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetCacheConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetDefaultMemPool, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetGraphMemAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetLimit, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetMemPool, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetName, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetP2PAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetPCIBusId, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetSharedMemConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetStreamPriorityRange, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetUuid, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGraphMemTrim, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxGetState, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxRelease, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxReset, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxRetain, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxSetFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceReset, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetCacheConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetGraphMemAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetLimit, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetMemPool, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetSharedMemConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSynchronize, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceTotalMem, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDriverGetVersion, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvGetErrorName, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvGetErrorString, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvGraphAddMemcpyNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvMemcpy2DUnaligned, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvMemcpy3D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvMemcpy3DAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvPointerGetAttributes, + ROCPROFILER_HIP_RUNTIME_API_ID_hipEventCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipEventCreateWithFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipEventDestroy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipEventElapsedTime, + ROCPROFILER_HIP_RUNTIME_API_ID_hipEventQuery, + ROCPROFILER_HIP_RUNTIME_API_ID_hipEventRecord, + ROCPROFILER_HIP_RUNTIME_API_ID_hipEventSynchronize, + ROCPROFILER_HIP_RUNTIME_API_ID_hipExtGetLinkTypeAndHopCount, + ROCPROFILER_HIP_RUNTIME_API_ID_hipExtLaunchKernel, + ROCPROFILER_HIP_RUNTIME_API_ID_hipExtLaunchMultiKernelMultiDevice, + ROCPROFILER_HIP_RUNTIME_API_ID_hipExtMallocWithFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipExtStreamCreateWithCUMask, + ROCPROFILER_HIP_RUNTIME_API_ID_hipExtStreamGetCUMask, + ROCPROFILER_HIP_RUNTIME_API_ID_hipExternalMemoryGetMappedBuffer, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFree, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFreeArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFreeAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFreeHost, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFreeMipmappedArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncGetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncGetAttributes, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncSetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncSetCacheConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncSetSharedMemConfig, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGLGetDevices, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetChannelDesc, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDevice, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDeviceCount, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDeviceFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDevicePropertiesR0600, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDevicePropertiesR0000, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetErrorName, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetErrorString, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetLastError, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetMipmappedArrayLevel, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetSymbolAddress, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetSymbolSize, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureAlignmentOffset, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureObjectResourceDesc, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureObjectResourceViewDesc, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureObjectTextureDesc, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureReference, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddChildGraphNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddDependencies, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddEmptyNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddEventRecordNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddEventWaitNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddHostNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddKernelNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemAllocNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemFreeNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemcpyNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemcpyNode1D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemcpyNodeFromSymbol, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemcpyNodeToSymbol, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemsetNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphChildGraphNodeGetGraph, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphClone, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphDebugDotPrint, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphDestroy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphDestroyNode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphEventRecordNodeGetEvent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphEventRecordNodeSetEvent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphEventWaitNodeGetEvent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphEventWaitNodeSetEvent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecChildGraphNodeSetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecDestroy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecEventRecordNodeSetEvent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecEventWaitNodeSetEvent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecHostNodeSetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecKernelNodeSetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemcpyNodeSetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemcpyNodeSetParams1D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemcpyNodeSetParamsFromSymbol, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemcpyNodeSetParamsToSymbol, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemsetNodeSetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecUpdate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphGetEdges, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphGetNodes, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphGetRootNodes, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphHostNodeGetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphHostNodeSetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphInstantiate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphInstantiateWithFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeCopyAttributes, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeGetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeGetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeSetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeSetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphLaunch, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemAllocNodeGetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemFreeNodeGetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeGetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeSetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeSetParams1D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeSetParamsFromSymbol, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeSetParamsToSymbol, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemsetNodeGetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemsetNodeSetParams, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeFindInClone, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeGetDependencies, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeGetDependentNodes, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeGetEnabled, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeGetType, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeSetEnabled, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphReleaseUserObject, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphRemoveDependencies, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphRetainUserObject, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphUpload, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsGLRegisterBuffer, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsGLRegisterImage, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsMapResources, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsResourceGetMappedPointer, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsSubResourceGetMappedArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsUnmapResources, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsUnregisterResource, + ROCPROFILER_HIP_RUNTIME_API_ID_hipHostAlloc, + ROCPROFILER_HIP_RUNTIME_API_ID_hipHostFree, + ROCPROFILER_HIP_RUNTIME_API_ID_hipHostGetDevicePointer, + ROCPROFILER_HIP_RUNTIME_API_ID_hipHostGetFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipHostMalloc, + ROCPROFILER_HIP_RUNTIME_API_ID_hipHostRegister, + ROCPROFILER_HIP_RUNTIME_API_ID_hipHostUnregister, + ROCPROFILER_HIP_RUNTIME_API_ID_hipImportExternalMemory, + ROCPROFILER_HIP_RUNTIME_API_ID_hipImportExternalSemaphore, + ROCPROFILER_HIP_RUNTIME_API_ID_hipInit, + ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcCloseMemHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcGetEventHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcGetMemHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcOpenEventHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcOpenMemHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipKernelNameRef, + ROCPROFILER_HIP_RUNTIME_API_ID_hipKernelNameRefByPtr, + ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchByPtr, + ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchCooperativeKernel, + ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchCooperativeKernelMultiDevice, + ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchHostFunc, + ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchKernel, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMalloc, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMalloc3D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMalloc3DArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocFromPoolAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocHost, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocManaged, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocMipmappedArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocPitch, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAddressFree, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAddressReserve, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAdvise, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAllocHost, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAllocPitch, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemExportToShareableHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetAccess, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetAddressRange, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetAllocationGranularity, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetAllocationPropertiesFromHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetInfo, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemImportFromShareableHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemMap, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemMapArrayAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolDestroy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolExportPointer, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolExportToShareableHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolGetAccess, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolGetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolImportFromShareableHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolImportPointer, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolSetAccess, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolSetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolTrimTo, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPrefetchAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPtrGetInfo, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemRangeGetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemRangeGetAttributes, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemRelease, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemRetainAllocationHandle, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemSetAccess, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemUnmap, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DFromArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DFromArrayAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DToArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DToArrayAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy3D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy3DAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyAtoH, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyDtoD, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyDtoDAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyDtoH, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyDtoHAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromSymbol, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromSymbolAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyHtoA, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyHtoD, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyHtoDAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyParam2D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyParam2DAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyPeer, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyPeerAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToSymbol, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToSymbolAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyWithStream, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset2D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset2DAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset3D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset3DAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD16, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD16Async, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD32, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD32Async, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD8, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD8Async, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMipmappedArrayCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMipmappedArrayDestroy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMipmappedArrayGetLevel, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleGetFunction, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleGetGlobal, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleGetTexRef, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLaunchCooperativeKernel, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLaunchCooperativeKernelMultiDevice, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLaunchKernel, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLoad, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLoadData, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLoadDataEx, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessor, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxPotentialBlockSize, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxPotentialBlockSizeWithFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleUnload, + ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessor, + ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxPotentialBlockSize, + ROCPROFILER_HIP_RUNTIME_API_ID_hipPeekAtLastError, + ROCPROFILER_HIP_RUNTIME_API_ID_hipPointerGetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipPointerGetAttributes, + ROCPROFILER_HIP_RUNTIME_API_ID_hipPointerSetAttribute, + ROCPROFILER_HIP_RUNTIME_API_ID_hipProfilerStart, + ROCPROFILER_HIP_RUNTIME_API_ID_hipProfilerStop, + ROCPROFILER_HIP_RUNTIME_API_ID_hipRuntimeGetVersion, + ROCPROFILER_HIP_RUNTIME_API_ID_hipSetDevice, + ROCPROFILER_HIP_RUNTIME_API_ID_hipSetDeviceFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipSetupArgument, + ROCPROFILER_HIP_RUNTIME_API_ID_hipSignalExternalSemaphoresAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamAddCallback, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamAttachMemAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamBeginCapture, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamCreateWithFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamCreateWithPriority, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamDestroy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamEndCapture, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetCaptureInfo, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetCaptureInfo_v2, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetDevice, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetPriority, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamIsCapturing, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamQuery, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamSynchronize, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamUpdateCaptureDependencies, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWaitEvent, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWaitValue32, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWaitValue64, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWriteValue32, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWriteValue64, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectCreate, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectDestroy, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectGetResourceDesc, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectGetResourceViewDesc, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectGetTextureDesc, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetAddress, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetAddressMode, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetFilterMode, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetFormat, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMaxAnisotropy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMipMappedArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMipmapFilterMode, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMipmapLevelBias, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMipmapLevelClamp, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetAddress, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetAddress2D, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetAddressMode, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetBorderColor, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetFilterMode, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetFlags, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetFormat, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMaxAnisotropy, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMipmapFilterMode, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMipmapLevelBias, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMipmapLevelClamp, + ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMipmappedArray, + ROCPROFILER_HIP_RUNTIME_API_ID_hipThreadExchangeStreamCaptureMode, + ROCPROFILER_HIP_RUNTIME_API_ID_hipUnbindTexture, ///< deprecated or removed + ROCPROFILER_HIP_RUNTIME_API_ID_hipUserObjectCreate, + ROCPROFILER_HIP_RUNTIME_API_ID_hipUserObjectRelease, + ROCPROFILER_HIP_RUNTIME_API_ID_hipUserObjectRetain, + ROCPROFILER_HIP_RUNTIME_API_ID_hipWaitExternalSemaphoresAsync, + ROCPROFILER_HIP_RUNTIME_API_ID_hipCreateChannelDesc, + ROCPROFILER_HIP_RUNTIME_API_ID_hipExtModuleLaunchKernel, + ROCPROFILER_HIP_RUNTIME_API_ID_hipHccModuleLaunchKernel, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToSymbol_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromSymbol_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2D_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DFromArray_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy3D_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset2D_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset2DAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset3DAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset3D_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy3DAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromSymbolAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToSymbolAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromArray_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DToArray_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DFromArrayAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DToArrayAsync_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamQuery_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamSynchronize_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetPriority_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWaitEvent_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetFlags_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamAddCallback_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipEventRecord_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchCooperativeKernel_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchKernel_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphLaunch_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamBeginCapture_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamEndCapture_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamIsCapturing_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetCaptureInfo_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetCaptureInfo_v2_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchHostFunc_spt, + ROCPROFILER_HIP_RUNTIME_API_ID_hipGetStreamDeviceId, + // ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvGraphAddMemsetNode, + ROCPROFILER_HIP_RUNTIME_API_ID_LAST, +} rocprofiler_hip_runtime_api_id_t; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/table_api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/table_id.h similarity index 84% rename from projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/table_api_id.h rename to projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/table_id.h index eb0e07a5e1..c809d98e7a 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/table_api_id.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hip/table_id.h @@ -25,8 +25,8 @@ // NOLINTNEXTLINE(performance-enum-size) typedef enum { - ROCPROFILER_HIP_API_TABLE_ID_NONE = -1, - ROCPROFILER_HIP_API_TABLE_ID_CompilerApi = 0, - ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, - ROCPROFILER_HIP_API_TABLE_ID_LAST, -} rocprofiler_hip_table_api_id_t; + ROCPROFILER_HIP_TABLE_ID_NONE = -1, + ROCPROFILER_HIP_TABLE_ID_Compiler = 0, + ROCPROFILER_HIP_TABLE_ID_Runtime, + ROCPROFILER_HIP_TABLE_ID_LAST, +} rocprofiler_hip_table_id_t; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa.h index ef6372fd8c..6f367cb85e 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa.h @@ -34,7 +34,7 @@ #include #include -#include +#include #include diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/CMakeLists.txt b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/CMakeLists.txt index ea48e8123e..4024abcbf9 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/CMakeLists.txt +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/CMakeLists.txt @@ -1,9 +1,10 @@ # # -# Installation of public HSA headers +# Installation of public HSA headers # # -set(ROCPROFILER_HSA_HEADER_FILES api_args.h api_id.h table_api_id.h) +set(ROCPROFILER_HSA_HEADER_FILES amd_ext_api_id.h api_args.h api_id.h core_api_id.h + finalize_ext_api_id.h image_ext_api_id.h table_id.h) install( FILES ${ROCPROFILER_HSA_HEADER_FILES} diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/amd_ext_api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/amd_ext_api_id.h new file mode 100644 index 0000000000..a44f946544 --- /dev/null +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/amd_ext_api_id.h @@ -0,0 +1,108 @@ +// MIT License +// +// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#pragma once + +#include + +/** + * @brief ROCProfiler enumeration of HSA AMD Extended API tracing operations + */ +typedef enum // NOLINT(performance-enum-size) +{ + ROCPROFILER_HSA_AMD_EXT_API_ID_NONE = -1, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_coherency_get_type, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_coherency_set_type, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_set_profiler_enabled, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_async_copy_enable, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_get_dispatch_time, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_get_async_copy_time, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_async_handler, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_async_function, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_wait_any, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_cu_set_mask, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_pool_get_info, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agent_iterate_memory_pools, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_pool_allocate, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_pool_free, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy_on_engine, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_copy_engine_status, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agent_memory_pool_get_info, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agents_allow_access, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_pool_can_migrate, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_migrate, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_lock, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_unlock, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_fill, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_interop_map_buffer, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_interop_unmap_buffer, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_image_create, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_pointer_info, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_pointer_info_set_userdata, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_memory_create, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_memory_attach, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_memory_detach, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_create, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_signal_create, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_signal_attach, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_register_system_event_handler, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_intercept_create, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_intercept_register, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_set_priority, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy_rect, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_runtime_queue_create_register, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_lock_to_pool, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_register_deallocation_callback, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_deregister_deallocation_callback, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_value_pointer, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_svm_attributes_set, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_svm_attributes_get, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_svm_prefetch_async, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_spm_acquire, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_spm_release, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_spm_set_dest_buffer, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_cu_get_mask, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_portable_export_dmabuf, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_portable_close_dmabuf, + +#if HSA_AMD_EXT_API_TABLE_MAJOR_VERSION >= 0x02 + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_address_reserve, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_address_free, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_handle_create, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_handle_release, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_map, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_unmap, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_set_access, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_get_access, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_export_shareable_handle, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_import_shareable_handle, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_retain_alloc_handle, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_get_alloc_properties_from_handle, +# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x01 + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agent_set_async_scratch_limit, +# endif +#endif + + ROCPROFILER_HSA_AMD_EXT_API_ID_LAST, +} rocprofiler_hsa_amd_ext_api_id_t; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/api_args.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/api_args.h index 476ea83e49..f93739c1fb 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/api_args.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/api_args.h @@ -22,11 +22,13 @@ #pragma once +#include + #include #include #include +#include #include -#include typedef union rocprofiler_hsa_api_retval_u { @@ -36,6 +38,10 @@ typedef union rocprofiler_hsa_api_retval_u hsa_status_t hsa_status_t_retval; } rocprofiler_hsa_api_retval_t; +typedef hsa_status_t (*hsa_ext_program_iterate_modules_cb_t)(hsa_ext_program_t program, + hsa_ext_module_t module, + void* data); + typedef union rocprofiler_hsa_api_args_u { // block: CoreApi API @@ -1034,7 +1040,6 @@ typedef union rocprofiler_hsa_api_args_u const hsa_pitched_ptr_t* src; const hsa_dim3_t* src_offset; const hsa_dim3_t* range; - hsa_dim3_t range__val; hsa_agent_t copy_agent; hsa_amd_copy_direction_t dir; uint32_t num_dep_signals; @@ -1232,6 +1237,47 @@ typedef union rocprofiler_hsa_api_args_u size_t image_data_slice_pitch; hsa_ext_image_t* image; } hsa_ext_image_create_with_layout; + // finalize ext + struct + { + hsa_machine_model_t machine_model; + hsa_profile_t profile; + hsa_default_float_rounding_mode_t default_float_rounding_mode; + const char* options; + hsa_ext_program_t* program; + } hsa_ext_program_create; + struct + { + hsa_ext_program_t program; + } hsa_ext_program_destroy; + struct + { + hsa_ext_program_t program; + hsa_ext_module_t module; + } hsa_ext_program_add_module; + struct + { + hsa_ext_program_t program; + hsa_ext_program_iterate_modules_cb_t callback; + void* data; + } hsa_ext_program_iterate_modules; + struct + { + hsa_ext_program_t program; + hsa_ext_program_info_t attribute; + void* value; + } hsa_ext_program_get_info; + struct + { + hsa_ext_program_t program; + hsa_isa_t isa; + int32_t call_convention; + hsa_ext_control_directives_t control_directives; + const char* options; + hsa_code_object_type_t code_object_type; + hsa_code_object_t* code_object; + } hsa_ext_program_finalize; + // #if HSA_AMD_EXT_API_TABLE_MAJOR_VERSION >= 0x02 struct { diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/api_id.h index cd11316857..ca21ef61bd 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/api_id.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/api_id.h @@ -22,230 +22,7 @@ #pragma once -#include - -/** - * @brief ROCProfiler enumeration of HSA API tracing operations - */ -typedef enum // NOLINT(performance-enum-size) -{ - ROCPROFILER_HSA_API_ID_NONE = -1, - // block: CoreApi API - ROCPROFILER_HSA_API_ID_hsa_init = 0, - ROCPROFILER_HSA_API_ID_hsa_shut_down, - ROCPROFILER_HSA_API_ID_hsa_system_get_info, - ROCPROFILER_HSA_API_ID_hsa_system_extension_supported, - ROCPROFILER_HSA_API_ID_hsa_system_get_extension_table, - ROCPROFILER_HSA_API_ID_hsa_iterate_agents, - ROCPROFILER_HSA_API_ID_hsa_agent_get_info, - ROCPROFILER_HSA_API_ID_hsa_queue_create, - ROCPROFILER_HSA_API_ID_hsa_soft_queue_create, - ROCPROFILER_HSA_API_ID_hsa_queue_destroy, - ROCPROFILER_HSA_API_ID_hsa_queue_inactivate, - ROCPROFILER_HSA_API_ID_hsa_queue_load_read_index_scacquire, - ROCPROFILER_HSA_API_ID_hsa_queue_load_read_index_relaxed, - ROCPROFILER_HSA_API_ID_hsa_queue_load_write_index_scacquire, - ROCPROFILER_HSA_API_ID_hsa_queue_load_write_index_relaxed, - ROCPROFILER_HSA_API_ID_hsa_queue_store_write_index_relaxed, - ROCPROFILER_HSA_API_ID_hsa_queue_store_write_index_screlease, - ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, - ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_scacquire, - ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_relaxed, - ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_screlease, - ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_scacq_screl, - ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_scacquire, - ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_relaxed, - ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_screlease, - ROCPROFILER_HSA_API_ID_hsa_queue_store_read_index_relaxed, - ROCPROFILER_HSA_API_ID_hsa_queue_store_read_index_screlease, - ROCPROFILER_HSA_API_ID_hsa_agent_iterate_regions, - ROCPROFILER_HSA_API_ID_hsa_region_get_info, - ROCPROFILER_HSA_API_ID_hsa_agent_get_exception_policies, - ROCPROFILER_HSA_API_ID_hsa_agent_extension_supported, - ROCPROFILER_HSA_API_ID_hsa_memory_register, - ROCPROFILER_HSA_API_ID_hsa_memory_deregister, - ROCPROFILER_HSA_API_ID_hsa_memory_allocate, - ROCPROFILER_HSA_API_ID_hsa_memory_free, - ROCPROFILER_HSA_API_ID_hsa_memory_copy, - ROCPROFILER_HSA_API_ID_hsa_memory_assign_agent, - ROCPROFILER_HSA_API_ID_hsa_signal_create, - ROCPROFILER_HSA_API_ID_hsa_signal_destroy, - ROCPROFILER_HSA_API_ID_hsa_signal_load_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_load_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_store_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_store_screlease, - ROCPROFILER_HSA_API_ID_hsa_signal_wait_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_wait_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_and_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_and_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_and_screlease, - ROCPROFILER_HSA_API_ID_hsa_signal_and_scacq_screl, - ROCPROFILER_HSA_API_ID_hsa_signal_or_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_or_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_or_screlease, - ROCPROFILER_HSA_API_ID_hsa_signal_or_scacq_screl, - ROCPROFILER_HSA_API_ID_hsa_signal_xor_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_xor_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_xor_screlease, - ROCPROFILER_HSA_API_ID_hsa_signal_xor_scacq_screl, - ROCPROFILER_HSA_API_ID_hsa_signal_exchange_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_exchange_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_exchange_screlease, - ROCPROFILER_HSA_API_ID_hsa_signal_exchange_scacq_screl, - ROCPROFILER_HSA_API_ID_hsa_signal_add_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_add_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_add_screlease, - ROCPROFILER_HSA_API_ID_hsa_signal_add_scacq_screl, - ROCPROFILER_HSA_API_ID_hsa_signal_subtract_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_subtract_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_subtract_screlease, - ROCPROFILER_HSA_API_ID_hsa_signal_subtract_scacq_screl, - ROCPROFILER_HSA_API_ID_hsa_signal_cas_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_cas_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_cas_screlease, - ROCPROFILER_HSA_API_ID_hsa_signal_cas_scacq_screl, - ROCPROFILER_HSA_API_ID_hsa_isa_from_name, - ROCPROFILER_HSA_API_ID_hsa_isa_get_info, - ROCPROFILER_HSA_API_ID_hsa_isa_compatible, - ROCPROFILER_HSA_API_ID_hsa_code_object_serialize, - ROCPROFILER_HSA_API_ID_hsa_code_object_deserialize, - ROCPROFILER_HSA_API_ID_hsa_code_object_destroy, - ROCPROFILER_HSA_API_ID_hsa_code_object_get_info, - ROCPROFILER_HSA_API_ID_hsa_code_object_get_symbol, - ROCPROFILER_HSA_API_ID_hsa_code_symbol_get_info, - ROCPROFILER_HSA_API_ID_hsa_code_object_iterate_symbols, - ROCPROFILER_HSA_API_ID_hsa_executable_create, - ROCPROFILER_HSA_API_ID_hsa_executable_destroy, - ROCPROFILER_HSA_API_ID_hsa_executable_load_code_object, - ROCPROFILER_HSA_API_ID_hsa_executable_freeze, - ROCPROFILER_HSA_API_ID_hsa_executable_get_info, - ROCPROFILER_HSA_API_ID_hsa_executable_global_variable_define, - ROCPROFILER_HSA_API_ID_hsa_executable_agent_global_variable_define, - ROCPROFILER_HSA_API_ID_hsa_executable_readonly_variable_define, - ROCPROFILER_HSA_API_ID_hsa_executable_validate, - ROCPROFILER_HSA_API_ID_hsa_executable_get_symbol, - ROCPROFILER_HSA_API_ID_hsa_executable_symbol_get_info, - ROCPROFILER_HSA_API_ID_hsa_executable_iterate_symbols, - ROCPROFILER_HSA_API_ID_hsa_status_string, - ROCPROFILER_HSA_API_ID_hsa_extension_get_name, - ROCPROFILER_HSA_API_ID_hsa_system_major_extension_supported, - ROCPROFILER_HSA_API_ID_hsa_system_get_major_extension_table, - ROCPROFILER_HSA_API_ID_hsa_agent_major_extension_supported, - ROCPROFILER_HSA_API_ID_hsa_cache_get_info, - ROCPROFILER_HSA_API_ID_hsa_agent_iterate_caches, - ROCPROFILER_HSA_API_ID_hsa_signal_silent_store_relaxed, - ROCPROFILER_HSA_API_ID_hsa_signal_silent_store_screlease, - ROCPROFILER_HSA_API_ID_hsa_signal_group_create, - ROCPROFILER_HSA_API_ID_hsa_signal_group_destroy, - ROCPROFILER_HSA_API_ID_hsa_signal_group_wait_any_scacquire, - ROCPROFILER_HSA_API_ID_hsa_signal_group_wait_any_relaxed, - ROCPROFILER_HSA_API_ID_hsa_agent_iterate_isas, - ROCPROFILER_HSA_API_ID_hsa_isa_get_info_alt, - ROCPROFILER_HSA_API_ID_hsa_isa_get_exception_policies, - ROCPROFILER_HSA_API_ID_hsa_isa_get_round_method, - ROCPROFILER_HSA_API_ID_hsa_wavefront_get_info, - ROCPROFILER_HSA_API_ID_hsa_isa_iterate_wavefronts, - ROCPROFILER_HSA_API_ID_hsa_code_object_get_symbol_from_name, - ROCPROFILER_HSA_API_ID_hsa_code_object_reader_create_from_file, - ROCPROFILER_HSA_API_ID_hsa_code_object_reader_create_from_memory, - ROCPROFILER_HSA_API_ID_hsa_code_object_reader_destroy, - ROCPROFILER_HSA_API_ID_hsa_executable_create_alt, - ROCPROFILER_HSA_API_ID_hsa_executable_load_program_code_object, - ROCPROFILER_HSA_API_ID_hsa_executable_load_agent_code_object, - ROCPROFILER_HSA_API_ID_hsa_executable_validate_alt, - ROCPROFILER_HSA_API_ID_hsa_executable_get_symbol_by_name, - ROCPROFILER_HSA_API_ID_hsa_executable_iterate_agent_symbols, - ROCPROFILER_HSA_API_ID_hsa_executable_iterate_program_symbols, - - // block: AmdExt API - ROCPROFILER_HSA_API_ID_hsa_amd_coherency_get_type, - ROCPROFILER_HSA_API_ID_hsa_amd_coherency_set_type, - ROCPROFILER_HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, - ROCPROFILER_HSA_API_ID_hsa_amd_profiling_async_copy_enable, - ROCPROFILER_HSA_API_ID_hsa_amd_profiling_get_dispatch_time, - ROCPROFILER_HSA_API_ID_hsa_amd_profiling_get_async_copy_time, - ROCPROFILER_HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, - ROCPROFILER_HSA_API_ID_hsa_amd_signal_async_handler, - ROCPROFILER_HSA_API_ID_hsa_amd_async_function, - ROCPROFILER_HSA_API_ID_hsa_amd_signal_wait_any, - ROCPROFILER_HSA_API_ID_hsa_amd_queue_cu_set_mask, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_get_info, - ROCPROFILER_HSA_API_ID_hsa_amd_agent_iterate_memory_pools, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_allocate, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_free, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_on_engine, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_copy_engine_status, - ROCPROFILER_HSA_API_ID_hsa_amd_agent_memory_pool_get_info, - ROCPROFILER_HSA_API_ID_hsa_amd_agents_allow_access, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_can_migrate, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_migrate, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_lock, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_unlock, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_fill, - ROCPROFILER_HSA_API_ID_hsa_amd_interop_map_buffer, - ROCPROFILER_HSA_API_ID_hsa_amd_interop_unmap_buffer, - ROCPROFILER_HSA_API_ID_hsa_amd_image_create, - ROCPROFILER_HSA_API_ID_hsa_amd_pointer_info, - ROCPROFILER_HSA_API_ID_hsa_amd_pointer_info_set_userdata, - ROCPROFILER_HSA_API_ID_hsa_amd_ipc_memory_create, - ROCPROFILER_HSA_API_ID_hsa_amd_ipc_memory_attach, - ROCPROFILER_HSA_API_ID_hsa_amd_ipc_memory_detach, - ROCPROFILER_HSA_API_ID_hsa_amd_signal_create, - ROCPROFILER_HSA_API_ID_hsa_amd_ipc_signal_create, - ROCPROFILER_HSA_API_ID_hsa_amd_ipc_signal_attach, - ROCPROFILER_HSA_API_ID_hsa_amd_register_system_event_handler, - ROCPROFILER_HSA_API_ID_hsa_amd_queue_intercept_create, - ROCPROFILER_HSA_API_ID_hsa_amd_queue_intercept_register, - ROCPROFILER_HSA_API_ID_hsa_amd_queue_set_priority, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_rect, - ROCPROFILER_HSA_API_ID_hsa_amd_runtime_queue_create_register, - ROCPROFILER_HSA_API_ID_hsa_amd_memory_lock_to_pool, - ROCPROFILER_HSA_API_ID_hsa_amd_register_deallocation_callback, - ROCPROFILER_HSA_API_ID_hsa_amd_deregister_deallocation_callback, - ROCPROFILER_HSA_API_ID_hsa_amd_signal_value_pointer, - ROCPROFILER_HSA_API_ID_hsa_amd_svm_attributes_set, - ROCPROFILER_HSA_API_ID_hsa_amd_svm_attributes_get, - ROCPROFILER_HSA_API_ID_hsa_amd_svm_prefetch_async, - ROCPROFILER_HSA_API_ID_hsa_amd_spm_acquire, - ROCPROFILER_HSA_API_ID_hsa_amd_spm_release, - ROCPROFILER_HSA_API_ID_hsa_amd_spm_set_dest_buffer, - ROCPROFILER_HSA_API_ID_hsa_amd_queue_cu_get_mask, - ROCPROFILER_HSA_API_ID_hsa_amd_portable_export_dmabuf, - ROCPROFILER_HSA_API_ID_hsa_amd_portable_close_dmabuf, - - // block: ImageExt API - ROCPROFILER_HSA_API_ID_hsa_ext_image_get_capability, - ROCPROFILER_HSA_API_ID_hsa_ext_image_data_get_info, - ROCPROFILER_HSA_API_ID_hsa_ext_image_create, - ROCPROFILER_HSA_API_ID_hsa_ext_image_import, - ROCPROFILER_HSA_API_ID_hsa_ext_image_export, - ROCPROFILER_HSA_API_ID_hsa_ext_image_copy, - ROCPROFILER_HSA_API_ID_hsa_ext_image_clear, - ROCPROFILER_HSA_API_ID_hsa_ext_image_destroy, - ROCPROFILER_HSA_API_ID_hsa_ext_sampler_create, - ROCPROFILER_HSA_API_ID_hsa_ext_sampler_destroy, - ROCPROFILER_HSA_API_ID_hsa_ext_image_get_capability_with_layout, - ROCPROFILER_HSA_API_ID_hsa_ext_image_data_get_info_with_layout, - ROCPROFILER_HSA_API_ID_hsa_ext_image_create_with_layout, - -#if HSA_AMD_EXT_API_TABLE_MAJOR_VERSION >= 0x02 - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_address_reserve, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_address_free, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_handle_create, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_handle_release, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_map, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_unmap, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_set_access, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_get_access, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_export_shareable_handle, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_import_shareable_handle, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_retain_alloc_handle, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_get_alloc_properties_from_handle, -# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x01 - ROCPROFILER_HSA_API_ID_hsa_amd_agent_set_async_scratch_limit, -# endif -#endif - - ROCPROFILER_HSA_API_ID_LAST, -} rocprofiler_hsa_api_id_t; +#include "amd_ext_api_id.h" +#include "core_api_id.h" +#include "finalize_ext_api_id.h" +#include "image_ext_api_id.h" diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/core_api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/core_api_id.h new file mode 100644 index 0000000000..c8d0478f19 --- /dev/null +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/core_api_id.h @@ -0,0 +1,160 @@ +// MIT License +// +// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#pragma once + +#include + +/** + * @brief ROCProfiler enumeration of HSA Core API tracing operations + */ +typedef enum // NOLINT(performance-enum-size) +{ + ROCPROFILER_HSA_CORE_API_ID_NONE = -1, + ROCPROFILER_HSA_CORE_API_ID_hsa_init = 0, + ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down, + ROCPROFILER_HSA_CORE_API_ID_hsa_system_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_system_extension_supported, + ROCPROFILER_HSA_CORE_API_ID_hsa_system_get_extension_table, + ROCPROFILER_HSA_CORE_API_ID_hsa_iterate_agents, + ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_create, + ROCPROFILER_HSA_CORE_API_ID_hsa_soft_queue_create, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_destroy, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_inactivate, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_load_read_index_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_load_read_index_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_load_write_index_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_load_write_index_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_store_write_index_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_store_write_index_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_cas_write_index_scacq_screl, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_cas_write_index_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_cas_write_index_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_cas_write_index_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_add_write_index_scacq_screl, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_add_write_index_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_add_write_index_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_add_write_index_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_store_read_index_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_queue_store_read_index_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_agent_iterate_regions, + ROCPROFILER_HSA_CORE_API_ID_hsa_region_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_exception_policies, + ROCPROFILER_HSA_CORE_API_ID_hsa_agent_extension_supported, + ROCPROFILER_HSA_CORE_API_ID_hsa_memory_register, + ROCPROFILER_HSA_CORE_API_ID_hsa_memory_deregister, + ROCPROFILER_HSA_CORE_API_ID_hsa_memory_allocate, + ROCPROFILER_HSA_CORE_API_ID_hsa_memory_free, + ROCPROFILER_HSA_CORE_API_ID_hsa_memory_copy, + ROCPROFILER_HSA_CORE_API_ID_hsa_memory_assign_agent, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_create, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_destroy, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_load_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_load_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_store_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_store_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_wait_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_wait_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_and_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_and_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_and_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_and_scacq_screl, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_or_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_or_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_or_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_or_scacq_screl, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_xor_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_xor_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_xor_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_xor_scacq_screl, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_exchange_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_exchange_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_exchange_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_exchange_scacq_screl, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_add_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_add_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_add_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_add_scacq_screl, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_subtract_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_subtract_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_subtract_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_subtract_scacq_screl, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_cas_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_cas_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_cas_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_cas_scacq_screl, + ROCPROFILER_HSA_CORE_API_ID_hsa_isa_from_name, + ROCPROFILER_HSA_CORE_API_ID_hsa_isa_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_isa_compatible, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_serialize, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_deserialize, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_destroy, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_get_symbol, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_symbol_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_iterate_symbols, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_create, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_destroy, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_load_code_object, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_freeze, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_global_variable_define, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_agent_global_variable_define, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_readonly_variable_define, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_validate, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_get_symbol, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_symbol_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_iterate_symbols, + ROCPROFILER_HSA_CORE_API_ID_hsa_status_string, + ROCPROFILER_HSA_CORE_API_ID_hsa_extension_get_name, + ROCPROFILER_HSA_CORE_API_ID_hsa_system_major_extension_supported, + ROCPROFILER_HSA_CORE_API_ID_hsa_system_get_major_extension_table, + ROCPROFILER_HSA_CORE_API_ID_hsa_agent_major_extension_supported, + ROCPROFILER_HSA_CORE_API_ID_hsa_cache_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_agent_iterate_caches, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_silent_store_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_silent_store_screlease, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_group_create, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_group_destroy, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_group_wait_any_scacquire, + ROCPROFILER_HSA_CORE_API_ID_hsa_signal_group_wait_any_relaxed, + ROCPROFILER_HSA_CORE_API_ID_hsa_agent_iterate_isas, + ROCPROFILER_HSA_CORE_API_ID_hsa_isa_get_info_alt, + ROCPROFILER_HSA_CORE_API_ID_hsa_isa_get_exception_policies, + ROCPROFILER_HSA_CORE_API_ID_hsa_isa_get_round_method, + ROCPROFILER_HSA_CORE_API_ID_hsa_wavefront_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_isa_iterate_wavefronts, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_get_symbol_from_name, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_reader_create_from_file, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_reader_create_from_memory, + ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_reader_destroy, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_create_alt, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_load_program_code_object, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_load_agent_code_object, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_validate_alt, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_get_symbol_by_name, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_iterate_agent_symbols, + ROCPROFILER_HSA_CORE_API_ID_hsa_executable_iterate_program_symbols, + + ROCPROFILER_HSA_CORE_API_ID_LAST, +} rocprofiler_hsa_core_api_id_t; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/finalize_ext_api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/finalize_ext_api_id.h new file mode 100644 index 0000000000..b24097fc75 --- /dev/null +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/finalize_ext_api_id.h @@ -0,0 +1,40 @@ +// MIT License +// +// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#pragma once + +#include + +/** + * @brief ROCProfiler enumeration of HSA Image Extended API tracing operations + */ +typedef enum // NOLINT(performance-enum-size) +{ + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_NONE = -1, + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_create = 0, + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_destroy, + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_add_module, + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_iterate_modules, + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_get_info, + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_finalize, + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_LAST, +} rocprofiler_hsa_finalize_ext_api_id_t; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/image_ext_api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/image_ext_api_id.h new file mode 100644 index 0000000000..26362a9398 --- /dev/null +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/image_ext_api_id.h @@ -0,0 +1,47 @@ +// MIT License +// +// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#pragma once + +#include + +/** + * @brief ROCProfiler enumeration of HSA Image Extended API tracing operations + */ +typedef enum // NOLINT(performance-enum-size) +{ + ROCPROFILER_HSA_IMAGE_EXT_API_ID_NONE = -1, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_get_capability, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_data_get_info, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_create, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_import, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_export, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_copy, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_clear, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_destroy, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_sampler_create, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_sampler_destroy, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_get_capability_with_layout, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_data_get_info_with_layout, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_create_with_layout, + ROCPROFILER_HSA_IMAGE_EXT_API_ID_LAST, +} rocprofiler_hsa_image_ext_api_id_t; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/table_api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/table_id.h similarity index 81% rename from projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/table_api_id.h rename to projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/table_id.h index 3bd98e0dc0..69f8703c5f 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/table_api_id.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/table_id.h @@ -25,9 +25,10 @@ // NOLINTNEXTLINE(performance-enum-size) typedef enum { - ROCPROFILER_MARKER_API_TABLE_ID_NONE = -1, - ROCPROFILER_MARKER_API_TABLE_ID_RoctxCore = 0, - ROCPROFILER_MARKER_API_TABLE_ID_RoctxControl, - ROCPROFILER_MARKER_API_TABLE_ID_RoctxName, - ROCPROFILER_MARKER_API_TABLE_ID_LAST, -} rocprofiler_marker_table_api_id_t; + ROCPROFILER_HSA_TABLE_ID_NONE = -1, + ROCPROFILER_HSA_TABLE_ID_Core = 0, + ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_TABLE_ID_ImageExt, + ROCPROFILER_HSA_TABLE_ID_FinalizeExt, + ROCPROFILER_HSA_TABLE_ID_LAST, +} rocprofiler_hsa_table_id_t; diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker.h index 588e827dc4..36729499b1 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker.h @@ -24,4 +24,4 @@ #include #include -#include +#include diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/CMakeLists.txt b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/CMakeLists.txt index cbf6dae0c2..15209faa35 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/CMakeLists.txt +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/CMakeLists.txt @@ -3,7 +3,7 @@ # Installation of public HSA headers # # -set(ROCPROFILER_MARKER_HEADER_FILES api_args.h api_id.h table_api_id.h) +set(ROCPROFILER_MARKER_HEADER_FILES api_args.h api_id.h table_id.h) install( FILES ${ROCPROFILER_MARKER_HEADER_FILES} diff --git a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/table_api_id.h b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/table_id.h similarity index 82% rename from projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/table_api_id.h rename to projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/table_id.h index b1fe04659f..9f92d8e867 100644 --- a/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/hsa/table_api_id.h +++ b/projects/rocprofiler-sdk/source/include/rocprofiler-sdk/marker/table_id.h @@ -25,9 +25,9 @@ // NOLINTNEXTLINE(performance-enum-size) typedef enum { - ROCPROFILER_HSA_API_TABLE_ID_NONE = -1, - ROCPROFILER_HSA_API_TABLE_ID_CoreApi = 0, - ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_TABLE_ID_ImageExt, - ROCPROFILER_HSA_API_TABLE_ID_LAST, -} rocprofiler_hsa_table_api_id_t; + ROCPROFILER_MARKER_TABLE_ID_NONE = -1, + ROCPROFILER_MARKER_TABLE_ID_RoctxCore = 0, + ROCPROFILER_MARKER_TABLE_ID_RoctxControl, + ROCPROFILER_MARKER_TABLE_ID_RoctxName, + ROCPROFILER_MARKER_TABLE_ID_LAST, +} rocprofiler_marker_table_id_t; diff --git a/projects/rocprofiler-sdk/source/lib/common/defines.hpp b/projects/rocprofiler-sdk/source/lib/common/defines.hpp index 318d0e919c..68f12ec6a9 100644 --- a/projects/rocprofiler-sdk/source/lib/common/defines.hpp +++ b/projects/rocprofiler-sdk/source/lib/common/defines.hpp @@ -66,3 +66,78 @@ #endif #define ROCPROFILER_COMPUTE_VERSION(MAJOR, MINOR, PATCH) ((10000 * MAJOR) + (100 * MINOR) + (PATCH)) + +// Below are used in HSA, HIP, and Marker API tracing +#define IMPL_DETAIL_EXPAND(X) X +#define IMPL_DETAIL_FOR_EACH_NARG(...) \ + IMPL_DETAIL_FOR_EACH_NARG_(__VA_ARGS__, IMPL_DETAIL_FOR_EACH_RSEQ_N()) +#define IMPL_DETAIL_FOR_EACH_NARG_(...) IMPL_DETAIL_EXPAND(IMPL_DETAIL_FOR_EACH_ARG_N(__VA_ARGS__)) +#define IMPL_DETAIL_FOR_EACH_ARG_N( \ + _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, N, ...) \ + N +#define IMPL_DETAIL_FOR_EACH_RSEQ_N() 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 +#define IMPL_DETAIL_CONCATENATE(X, Y) X##Y +#define IMPL_DETAIL_FOR_EACH_(N, MACRO, PREFIX, ...) \ + IMPL_DETAIL_EXPAND(IMPL_DETAIL_CONCATENATE(MACRO, N)(PREFIX, __VA_ARGS__)) +#define IMPL_DETAIL_FOR_EACH(MACRO, PREFIX, ...) \ + IMPL_DETAIL_FOR_EACH_(IMPL_DETAIL_FOR_EACH_NARG(__VA_ARGS__), MACRO, PREFIX, __VA_ARGS__) + +#define ADDR_MEMBER_0(...) +#define ADDR_MEMBER_1(PREFIX, FIELD) static_cast(&PREFIX.FIELD) +#define ADDR_MEMBER_2(PREFIX, A, B) ADDR_MEMBER_1(PREFIX, A), ADDR_MEMBER_1(PREFIX, B) +#define ADDR_MEMBER_3(PREFIX, A, B, C) ADDR_MEMBER_2(PREFIX, A, B), ADDR_MEMBER_1(PREFIX, C) +#define ADDR_MEMBER_4(PREFIX, A, B, C, D) ADDR_MEMBER_3(PREFIX, A, B, C), ADDR_MEMBER_1(PREFIX, D) +#define ADDR_MEMBER_5(PREFIX, A, B, C, D, E) \ + ADDR_MEMBER_4(PREFIX, A, B, C, D), ADDR_MEMBER_1(PREFIX, E) +#define ADDR_MEMBER_6(PREFIX, A, B, C, D, E, F) \ + ADDR_MEMBER_5(PREFIX, A, B, C, D, E), ADDR_MEMBER_1(PREFIX, F) +#define ADDR_MEMBER_7(PREFIX, A, B, C, D, E, F, G) \ + ADDR_MEMBER_6(PREFIX, A, B, C, D, E, F), ADDR_MEMBER_1(PREFIX, G) +#define ADDR_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H) \ + ADDR_MEMBER_7(PREFIX, A, B, C, D, E, F, G), ADDR_MEMBER_1(PREFIX, H) +#define ADDR_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I) \ + ADDR_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H), ADDR_MEMBER_1(PREFIX, I) +#define ADDR_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J) \ + ADDR_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I), ADDR_MEMBER_1(PREFIX, J) +#define ADDR_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K) \ + ADDR_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J), ADDR_MEMBER_1(PREFIX, K) +#define ADDR_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L) \ + ADDR_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K), ADDR_MEMBER_1(PREFIX, L) +#define ADDR_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M) \ + ADDR_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L), ADDR_MEMBER_1(PREFIX, M) +#define ADDR_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N) \ + ADDR_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M), ADDR_MEMBER_1(PREFIX, N) +#define ADDR_MEMBER_15(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) \ + ADDR_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N), ADDR_MEMBER_1(PREFIX, O) + +#define NAMED_MEMBER_0(...) +#define NAMED_MEMBER_1(PREFIX, FIELD) std::make_pair(#FIELD, PREFIX.FIELD) +#define NAMED_MEMBER_2(PREFIX, A, B) NAMED_MEMBER_1(PREFIX, A), NAMED_MEMBER_1(PREFIX, B) +#define NAMED_MEMBER_3(PREFIX, A, B, C) NAMED_MEMBER_2(PREFIX, A, B), NAMED_MEMBER_1(PREFIX, C) +#define NAMED_MEMBER_4(PREFIX, A, B, C, D) \ + NAMED_MEMBER_3(PREFIX, A, B, C), NAMED_MEMBER_1(PREFIX, D) +#define NAMED_MEMBER_5(PREFIX, A, B, C, D, E) \ + NAMED_MEMBER_4(PREFIX, A, B, C, D), NAMED_MEMBER_1(PREFIX, E) +#define NAMED_MEMBER_6(PREFIX, A, B, C, D, E, F) \ + NAMED_MEMBER_5(PREFIX, A, B, C, D, E), NAMED_MEMBER_1(PREFIX, F) +#define NAMED_MEMBER_7(PREFIX, A, B, C, D, E, F, G) \ + NAMED_MEMBER_6(PREFIX, A, B, C, D, E, F), NAMED_MEMBER_1(PREFIX, G) +#define NAMED_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H) \ + NAMED_MEMBER_7(PREFIX, A, B, C, D, E, F, G), NAMED_MEMBER_1(PREFIX, H) +#define NAMED_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I) \ + NAMED_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H), NAMED_MEMBER_1(PREFIX, I) +#define NAMED_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J) \ + NAMED_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I), NAMED_MEMBER_1(PREFIX, J) +#define NAMED_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K) \ + NAMED_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J), NAMED_MEMBER_1(PREFIX, K) +#define NAMED_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L) \ + NAMED_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K), NAMED_MEMBER_1(PREFIX, L) +#define NAMED_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M) \ + NAMED_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L), NAMED_MEMBER_1(PREFIX, M) +#define NAMED_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N) \ + NAMED_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M), NAMED_MEMBER_1(PREFIX, N) +#define NAMED_MEMBER_15(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) \ + NAMED_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N), NAMED_MEMBER_1(PREFIX, O) + +#define GET_ADDR_MEMBER_FIELDS(VAR, ...) IMPL_DETAIL_FOR_EACH(ADDR_MEMBER_, VAR, __VA_ARGS__) +#define GET_NAMED_MEMBER_FIELDS(VAR, ...) IMPL_DETAIL_FOR_EACH(NAMED_MEMBER_, VAR, __VA_ARGS__) diff --git a/projects/rocprofiler-sdk/source/lib/common/static_object.hpp b/projects/rocprofiler-sdk/source/lib/common/static_object.hpp index 27b8b1fa04..11422a980a 100644 --- a/projects/rocprofiler-sdk/source/lib/common/static_object.hpp +++ b/projects/rocprofiler-sdk/source/lib/common/static_object.hpp @@ -84,6 +84,8 @@ struct static_object static Tp* get() { return m_object; } + static constexpr bool is_trivial_standard_layout(); + private: static Tp* m_object; static std::array()> m_buffer; @@ -95,21 +97,31 @@ Tp* static_object::m_object = nullptr; template std::array()> static_object::m_buffer = {}; +template +constexpr bool +static_object::is_trivial_standard_layout() +{ + return (std::is_standard_layout::value && std::is_trivial::value); +} + template template Tp*& static_object::construct(Args&&... args) { - static auto _once = std::once_flag{}; - std::call_once(_once, []() { - register_static_dtor([]() { - if(static_object::m_object) - { - static_object::m_object->~Tp(); - static_object::m_object = nullptr; - } + if constexpr(!is_trivial_standard_layout()) + { + static auto _once = std::once_flag{}; + std::call_once(_once, []() { + register_static_dtor([]() { + if(static_object::m_object) + { + static_object::m_object->~Tp(); + static_object::m_object = nullptr; + } + }); }); - }); + } LOG_IF(FATAL, m_object) << "reconstructing static object. Use get() function to retrieve pointer"; diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/helper.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/helper.cpp index c6fbf1d786..c63753e9d1 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/helper.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/helper.cpp @@ -229,13 +229,16 @@ rocprofiler_tool_buffer_name_info_t get_buffer_id_names() { static auto supported = std::unordered_set{ - ROCPROFILER_BUFFER_TRACING_HSA_API, - ROCPROFILER_BUFFER_TRACING_HIP_API, + ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API, - ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API, ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API, ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API, + ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, }; auto cb_name_info = rocprofiler_tool_buffer_name_info_t{}; @@ -291,12 +294,16 @@ rocprofiler_tool_callback_name_info_t get_callback_id_names() { static auto supported = std::unordered_set{ - ROCPROFILER_CALLBACK_TRACING_HSA_API, - ROCPROFILER_CALLBACK_TRACING_HIP_API, + ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API, ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API, ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API, ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API, + ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT, }; auto cb_name_info = rocprofiler_tool_callback_name_info_t{}; diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/tool.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/tool.cpp index 88f8aac717..f1a836fbb4 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/tool.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk-tool/tool.cpp @@ -506,7 +506,10 @@ buffered_tracing_callback(rocprofiler_context_id_t /*context*/, get_kernel_trace_file() << kernel_trace_ss.str(); } - else if(header->kind == ROCPROFILER_BUFFER_TRACING_HSA_API) + else if(header->kind == ROCPROFILER_BUFFER_TRACING_HSA_CORE_API || + header->kind == ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API || + header->kind == ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API || + header->kind == ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API) { auto* record = static_cast(header->payload); @@ -542,7 +545,7 @@ buffered_tracing_callback(rocprofiler_context_id_t /*context*/, get_memory_copy_trace_file() << memory_copy_trace_ss.str(); } - else if(header->kind == ROCPROFILER_BUFFER_TRACING_HIP_API || + else if(header->kind == ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API || header->kind == ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API) { auto* record = @@ -824,13 +827,15 @@ tool_init(rocprofiler_client_finalize_t fini_func, void* tool_data) &get_buffers().hsa_api_trace), "buffer creation"); - ROCPROFILER_CALL( - rocprofiler_configure_buffer_tracing_service(get_client_ctx(), - ROCPROFILER_BUFFER_TRACING_HSA_API, - nullptr, - 0, - get_buffers().hsa_api_trace), - "buffer tracing service for hsa api configure"); + for(auto itr : {ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API}) + { + ROCPROFILER_CALL(rocprofiler_configure_buffer_tracing_service( + get_client_ctx(), itr, nullptr, 0, get_buffers().hsa_api_trace), + "buffer tracing service for hsa api configure"); + } } if(tool::get_config().hip_api_trace || tool::get_config().hip_compiler_api_trace) @@ -846,13 +851,13 @@ tool_init(rocprofiler_client_finalize_t fini_func, void* tool_data) if(tool::get_config().hip_api_trace) { - ROCPROFILER_CALL( - rocprofiler_configure_buffer_tracing_service(get_client_ctx(), - ROCPROFILER_BUFFER_TRACING_HIP_API, - nullptr, - 0, - get_buffers().hip_api_trace), - "buffer tracing service for hip api configure"); + ROCPROFILER_CALL(rocprofiler_configure_buffer_tracing_service( + get_client_ctx(), + ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, + nullptr, + 0, + get_buffers().hip_api_trace), + "buffer tracing service for hip api configure"); } if(tool::get_config().hip_compiler_api_trace) diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/buffer_tracing.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/buffer_tracing.cpp index 4d2a4b8715..9878265520 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/buffer_tracing.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/buffer_tracing.cpp @@ -21,7 +21,9 @@ // SOFTWARE. #include -#include +#include +#include +#include #include #include "lib/rocprofiler-sdk/context/context.hpp" @@ -62,8 +64,11 @@ template struct buffer_tracing_kind_string; ROCPROFILER_BUFFER_TRACING_KIND_STRING(NONE) -ROCPROFILER_BUFFER_TRACING_KIND_STRING(HSA_API) -ROCPROFILER_BUFFER_TRACING_KIND_STRING(HIP_API) +ROCPROFILER_BUFFER_TRACING_KIND_STRING(HSA_CORE_API) +ROCPROFILER_BUFFER_TRACING_KIND_STRING(HSA_AMD_EXT_API) +ROCPROFILER_BUFFER_TRACING_KIND_STRING(HSA_IMAGE_EXT_API) +ROCPROFILER_BUFFER_TRACING_KIND_STRING(HSA_FINALIZE_EXT_API) +ROCPROFILER_BUFFER_TRACING_KIND_STRING(HIP_RUNTIME_API) ROCPROFILER_BUFFER_TRACING_KIND_STRING(HIP_COMPILER_API) ROCPROFILER_BUFFER_TRACING_KIND_STRING(MARKER_CORE_API) ROCPROFILER_BUFFER_TRACING_KIND_STRING(MARKER_CONTROL_API) @@ -72,7 +77,6 @@ ROCPROFILER_BUFFER_TRACING_KIND_STRING(MEMORY_COPY) ROCPROFILER_BUFFER_TRACING_KIND_STRING(KERNEL_DISPATCH) ROCPROFILER_BUFFER_TRACING_KIND_STRING(PAGE_MIGRATION) ROCPROFILER_BUFFER_TRACING_KIND_STRING(SCRATCH_MEMORY) -ROCPROFILER_BUFFER_TRACING_KIND_STRING(EXTERNAL_CORRELATION) template std::pair @@ -99,9 +103,7 @@ rocprofiler_configure_buffer_tracing_service(rocprofiler_context_id_t c return ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED; static auto unsupported = std::unordered_set{ - ROCPROFILER_BUFFER_TRACING_PAGE_MIGRATION, - ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY, - ROCPROFILER_BUFFER_TRACING_EXTERNAL_CORRELATION}; + ROCPROFILER_BUFFER_TRACING_PAGE_MIGRATION, ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY}; if(unsupported.count(kind) > 0) return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; auto* ctx = rocprofiler::context::get_mutable_registered_context(context_id); @@ -159,23 +161,71 @@ rocprofiler_query_buffer_tracing_kind_operation_name(rocprofiler_buffer_tracing_ return ROCPROFILER_STATUS_ERROR_KIND_NOT_FOUND; const char* val = nullptr; - if(kind == ROCPROFILER_BUFFER_TRACING_HSA_API) - val = rocprofiler::hsa::name_by_id(operation); - else if(kind == ROCPROFILER_BUFFER_TRACING_MEMORY_COPY) - val = rocprofiler::hsa::async_copy::name_by_id(operation); - else if(kind == ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API) - val = rocprofiler::marker::name_by_id(operation); - else if(kind == ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API) - val = rocprofiler::marker::name_by_id( - operation); - else if(kind == ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API) - val = rocprofiler::marker::name_by_id(operation); - else if(kind == ROCPROFILER_BUFFER_TRACING_HIP_API) - val = rocprofiler::hip::name_by_id(operation); - else if(kind == ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API) - val = rocprofiler::hip::name_by_id(operation); - else - return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; + switch(kind) + { + case ROCPROFILER_BUFFER_TRACING_NONE: + case ROCPROFILER_BUFFER_TRACING_LAST: + { + return ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT; + } + case ROCPROFILER_BUFFER_TRACING_HSA_CORE_API: + { + val = rocprofiler::hsa::name_by_id(operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API: + { + val = rocprofiler::hsa::name_by_id(operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API: + { + val = rocprofiler::hsa::name_by_id(operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API: + { + val = rocprofiler::hsa::name_by_id(operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_MEMORY_COPY: + { + val = rocprofiler::hsa::async_copy::name_by_id(operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API: + { + val = rocprofiler::marker::name_by_id(operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API: + { + val = rocprofiler::marker::name_by_id( + operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API: + { + val = rocprofiler::marker::name_by_id(operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API: + { + val = rocprofiler::hip::name_by_id(operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API: + { + val = rocprofiler::hip::name_by_id(operation); + break; + } + case ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH: + case ROCPROFILER_BUFFER_TRACING_PAGE_MIGRATION: + case ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY: + { + return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; + } + }; if(!val) { @@ -210,22 +260,70 @@ rocprofiler_iterate_buffer_tracing_kind_operations( void* data) { auto ops = std::vector{}; - if(kind == ROCPROFILER_BUFFER_TRACING_HSA_API) - ops = rocprofiler::hsa::get_ids(); - else if(kind == ROCPROFILER_BUFFER_TRACING_MEMORY_COPY) - ops = rocprofiler::hsa::async_copy::get_ids(); - else if(kind == ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API) - ops = rocprofiler::marker::get_ids(); - else if(kind == ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API) - ops = rocprofiler::marker::get_ids(); - else if(kind == ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API) - ops = rocprofiler::marker::get_ids(); - else if(kind == ROCPROFILER_BUFFER_TRACING_HIP_API) - ops = rocprofiler::hip::get_ids(); - else if(kind == ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API) - ops = rocprofiler::hip::get_ids(); - else - return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; + switch(kind) + { + case ROCPROFILER_BUFFER_TRACING_NONE: + case ROCPROFILER_BUFFER_TRACING_LAST: + { + return ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT; + } + case ROCPROFILER_BUFFER_TRACING_HSA_CORE_API: + { + ops = rocprofiler::hsa::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API: + { + ops = rocprofiler::hsa::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API: + { + ops = rocprofiler::hsa::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API: + { + ops = rocprofiler::hsa::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_MEMORY_COPY: + { + ops = rocprofiler::hsa::async_copy::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API: + { + ops = rocprofiler::marker::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API: + { + ops = rocprofiler::marker::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API: + { + ops = rocprofiler::marker::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API: + { + ops = rocprofiler::hip::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API: + { + ops = rocprofiler::hip::get_ids(); + break; + } + case ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH: + case ROCPROFILER_BUFFER_TRACING_PAGE_MIGRATION: + case ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY: + { + return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; + } + } for(const auto& itr : ops) { diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/callback_tracing.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/callback_tracing.cpp index f4253daeb2..293609e568 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/callback_tracing.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/callback_tracing.cpp @@ -21,12 +21,15 @@ // SOFTWARE. #include -#include +#include +#include +#include #include #include "lib/rocprofiler-sdk/context/context.hpp" #include "lib/rocprofiler-sdk/context/domain.hpp" #include "lib/rocprofiler-sdk/hip/hip.hpp" +#include "lib/rocprofiler-sdk/hsa/code_object.hpp" #include "lib/rocprofiler-sdk/hsa/hsa.hpp" #include "lib/rocprofiler-sdk/marker/marker.hpp" #include "lib/rocprofiler-sdk/registration.hpp" @@ -60,8 +63,11 @@ template struct callback_tracing_kind_string; ROCPROFILER_CALLBACK_TRACING_KIND_STRING(NONE) -ROCPROFILER_CALLBACK_TRACING_KIND_STRING(HSA_API) -ROCPROFILER_CALLBACK_TRACING_KIND_STRING(HIP_API) +ROCPROFILER_CALLBACK_TRACING_KIND_STRING(HSA_CORE_API) +ROCPROFILER_CALLBACK_TRACING_KIND_STRING(HSA_AMD_EXT_API) +ROCPROFILER_CALLBACK_TRACING_KIND_STRING(HSA_IMAGE_EXT_API) +ROCPROFILER_CALLBACK_TRACING_KIND_STRING(HSA_FINALIZE_EXT_API) +ROCPROFILER_CALLBACK_TRACING_KIND_STRING(HIP_RUNTIME_API) ROCPROFILER_CALLBACK_TRACING_KIND_STRING(HIP_COMPILER_API) ROCPROFILER_CALLBACK_TRACING_KIND_STRING(MARKER_CORE_API) ROCPROFILER_CALLBACK_TRACING_KIND_STRING(MARKER_CONTROL_API) @@ -145,21 +151,69 @@ rocprofiler_query_callback_tracing_kind_operation_name(rocprofiler_callback_trac return ROCPROFILER_STATUS_ERROR_KIND_NOT_FOUND; const char* val = nullptr; - if(kind == ROCPROFILER_CALLBACK_TRACING_HSA_API) - val = rocprofiler::hsa::name_by_id(operation); - else if(kind == ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API) - val = rocprofiler::marker::name_by_id(operation); - else if(kind == ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API) - val = rocprofiler::marker::name_by_id( - operation); - else if(kind == ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API) - val = rocprofiler::marker::name_by_id(operation); - else if(kind == ROCPROFILER_CALLBACK_TRACING_HIP_API) - val = rocprofiler::hip::name_by_id(operation); - else if(kind == ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API) - val = rocprofiler::hip::name_by_id(operation); - else - return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; + switch(kind) + { + case ROCPROFILER_CALLBACK_TRACING_NONE: + case ROCPROFILER_CALLBACK_TRACING_LAST: + { + return ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API: + { + val = rocprofiler::hsa::name_by_id(operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API: + { + val = rocprofiler::hsa::name_by_id(operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API: + { + val = rocprofiler::hsa::name_by_id(operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API: + { + val = rocprofiler::hsa::name_by_id(operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API: + { + val = rocprofiler::marker::name_by_id(operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API: + { + val = rocprofiler::marker::name_by_id( + operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API: + { + val = rocprofiler::marker::name_by_id(operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API: + { + val = rocprofiler::hip::name_by_id(operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API: + { + val = rocprofiler::hip::name_by_id(operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT: + { + val = rocprofiler::hsa::code_object::name_by_id(operation); + break; + } + case ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH: + { + return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; + } + }; if(!val) { @@ -195,20 +249,69 @@ rocprofiler_iterate_callback_tracing_kind_operations( void* data) { auto ops = std::vector{}; - if(kind == ROCPROFILER_CALLBACK_TRACING_HSA_API) - ops = rocprofiler::hsa::get_ids(); - else if(kind == ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API) - ops = rocprofiler::marker::get_ids(); - else if(kind == ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API) - ops = rocprofiler::marker::get_ids(); - else if(kind == ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API) - ops = rocprofiler::marker::get_ids(); - else if(kind == ROCPROFILER_CALLBACK_TRACING_HIP_API) - ops = rocprofiler::hip::get_ids(); - else if(kind == ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API) - ops = rocprofiler::hip::get_ids(); - else - return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; + + switch(kind) + { + case ROCPROFILER_CALLBACK_TRACING_NONE: + case ROCPROFILER_CALLBACK_TRACING_LAST: + { + return ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API: + { + ops = rocprofiler::hsa::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API: + { + ops = rocprofiler::hsa::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API: + { + ops = rocprofiler::hsa::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API: + { + ops = rocprofiler::hsa::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API: + { + ops = rocprofiler::marker::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API: + { + ops = rocprofiler::marker::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API: + { + ops = rocprofiler::marker::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API: + { + ops = rocprofiler::hip::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API: + { + ops = rocprofiler::hip::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT: + { + ops = rocprofiler::hsa::code_object::get_ids(); + break; + } + case ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH: + { + return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; + } + }; for(const auto& itr : ops) { @@ -224,50 +327,91 @@ rocprofiler_iterate_callback_tracing_kind_operation_args( rocprofiler_callback_tracing_operation_args_cb_t callback, void* user_data) { - if(record.kind == ROCPROFILER_CALLBACK_TRACING_HSA_API) + switch(record.kind) { - rocprofiler::hsa::iterate_args( - record.operation, - *static_cast(record.payload), - callback, - user_data); - return ROCPROFILER_STATUS_SUCCESS; - } - else if(record.kind == ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API) - { - rocprofiler::marker::iterate_args( - record.operation, - *static_cast(record.payload), - callback, - user_data); - return ROCPROFILER_STATUS_SUCCESS; - } - else if(record.kind == ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API) - { - rocprofiler::marker::iterate_args( - record.operation, - *static_cast(record.payload), - callback, - user_data); - return ROCPROFILER_STATUS_SUCCESS; - } - else if(record.kind == ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API) - { - rocprofiler::marker::iterate_args( - record.operation, - *static_cast(record.payload), - callback, - user_data); - return ROCPROFILER_STATUS_SUCCESS; - } - else if(record.kind == ROCPROFILER_CALLBACK_TRACING_HIP_API) - { - rocprofiler::hip::iterate_args( - record.operation, - *static_cast(record.payload), - callback, - user_data); - return ROCPROFILER_STATUS_SUCCESS; + case ROCPROFILER_CALLBACK_TRACING_NONE: + case ROCPROFILER_CALLBACK_TRACING_LAST: + { + return ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API: + { + rocprofiler::hsa::iterate_args( + record.operation, + *static_cast(record.payload), + callback, + user_data); + return ROCPROFILER_STATUS_SUCCESS; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API: + { + rocprofiler::hsa::iterate_args( + record.operation, + *static_cast(record.payload), + callback, + user_data); + return ROCPROFILER_STATUS_SUCCESS; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API: + { + rocprofiler::hsa::iterate_args( + record.operation, + *static_cast(record.payload), + callback, + user_data); + return ROCPROFILER_STATUS_SUCCESS; + } + case ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API: + { + rocprofiler::hsa::iterate_args( + record.operation, + *static_cast(record.payload), + callback, + user_data); + return ROCPROFILER_STATUS_SUCCESS; + } + case ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API: + { + rocprofiler::marker::iterate_args( + record.operation, + *static_cast(record.payload), + callback, + user_data); + return ROCPROFILER_STATUS_SUCCESS; + } + case ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API: + { + rocprofiler::marker::iterate_args( + record.operation, + *static_cast(record.payload), + callback, + user_data); + return ROCPROFILER_STATUS_SUCCESS; + } + case ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API: + { + rocprofiler::marker::iterate_args( + record.operation, + *static_cast(record.payload), + callback, + user_data); + return ROCPROFILER_STATUS_SUCCESS; + } + case ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API: + case ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API: + { + rocprofiler::hip::iterate_args( + record.operation, + *static_cast(record.payload), + callback, + user_data); + return ROCPROFILER_STATUS_SUCCESS; + } + case ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT: + case ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH: + { + return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; + } } return ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED; diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/defines.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/defines.hpp index 6201b93850..47927449cb 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/defines.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/defines.hpp @@ -22,79 +22,7 @@ #pragma once -#define IMPL_DETAIL_EXPAND(X) X -#define IMPL_DETAIL_FOR_EACH_NARG(...) \ - IMPL_DETAIL_FOR_EACH_NARG_(__VA_ARGS__, IMPL_DETAIL_FOR_EACH_RSEQ_N()) -#define IMPL_DETAIL_FOR_EACH_NARG_(...) IMPL_DETAIL_EXPAND(IMPL_DETAIL_FOR_EACH_ARG_N(__VA_ARGS__)) -#define IMPL_DETAIL_FOR_EACH_ARG_N( \ - _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, N, ...) \ - N -#define IMPL_DETAIL_FOR_EACH_RSEQ_N() 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 -#define IMPL_DETAIL_CONCATENATE(X, Y) X##Y -#define IMPL_DETAIL_FOR_EACH_(N, MACRO, PREFIX, ...) \ - IMPL_DETAIL_EXPAND(IMPL_DETAIL_CONCATENATE(MACRO, N)(PREFIX, __VA_ARGS__)) -#define IMPL_DETAIL_FOR_EACH(MACRO, PREFIX, ...) \ - IMPL_DETAIL_FOR_EACH_(IMPL_DETAIL_FOR_EACH_NARG(__VA_ARGS__), MACRO, PREFIX, __VA_ARGS__) - -#define ADDR_MEMBER_0(...) -#define ADDR_MEMBER_1(PREFIX, FIELD) static_cast(&PREFIX.FIELD) -#define ADDR_MEMBER_2(PREFIX, A, B) ADDR_MEMBER_1(PREFIX, A), ADDR_MEMBER_1(PREFIX, B) -#define ADDR_MEMBER_3(PREFIX, A, B, C) ADDR_MEMBER_2(PREFIX, A, B), ADDR_MEMBER_1(PREFIX, C) -#define ADDR_MEMBER_4(PREFIX, A, B, C, D) ADDR_MEMBER_3(PREFIX, A, B, C), ADDR_MEMBER_1(PREFIX, D) -#define ADDR_MEMBER_5(PREFIX, A, B, C, D, E) \ - ADDR_MEMBER_4(PREFIX, A, B, C, D), ADDR_MEMBER_1(PREFIX, E) -#define ADDR_MEMBER_6(PREFIX, A, B, C, D, E, F) \ - ADDR_MEMBER_5(PREFIX, A, B, C, D, E), ADDR_MEMBER_1(PREFIX, F) -#define ADDR_MEMBER_7(PREFIX, A, B, C, D, E, F, G) \ - ADDR_MEMBER_6(PREFIX, A, B, C, D, E, F), ADDR_MEMBER_1(PREFIX, G) -#define ADDR_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H) \ - ADDR_MEMBER_7(PREFIX, A, B, C, D, E, F, G), ADDR_MEMBER_1(PREFIX, H) -#define ADDR_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I) \ - ADDR_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H), ADDR_MEMBER_1(PREFIX, I) -#define ADDR_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J) \ - ADDR_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I), ADDR_MEMBER_1(PREFIX, J) -#define ADDR_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K) \ - ADDR_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J), ADDR_MEMBER_1(PREFIX, K) -#define ADDR_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L) \ - ADDR_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K), ADDR_MEMBER_1(PREFIX, L) -#define ADDR_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M) \ - ADDR_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L), ADDR_MEMBER_1(PREFIX, M) -#define ADDR_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N) \ - ADDR_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M), ADDR_MEMBER_1(PREFIX, N) -#define ADDR_MEMBER_15(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) \ - ADDR_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N), ADDR_MEMBER_1(PREFIX, O) - -#define NAMED_MEMBER_0(...) -#define NAMED_MEMBER_1(PREFIX, FIELD) std::make_pair(#FIELD, PREFIX.FIELD) -#define NAMED_MEMBER_2(PREFIX, A, B) NAMED_MEMBER_1(PREFIX, A), NAMED_MEMBER_1(PREFIX, B) -#define NAMED_MEMBER_3(PREFIX, A, B, C) NAMED_MEMBER_2(PREFIX, A, B), NAMED_MEMBER_1(PREFIX, C) -#define NAMED_MEMBER_4(PREFIX, A, B, C, D) \ - NAMED_MEMBER_3(PREFIX, A, B, C), NAMED_MEMBER_1(PREFIX, D) -#define NAMED_MEMBER_5(PREFIX, A, B, C, D, E) \ - NAMED_MEMBER_4(PREFIX, A, B, C, D), NAMED_MEMBER_1(PREFIX, E) -#define NAMED_MEMBER_6(PREFIX, A, B, C, D, E, F) \ - NAMED_MEMBER_5(PREFIX, A, B, C, D, E), NAMED_MEMBER_1(PREFIX, F) -#define NAMED_MEMBER_7(PREFIX, A, B, C, D, E, F, G) \ - NAMED_MEMBER_6(PREFIX, A, B, C, D, E, F), NAMED_MEMBER_1(PREFIX, G) -#define NAMED_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H) \ - NAMED_MEMBER_7(PREFIX, A, B, C, D, E, F, G), NAMED_MEMBER_1(PREFIX, H) -#define NAMED_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I) \ - NAMED_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H), NAMED_MEMBER_1(PREFIX, I) -#define NAMED_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J) \ - NAMED_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I), NAMED_MEMBER_1(PREFIX, J) -#define NAMED_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K) \ - NAMED_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J), NAMED_MEMBER_1(PREFIX, K) -#define NAMED_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L) \ - NAMED_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K), NAMED_MEMBER_1(PREFIX, L) -#define NAMED_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M) \ - NAMED_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L), NAMED_MEMBER_1(PREFIX, M) -#define NAMED_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N) \ - NAMED_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M), NAMED_MEMBER_1(PREFIX, N) -#define NAMED_MEMBER_15(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) \ - NAMED_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N), NAMED_MEMBER_1(PREFIX, O) - -#define GET_ADDR_MEMBER_FIELDS(VAR, ...) IMPL_DETAIL_FOR_EACH(ADDR_MEMBER_, VAR, __VA_ARGS__) -#define GET_NAMED_MEMBER_FIELDS(VAR, ...) IMPL_DETAIL_FOR_EACH(NAMED_MEMBER_, VAR, __VA_ARGS__) +#include "lib/common/defines.hpp" #define HIP_API_INFO_DEFINITION_0(HIP_TABLE, HIP_API_ID, HIP_FUNC, HIP_FUNC_PTR) \ namespace rocprofiler \ @@ -280,6 +208,12 @@ auto& operator()(type& _v) const { return _v; } \ auto& operator()(type* _v) const { return *_v; } \ auto& operator()() const { return (*this)(get_table()); } \ + }; \ + \ + template <> \ + struct hip_table_id_lookup \ + { \ + static constexpr auto value = TABLE_ID; \ }; \ } \ } diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.cpp index 098b44496a..35924031e2 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.cpp @@ -162,8 +162,7 @@ hip_api_impl::exec(FuncT&& _func, Args&&... args) namespace { -using correlation_service = context::correlation_tracing_service; -using buffer_hip_api_record_t = rocprofiler_buffer_tracing_hip_api_record_t; +using correlation_service = context::correlation_tracing_service; struct callback_context_data { @@ -221,6 +220,7 @@ hip_api_impl::functor(Args&&... args) { using info_type = hip_api_info; using callback_api_data_t = typename hip_domain_info::callback_data_type; + using buffered_api_data_t = typename hip_domain_info::buffered_data_type; auto thr_id = common::get_tid(); auto callback_contexts = std::vector{}; @@ -243,7 +243,7 @@ hip_api_impl::functor(Args&&... args) } auto ref_count = (has_pc_sampling) ? 4 : 2; - auto buffer_record = common::init_public_api_struct(buffer_hip_api_record_t{}); + auto buffer_record = common::init_public_api_struct(buffered_api_data_t{}); auto tracer_data = callback_api_data_t{.size = sizeof(callback_api_data_t)}; auto* corr_id = correlation_service::construct(ref_count); auto internal_corr_id = corr_id->internal; @@ -383,23 +383,6 @@ namespace hip { namespace { -template -struct api_id_bounds; - -template <> -struct api_id_bounds -{ - static constexpr auto none = ROCPROFILER_HIP_API_ID_NONE; - static constexpr auto last = ROCPROFILER_HIP_API_ID_LAST; -}; - -template <> -struct api_id_bounds -{ - static constexpr auto none = ROCPROFILER_HIP_COMPILER_API_ID_NONE; - static constexpr auto last = ROCPROFILER_HIP_COMPILER_API_ID_LAST; -}; - template const char* name_by_id(const uint32_t id, std::index_sequence) @@ -422,7 +405,7 @@ id_by_name(const char* name, std::index_sequence) if constexpr(sizeof...(OpIdxTail) > 0) return id_by_name(name, std::index_sequence{}); else - return api_id_bounds::none; + return hip_domain_info::none; } template @@ -430,7 +413,7 @@ void get_ids(std::vector& _id_list, std::index_sequence) { auto _idx = hip_api_info::operation_idx; - if(_idx < api_id_bounds::last) _id_list.emplace_back(_idx); + if(_idx < hip_domain_info::last) _id_list.emplace_back(_idx); if constexpr(sizeof...(OpIdxTail) > 0) get_ids(_id_list, std::index_sequence{}); @@ -447,17 +430,17 @@ get_names(std::vector& _name_list, std::index_sequence(_name_list, std::index_sequence{}); } -template +template void -iterate_args(const uint32_t id, - const rocprofiler_callback_tracing_hip_api_data_t& data, - rocprofiler_callback_tracing_operation_args_cb_t func, - void* user_data, +iterate_args(const uint32_t id, + const DataT& data, + rocprofiler_callback_tracing_operation_args_cb_t func, + void* user_data, std::index_sequence) { if(OpIdx == id) { - using info_type = hip_api_info; + using info_type = hip_api_info; auto&& arg_list = info_type::as_arg_list(data); auto&& arg_addr = info_type::as_arg_addr(data); for(size_t i = 0; i < std::min(arg_list.size(), arg_addr.size()); ++i) @@ -473,7 +456,7 @@ iterate_args(const uint32_t id, } } if constexpr(sizeof...(OpIdxTail) > 0) - iterate_args(id, data, func, user_data, std::index_sequence{}); + iterate_args(id, data, func, user_data, std::index_sequence{}); } bool @@ -585,21 +568,21 @@ template const char* name_by_id(uint32_t id) { - return name_by_id(id, std::make_index_sequence::last>{}); + return name_by_id(id, std::make_index_sequence::last>{}); } template uint32_t id_by_name(const char* name) { - return id_by_name(name, std::make_index_sequence::last>{}); + return id_by_name(name, std::make_index_sequence::last>{}); } template std::vector get_ids() { - constexpr auto last_api_id = api_id_bounds::last; + constexpr auto last_api_id = hip_domain_info::last; auto _data = std::vector{}; _data.reserve(last_api_id); get_ids(_data, std::make_index_sequence{}); @@ -610,13 +593,14 @@ template std::vector get_names() { - constexpr auto last_api_id = api_id_bounds::last; + constexpr auto last_api_id = hip_domain_info::last; auto _data = std::vector{}; _data.reserve(last_api_id); get_names(_data, std::make_index_sequence{}); return _data; } +template void iterate_args(uint32_t id, const rocprofiler_callback_tracing_hip_api_data_t& data, @@ -624,61 +608,44 @@ iterate_args(uint32_t id, void* user_data) { if(callback) - iterate_args( - id, data, callback, user_data, std::make_index_sequence{}); + iterate_args(id, + data, + callback, + user_data, + std::make_index_sequence::last>{}); } -// void -// iterate_args(uint32_t id, -// const rocprofiler_callback_tracing_hip_compiler_api_data_t& data, -// rocprofiler_callback_tracing_operation_args_cb_t callback, -// void* user_data) -// { -// if(callback) -// iterate_args( -// id, data, callback, user_data, -// std::make_index_sequence{}); -// } - -#define INSTANTIATE_HIP_TABLE_FUNC(TABLE) \ - template const char* name_by_id(uint32_t); \ - template uint32_t id_by_name
(const char*); \ - template std::vector get_ids
(); \ - template std::vector get_names
(); - -INSTANTIATE_HIP_TABLE_FUNC(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi) -INSTANTIATE_HIP_TABLE_FUNC(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi) - +template void -copy_table(hip_compiler_api_table_t* _orig) +copy_table(TableT* _orig) { + constexpr auto TableIdx = hip_table_id_lookup::value; if(_orig) - copy_table( - _orig, std::make_index_sequence{}); + copy_table(_orig, std::make_index_sequence::last>{}); } +template void -copy_table(hip_runtime_api_table_t* _orig) +update_table(TableT* _orig) { + constexpr auto TableIdx = hip_table_id_lookup::value; if(_orig) - copy_table( - _orig, std::make_index_sequence{}); + update_table(_orig, std::make_index_sequence::last>{}); } -void -update_table(hip_compiler_api_table_t* _orig) -{ - if(_orig) - update_table( - _orig, std::make_index_sequence{}); -} +using hip_api_data_t = rocprofiler_callback_tracing_hip_api_data_t; +using hip_op_args_cb_t = rocprofiler_callback_tracing_operation_args_cb_t; -void -update_table(hip_runtime_api_table_t* _orig) -{ - if(_orig) - update_table( - _orig, std::make_index_sequence{}); -} +#define INSTANTIATE_HIP_TABLE_FUNC(TABLE_TYPE, TABLE_IDX) \ + template void copy_table(TABLE_TYPE * _tbl); \ + template void update_table(TABLE_TYPE * _tbl); \ + template const char* name_by_id(uint32_t); \ + template uint32_t id_by_name(const char*); \ + template std::vector get_ids(); \ + template std::vector get_names(); \ + template void iterate_args(uint32_t, const hip_api_data_t&, hip_op_args_cb_t, void*); + +INSTANTIATE_HIP_TABLE_FUNC(hip_runtime_api_table_t, ROCPROFILER_HIP_TABLE_ID_Runtime) +INSTANTIATE_HIP_TABLE_FUNC(hip_compiler_api_table_t, ROCPROFILER_HIP_TABLE_ID_Compiler) } // namespace hip } // namespace rocprofiler diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.def.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.def.cpp index 25e83d5031..050d8ead14 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.def.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.def.cpp @@ -33,469 +33,478 @@ namespace rocprofiler namespace hip { template <> -struct hip_domain_info +struct hip_domain_info { - static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_HIP_API; - static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_HIP_API; - using args_type = rocprofiler_hip_api_args_t; - using retval_type = rocprofiler_hip_api_retval_t; - using callback_data_type = rocprofiler_callback_tracing_hip_api_data_t; + using args_type = rocprofiler_hip_api_args_t; + using retval_type = rocprofiler_hip_api_retval_t; + using callback_data_type = rocprofiler_callback_tracing_hip_api_data_t; + using buffered_data_type = rocprofiler_buffer_tracing_hip_api_record_t; }; template <> -struct hip_domain_info +struct hip_domain_info +: hip_domain_info +{ + static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API; + static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API; + static constexpr auto none = ROCPROFILER_HIP_RUNTIME_API_ID_NONE; + static constexpr auto last = ROCPROFILER_HIP_RUNTIME_API_ID_LAST; +}; + +template <> +struct hip_domain_info +: hip_domain_info { static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API; static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API; - using args_type = rocprofiler_hip_compiler_api_args_t; - using retval_type = rocprofiler_hip_compiler_api_retval_t; - using callback_data_type = rocprofiler_callback_tracing_hip_compiler_api_data_t; + static constexpr auto none = ROCPROFILER_HIP_COMPILER_API_ID_NONE; + static constexpr auto last = ROCPROFILER_HIP_COMPILER_API_ID_LAST; }; } // namespace hip } // namespace rocprofiler // clang-format off -HIP_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, hip_compiler_api_table_t, compiler) -HIP_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, hip_runtime_api_table_t, runtime) +HIP_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HIP_TABLE_ID_Compiler, hip_compiler_api_table_t, compiler) +HIP_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HIP_TABLE_ID_Runtime, hip_runtime_api_table_t, runtime) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, ROCPROFILER_HIP_COMPILER_API_ID___hipPopCallConfiguration, __hipPopCallConfiguration, __hipPopCallConfiguration_fn, gridDim, blockDim, sharedMem, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, ROCPROFILER_HIP_COMPILER_API_ID___hipPushCallConfiguration, __hipPushCallConfiguration, __hipPushCallConfiguration_fn, gridDim, blockDim, sharedMem, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterFatBinary, __hipRegisterFatBinary, __hipRegisterFatBinary_fn, data) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterFunction, __hipRegisterFunction, __hipRegisterFunction_fn, modules, hostFunction, deviceFunction, deviceName, threadLimit, tid, bid, blockDim, gridDim, wSize) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterManagedVar, __hipRegisterManagedVar, __hipRegisterManagedVar_fn, hipModule, pointer, init_value, name, size, align) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterSurface, __hipRegisterSurface, __hipRegisterSurface_fn, modules, var, hostVar, deviceVar, type, ext) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterTexture, __hipRegisterTexture, __hipRegisterTexture_fn, modules, var, hostVar, deviceVar, type, norm, ext) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterVar, __hipRegisterVar, __hipRegisterVar_fn, modules, var, hostVar, deviceVar, ext, size, constant, global) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_CompilerApi, ROCPROFILER_HIP_COMPILER_API_ID___hipUnregisterFatBinary, __hipUnregisterFatBinary, __hipUnregisterFatBinary_fn, modules) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipApiName, hipApiName, hipApiName_fn, id) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipArray3DCreate, hipArray3DCreate, hipArray3DCreate_fn, array, pAllocateArray) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipArray3DGetDescriptor, hipArray3DGetDescriptor, hipArray3DGetDescriptor_fn, pArrayDescriptor, array) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipArrayCreate, hipArrayCreate, hipArrayCreate_fn, pHandle, pAllocateArray) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipArrayDestroy, hipArrayDestroy, hipArrayDestroy_fn, array) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipArrayGetDescriptor, hipArrayGetDescriptor, hipArrayGetDescriptor_fn, pArrayDescriptor, array) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipArrayGetInfo, hipArrayGetInfo, hipArrayGetInfo_fn, desc, extent, flags, array) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipBindTexture, hipBindTexture, hipBindTexture_fn, offset, tex, devPtr, desc, size) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipBindTexture2D, hipBindTexture2D, hipBindTexture2D_fn, offset, tex, devPtr, desc, width, height, pitch) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipBindTextureToArray, hipBindTextureToArray, hipBindTextureToArray_fn, tex, array, desc) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipBindTextureToMipmappedArray, hipBindTextureToMipmappedArray, hipBindTextureToMipmappedArray_fn, tex, mipmappedArray, desc) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipChooseDevice, hipChooseDevice, hipChooseDevice_fn, device, prop) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipChooseDeviceR0000, hipChooseDeviceR0000, hipChooseDeviceR0000_fn, device, prop) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipConfigureCall, hipConfigureCall, hipConfigureCall_fn, gridDim, blockDim, sharedMem, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCreateSurfaceObject, hipCreateSurfaceObject, hipCreateSurfaceObject_fn, pSurfObject, pResDesc) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCreateTextureObject, hipCreateTextureObject, hipCreateTextureObject_fn, pTexObject, pResDesc, pTexDesc, pResViewDesc) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxCreate, hipCtxCreate, hipCtxCreate_fn, ctx, flags, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxDestroy, hipCtxDestroy, hipCtxDestroy_fn, ctx) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxDisablePeerAccess, hipCtxDisablePeerAccess, hipCtxDisablePeerAccess_fn, peerCtx) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxEnablePeerAccess, hipCtxEnablePeerAccess, hipCtxEnablePeerAccess_fn, peerCtx, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxGetApiVersion, hipCtxGetApiVersion, hipCtxGetApiVersion_fn, ctx, apiVersion) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxGetCacheConfig, hipCtxGetCacheConfig, hipCtxGetCacheConfig_fn, cacheConfig) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxGetCurrent, hipCtxGetCurrent, hipCtxGetCurrent_fn, ctx) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxGetDevice, hipCtxGetDevice, hipCtxGetDevice_fn, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxGetFlags, hipCtxGetFlags, hipCtxGetFlags_fn, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxGetSharedMemConfig, hipCtxGetSharedMemConfig, hipCtxGetSharedMemConfig_fn, pConfig) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxPopCurrent, hipCtxPopCurrent, hipCtxPopCurrent_fn, ctx) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxPushCurrent, hipCtxPushCurrent, hipCtxPushCurrent_fn, ctx) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxSetCacheConfig, hipCtxSetCacheConfig, hipCtxSetCacheConfig_fn, cacheConfig) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxSetCurrent, hipCtxSetCurrent, hipCtxSetCurrent_fn, ctx) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxSetSharedMemConfig, hipCtxSetSharedMemConfig, hipCtxSetSharedMemConfig_fn, config) -HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCtxSynchronize, hipCtxSynchronize, hipCtxSynchronize_fn) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDestroyExternalMemory, hipDestroyExternalMemory, hipDestroyExternalMemory_fn, extMem) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDestroyExternalSemaphore, hipDestroyExternalSemaphore, hipDestroyExternalSemaphore_fn, extSem) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDestroySurfaceObject, hipDestroySurfaceObject, hipDestroySurfaceObject_fn, surfaceObject) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDestroyTextureObject, hipDestroyTextureObject, hipDestroyTextureObject_fn, textureObject) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceCanAccessPeer, hipDeviceCanAccessPeer, hipDeviceCanAccessPeer_fn, canAccessPeer, deviceId, peerDeviceId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceComputeCapability, hipDeviceComputeCapability, hipDeviceComputeCapability_fn, major, minor, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceDisablePeerAccess, hipDeviceDisablePeerAccess, hipDeviceDisablePeerAccess_fn, peerDeviceId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceEnablePeerAccess, hipDeviceEnablePeerAccess, hipDeviceEnablePeerAccess_fn, peerDeviceId, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGet, hipDeviceGet, hipDeviceGet_fn, device, ordinal) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetAttribute, hipDeviceGetAttribute, hipDeviceGetAttribute_fn, pi, attr, deviceId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetByPCIBusId, hipDeviceGetByPCIBusId, hipDeviceGetByPCIBusId_fn, device, pciBusId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetCacheConfig, hipDeviceGetCacheConfig, hipDeviceGetCacheConfig_fn, cacheConfig) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetDefaultMemPool, hipDeviceGetDefaultMemPool, hipDeviceGetDefaultMemPool_fn, mem_pool, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetGraphMemAttribute, hipDeviceGetGraphMemAttribute, hipDeviceGetGraphMemAttribute_fn, device, attr, value) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetLimit, hipDeviceGetLimit, hipDeviceGetLimit_fn, pValue, limit) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetMemPool, hipDeviceGetMemPool, hipDeviceGetMemPool_fn, mem_pool, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetName, hipDeviceGetName, hipDeviceGetName_fn, name, len, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetP2PAttribute, hipDeviceGetP2PAttribute, hipDeviceGetP2PAttribute_fn, value, attr, srcDevice, dstDevice) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetPCIBusId, hipDeviceGetPCIBusId, hipDeviceGetPCIBusId_fn, pciBusId, len, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetSharedMemConfig, hipDeviceGetSharedMemConfig, hipDeviceGetSharedMemConfig_fn, pConfig) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetStreamPriorityRange, hipDeviceGetStreamPriorityRange, hipDeviceGetStreamPriorityRange_fn, leastPriority, greatestPriority) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGetUuid, hipDeviceGetUuid, hipDeviceGetUuid_fn, uuid, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceGraphMemTrim, hipDeviceGraphMemTrim, hipDeviceGraphMemTrim_fn, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxGetState, hipDevicePrimaryCtxGetState, hipDevicePrimaryCtxGetState_fn, dev, flags, active) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxRelease, hipDevicePrimaryCtxRelease, hipDevicePrimaryCtxRelease_fn, dev) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxReset, hipDevicePrimaryCtxReset, hipDevicePrimaryCtxReset_fn, dev) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxRetain, hipDevicePrimaryCtxRetain, hipDevicePrimaryCtxRetain_fn, pctx, dev) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDevicePrimaryCtxSetFlags, hipDevicePrimaryCtxSetFlags, hipDevicePrimaryCtxSetFlags_fn, dev, flags) -HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceReset, hipDeviceReset, hipDeviceReset_fn) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceSetCacheConfig, hipDeviceSetCacheConfig, hipDeviceSetCacheConfig_fn, cacheConfig) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceSetGraphMemAttribute, hipDeviceSetGraphMemAttribute, hipDeviceSetGraphMemAttribute_fn, device, attr, value) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceSetLimit, hipDeviceSetLimit, hipDeviceSetLimit_fn, limit, value) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceSetMemPool, hipDeviceSetMemPool, hipDeviceSetMemPool_fn, device, mem_pool) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceSetSharedMemConfig, hipDeviceSetSharedMemConfig, hipDeviceSetSharedMemConfig_fn, config) -HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceSynchronize, hipDeviceSynchronize, hipDeviceSynchronize_fn) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDeviceTotalMem, hipDeviceTotalMem, hipDeviceTotalMem_fn, bytes, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDriverGetVersion, hipDriverGetVersion, hipDriverGetVersion_fn, driverVersion) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDrvGetErrorName, hipDrvGetErrorName, hipDrvGetErrorName_fn, hipError, errorString) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDrvGetErrorString, hipDrvGetErrorString, hipDrvGetErrorString_fn, hipError, errorString) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDrvGraphAddMemcpyNode, hipDrvGraphAddMemcpyNode, hipDrvGraphAddMemcpyNode_fn, phGraphNode, hGraph, dependencies, numDependencies, copyParams, ctx) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDrvMemcpy2DUnaligned, hipDrvMemcpy2DUnaligned, hipDrvMemcpy2DUnaligned_fn, pCopy) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDrvMemcpy3D, hipDrvMemcpy3D, hipDrvMemcpy3D_fn, pCopy) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDrvMemcpy3DAsync, hipDrvMemcpy3DAsync, hipDrvMemcpy3DAsync_fn, pCopy, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDrvPointerGetAttributes, hipDrvPointerGetAttributes, hipDrvPointerGetAttributes_fn, numAttributes, attributes, data, ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipEventCreate, hipEventCreate, hipEventCreate_fn, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipEventCreateWithFlags, hipEventCreateWithFlags, hipEventCreateWithFlags_fn, event, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipEventDestroy, hipEventDestroy, hipEventDestroy_fn, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipEventElapsedTime, hipEventElapsedTime, hipEventElapsedTime_fn, ms, start, stop) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipEventQuery, hipEventQuery, hipEventQuery_fn, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipEventRecord, hipEventRecord, hipEventRecord_fn, event, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipEventSynchronize, hipEventSynchronize, hipEventSynchronize_fn, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipExtGetLinkTypeAndHopCount, hipExtGetLinkTypeAndHopCount, hipExtGetLinkTypeAndHopCount_fn, device1, device2, linktype, hopcount) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipExtLaunchKernel, hipExtLaunchKernel, hipExtLaunchKernel_fn, function_address, numBlocks, dimBlocks, args, sharedMemBytes, stream, startEvent, stopEvent, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipExtLaunchMultiKernelMultiDevice, hipExtLaunchMultiKernelMultiDevice, hipExtLaunchMultiKernelMultiDevice_fn, launchParamsList, numDevices, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipExtMallocWithFlags, hipExtMallocWithFlags, hipExtMallocWithFlags_fn, ptr, sizeBytes, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipExtStreamCreateWithCUMask, hipExtStreamCreateWithCUMask, hipExtStreamCreateWithCUMask_fn, stream, cuMaskSize, cuMask) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipExtStreamGetCUMask, hipExtStreamGetCUMask, hipExtStreamGetCUMask_fn, stream, cuMaskSize, cuMask) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipExternalMemoryGetMappedBuffer, hipExternalMemoryGetMappedBuffer, hipExternalMemoryGetMappedBuffer_fn, devPtr, extMem, bufferDesc) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFree, hipFree, hipFree_fn, ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFreeArray, hipFreeArray, hipFreeArray_fn, array) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFreeAsync, hipFreeAsync, hipFreeAsync_fn, dev_ptr, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFreeHost, hipFreeHost, hipFreeHost_fn, ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFreeMipmappedArray, hipFreeMipmappedArray, hipFreeMipmappedArray_fn, mipmappedArray) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFuncGetAttribute, hipFuncGetAttribute, hipFuncGetAttribute_fn, value, attrib, hfunc) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFuncGetAttributes, hipFuncGetAttributes, hipFuncGetAttributes_fn, attr, func) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFuncSetAttribute, hipFuncSetAttribute, hipFuncSetAttribute_fn, func, attr, value) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFuncSetCacheConfig, hipFuncSetCacheConfig, hipFuncSetCacheConfig_fn, func, config) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipFuncSetSharedMemConfig, hipFuncSetSharedMemConfig, hipFuncSetSharedMemConfig_fn, func, config) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGLGetDevices, hipGLGetDevices, hipGLGetDevices_fn, pHipDeviceCount, pHipDevices, hipDeviceCount, deviceList) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetChannelDesc, hipGetChannelDesc, hipGetChannelDesc_fn, desc, array) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetDevice, hipGetDevice, hipGetDevice_fn, deviceId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetDeviceCount, hipGetDeviceCount, hipGetDeviceCount_fn, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetDeviceFlags, hipGetDeviceFlags, hipGetDeviceFlags_fn, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetDevicePropertiesR0600, hipGetDevicePropertiesR0600, hipGetDevicePropertiesR0600_fn, prop, deviceId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetDevicePropertiesR0000, hipGetDevicePropertiesR0000, hipGetDevicePropertiesR0000_fn, prop, deviceId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetErrorName, hipGetErrorName, hipGetErrorName_fn, hip_error) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetErrorString, hipGetErrorString, hipGetErrorString_fn, hipError) -HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetLastError, hipGetLastError, hipGetLastError_fn) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetMipmappedArrayLevel, hipGetMipmappedArrayLevel, hipGetMipmappedArrayLevel_fn, levelArray, mipmappedArray, level) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetSymbolAddress, hipGetSymbolAddress, hipGetSymbolAddress_fn, devPtr, symbol) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetSymbolSize, hipGetSymbolSize, hipGetSymbolSize_fn, size, symbol) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetTextureAlignmentOffset, hipGetTextureAlignmentOffset, hipGetTextureAlignmentOffset_fn, offset, texref) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetTextureObjectResourceDesc, hipGetTextureObjectResourceDesc, hipGetTextureObjectResourceDesc_fn, pResDesc, textureObject) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetTextureObjectResourceViewDesc, hipGetTextureObjectResourceViewDesc, hipGetTextureObjectResourceViewDesc_fn, pResViewDesc, textureObject) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetTextureObjectTextureDesc, hipGetTextureObjectTextureDesc, hipGetTextureObjectTextureDesc_fn, pTexDesc, textureObject) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetTextureReference, hipGetTextureReference, hipGetTextureReference_fn, texref, symbol) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddChildGraphNode, hipGraphAddChildGraphNode, hipGraphAddChildGraphNode_fn, pGraphNode, graph, pDependencies, numDependencies, childGraph) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddDependencies, hipGraphAddDependencies, hipGraphAddDependencies_fn, graph, from, to, numDependencies) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddEmptyNode, hipGraphAddEmptyNode, hipGraphAddEmptyNode_fn, pGraphNode, graph, pDependencies, numDependencies) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddEventRecordNode, hipGraphAddEventRecordNode, hipGraphAddEventRecordNode_fn, pGraphNode, graph, pDependencies, numDependencies, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddEventWaitNode, hipGraphAddEventWaitNode, hipGraphAddEventWaitNode_fn, pGraphNode, graph, pDependencies, numDependencies, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddHostNode, hipGraphAddHostNode, hipGraphAddHostNode_fn, pGraphNode, graph, pDependencies, numDependencies, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddKernelNode, hipGraphAddKernelNode, hipGraphAddKernelNode_fn, pGraphNode, graph, pDependencies, numDependencies, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddMemAllocNode, hipGraphAddMemAllocNode, hipGraphAddMemAllocNode_fn, pGraphNode, graph, pDependencies, numDependencies, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddMemFreeNode, hipGraphAddMemFreeNode, hipGraphAddMemFreeNode_fn, pGraphNode, graph, pDependencies, numDependencies, dev_ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddMemcpyNode, hipGraphAddMemcpyNode, hipGraphAddMemcpyNode_fn, pGraphNode, graph, pDependencies, numDependencies, pCopyParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddMemcpyNode1D, hipGraphAddMemcpyNode1D, hipGraphAddMemcpyNode1D_fn, pGraphNode, graph, pDependencies, numDependencies, dst, src, count, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddMemcpyNodeFromSymbol, hipGraphAddMemcpyNodeFromSymbol, hipGraphAddMemcpyNodeFromSymbol_fn, pGraphNode, graph, pDependencies, numDependencies, dst, symbol, count, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddMemcpyNodeToSymbol, hipGraphAddMemcpyNodeToSymbol, hipGraphAddMemcpyNodeToSymbol_fn, pGraphNode, graph, pDependencies, numDependencies, symbol, src, count, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphAddMemsetNode, hipGraphAddMemsetNode, hipGraphAddMemsetNode_fn, pGraphNode, graph, pDependencies, numDependencies, pMemsetParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphChildGraphNodeGetGraph, hipGraphChildGraphNodeGetGraph, hipGraphChildGraphNodeGetGraph_fn, node, pGraph) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphClone, hipGraphClone, hipGraphClone_fn, pGraphClone, originalGraph) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphCreate, hipGraphCreate, hipGraphCreate_fn, pGraph, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphDebugDotPrint, hipGraphDebugDotPrint, hipGraphDebugDotPrint_fn, graph, path, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphDestroy, hipGraphDestroy, hipGraphDestroy_fn, graph) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphDestroyNode, hipGraphDestroyNode, hipGraphDestroyNode_fn, node) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphEventRecordNodeGetEvent, hipGraphEventRecordNodeGetEvent, hipGraphEventRecordNodeGetEvent_fn, node, event_out) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphEventRecordNodeSetEvent, hipGraphEventRecordNodeSetEvent, hipGraphEventRecordNodeSetEvent_fn, node, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphEventWaitNodeGetEvent, hipGraphEventWaitNodeGetEvent, hipGraphEventWaitNodeGetEvent_fn, node, event_out) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphEventWaitNodeSetEvent, hipGraphEventWaitNodeSetEvent, hipGraphEventWaitNodeSetEvent_fn, node, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecChildGraphNodeSetParams, hipGraphExecChildGraphNodeSetParams, hipGraphExecChildGraphNodeSetParams_fn, hGraphExec, node, childGraph) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecDestroy, hipGraphExecDestroy, hipGraphExecDestroy_fn, graphExec) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecEventRecordNodeSetEvent, hipGraphExecEventRecordNodeSetEvent, hipGraphExecEventRecordNodeSetEvent_fn, hGraphExec, hNode, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecEventWaitNodeSetEvent, hipGraphExecEventWaitNodeSetEvent, hipGraphExecEventWaitNodeSetEvent_fn, hGraphExec, hNode, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecHostNodeSetParams, hipGraphExecHostNodeSetParams, hipGraphExecHostNodeSetParams_fn, hGraphExec, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecKernelNodeSetParams, hipGraphExecKernelNodeSetParams, hipGraphExecKernelNodeSetParams_fn, hGraphExec, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecMemcpyNodeSetParams, hipGraphExecMemcpyNodeSetParams, hipGraphExecMemcpyNodeSetParams_fn, hGraphExec, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecMemcpyNodeSetParams1D, hipGraphExecMemcpyNodeSetParams1D, hipGraphExecMemcpyNodeSetParams1D_fn, hGraphExec, node, dst, src, count, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecMemcpyNodeSetParamsFromSymbol, hipGraphExecMemcpyNodeSetParamsFromSymbol, hipGraphExecMemcpyNodeSetParamsFromSymbol_fn, hGraphExec, node, dst, symbol, count, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecMemcpyNodeSetParamsToSymbol, hipGraphExecMemcpyNodeSetParamsToSymbol, hipGraphExecMemcpyNodeSetParamsToSymbol_fn, hGraphExec, node, symbol, src, count, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecMemsetNodeSetParams, hipGraphExecMemsetNodeSetParams, hipGraphExecMemsetNodeSetParams_fn, hGraphExec, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphExecUpdate, hipGraphExecUpdate, hipGraphExecUpdate_fn, hGraphExec, hGraph, hErrorNode_out, updateResult_out) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphGetEdges, hipGraphGetEdges, hipGraphGetEdges_fn, graph, from, to, numEdges) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphGetNodes, hipGraphGetNodes, hipGraphGetNodes_fn, graph, nodes, numNodes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphGetRootNodes, hipGraphGetRootNodes, hipGraphGetRootNodes_fn, graph, pRootNodes, pNumRootNodes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphHostNodeGetParams, hipGraphHostNodeGetParams, hipGraphHostNodeGetParams_fn, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphHostNodeSetParams, hipGraphHostNodeSetParams, hipGraphHostNodeSetParams_fn, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphInstantiate, hipGraphInstantiate, hipGraphInstantiate_fn, pGraphExec, graph, pErrorNode, pLogBuffer, bufferSize) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphInstantiateWithFlags, hipGraphInstantiateWithFlags, hipGraphInstantiateWithFlags_fn, pGraphExec, graph, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphKernelNodeCopyAttributes, hipGraphKernelNodeCopyAttributes, hipGraphKernelNodeCopyAttributes_fn, hSrc, hDst) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphKernelNodeGetAttribute, hipGraphKernelNodeGetAttribute, hipGraphKernelNodeGetAttribute_fn, hNode, attr, value) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphKernelNodeGetParams, hipGraphKernelNodeGetParams, hipGraphKernelNodeGetParams_fn, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphKernelNodeSetAttribute, hipGraphKernelNodeSetAttribute, hipGraphKernelNodeSetAttribute_fn, hNode, attr, value) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphKernelNodeSetParams, hipGraphKernelNodeSetParams, hipGraphKernelNodeSetParams_fn, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphLaunch, hipGraphLaunch, hipGraphLaunch_fn, graphExec, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphMemAllocNodeGetParams, hipGraphMemAllocNodeGetParams, hipGraphMemAllocNodeGetParams_fn, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphMemFreeNodeGetParams, hipGraphMemFreeNodeGetParams, hipGraphMemFreeNodeGetParams_fn, node, dev_ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeGetParams, hipGraphMemcpyNodeGetParams, hipGraphMemcpyNodeGetParams_fn, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeSetParams, hipGraphMemcpyNodeSetParams, hipGraphMemcpyNodeSetParams_fn, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeSetParams1D, hipGraphMemcpyNodeSetParams1D, hipGraphMemcpyNodeSetParams1D_fn, node, dst, src, count, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeSetParamsFromSymbol, hipGraphMemcpyNodeSetParamsFromSymbol, hipGraphMemcpyNodeSetParamsFromSymbol_fn, node, dst, symbol, count, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphMemcpyNodeSetParamsToSymbol, hipGraphMemcpyNodeSetParamsToSymbol, hipGraphMemcpyNodeSetParamsToSymbol_fn, node, symbol, src, count, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphMemsetNodeGetParams, hipGraphMemsetNodeGetParams, hipGraphMemsetNodeGetParams_fn, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphMemsetNodeSetParams, hipGraphMemsetNodeSetParams, hipGraphMemsetNodeSetParams_fn, node, pNodeParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphNodeFindInClone, hipGraphNodeFindInClone, hipGraphNodeFindInClone_fn, pNode, originalNode, clonedGraph) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphNodeGetDependencies, hipGraphNodeGetDependencies, hipGraphNodeGetDependencies_fn, node, pDependencies, pNumDependencies) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphNodeGetDependentNodes, hipGraphNodeGetDependentNodes, hipGraphNodeGetDependentNodes_fn, node, pDependentNodes, pNumDependentNodes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphNodeGetEnabled, hipGraphNodeGetEnabled, hipGraphNodeGetEnabled_fn, hGraphExec, hNode, isEnabled) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphNodeGetType, hipGraphNodeGetType, hipGraphNodeGetType_fn, node, pType) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphNodeSetEnabled, hipGraphNodeSetEnabled, hipGraphNodeSetEnabled_fn, hGraphExec, hNode, isEnabled) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphReleaseUserObject, hipGraphReleaseUserObject, hipGraphReleaseUserObject_fn, graph, object, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphRemoveDependencies, hipGraphRemoveDependencies, hipGraphRemoveDependencies_fn, graph, from, to, numDependencies) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphRetainUserObject, hipGraphRetainUserObject, hipGraphRetainUserObject_fn, graph, object, count, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphUpload, hipGraphUpload, hipGraphUpload_fn, graphExec, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphicsGLRegisterBuffer, hipGraphicsGLRegisterBuffer, hipGraphicsGLRegisterBuffer_fn, resource, buffer, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphicsGLRegisterImage, hipGraphicsGLRegisterImage, hipGraphicsGLRegisterImage_fn, resource, image, target, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphicsMapResources, hipGraphicsMapResources, hipGraphicsMapResources_fn, count, resources, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphicsResourceGetMappedPointer, hipGraphicsResourceGetMappedPointer, hipGraphicsResourceGetMappedPointer_fn, devPtr, size, resource) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphicsSubResourceGetMappedArray, hipGraphicsSubResourceGetMappedArray, hipGraphicsSubResourceGetMappedArray_fn, array, resource, arrayIndex, mipLevel) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphicsUnmapResources, hipGraphicsUnmapResources, hipGraphicsUnmapResources_fn, count, resources, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphicsUnregisterResource, hipGraphicsUnregisterResource, hipGraphicsUnregisterResource_fn, resource) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipHostAlloc, hipHostAlloc, hipHostAlloc_fn, ptr, size, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipHostFree, hipHostFree, hipHostFree_fn, ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipHostGetDevicePointer, hipHostGetDevicePointer, hipHostGetDevicePointer_fn, devPtr, hstPtr, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipHostGetFlags, hipHostGetFlags, hipHostGetFlags_fn, flagsPtr, hostPtr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipHostMalloc, hipHostMalloc, hipHostMalloc_fn, ptr, size, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipHostRegister, hipHostRegister, hipHostRegister_fn, hostPtr, sizeBytes, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipHostUnregister, hipHostUnregister, hipHostUnregister_fn, hostPtr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipImportExternalMemory, hipImportExternalMemory, hipImportExternalMemory_fn, extMem_out, memHandleDesc) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipImportExternalSemaphore, hipImportExternalSemaphore, hipImportExternalSemaphore_fn, extSem_out, semHandleDesc) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipInit, hipInit, hipInit_fn, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipIpcCloseMemHandle, hipIpcCloseMemHandle, hipIpcCloseMemHandle_fn, devPtr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipIpcGetEventHandle, hipIpcGetEventHandle, hipIpcGetEventHandle_fn, handle, event) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipIpcGetMemHandle, hipIpcGetMemHandle, hipIpcGetMemHandle_fn, handle, devPtr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipIpcOpenEventHandle, hipIpcOpenEventHandle, hipIpcOpenEventHandle_fn, event, handle) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipIpcOpenMemHandle, hipIpcOpenMemHandle, hipIpcOpenMemHandle_fn, devPtr, handle, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipKernelNameRef, hipKernelNameRef, hipKernelNameRef_fn, f) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipKernelNameRefByPtr, hipKernelNameRefByPtr, hipKernelNameRefByPtr_fn, hostFunction, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipLaunchByPtr, hipLaunchByPtr, hipLaunchByPtr_fn, func) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipLaunchCooperativeKernel, hipLaunchCooperativeKernel, hipLaunchCooperativeKernel_fn, f, gridDim, blockDimX, kernelParams, sharedMemBytes, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipLaunchCooperativeKernelMultiDevice, hipLaunchCooperativeKernelMultiDevice, hipLaunchCooperativeKernelMultiDevice_fn, launchParamsList, numDevices, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipLaunchHostFunc, hipLaunchHostFunc, hipLaunchHostFunc_fn, stream, fn, userData) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipLaunchKernel, hipLaunchKernel, hipLaunchKernel_fn, function_address, numBlocks, dimBlocks, args, sharedMemBytes, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMalloc, hipMalloc, hipMalloc_fn, ptr, size) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMalloc3D, hipMalloc3D, hipMalloc3D_fn, pitchedDevPtr, extent) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMalloc3DArray, hipMalloc3DArray, hipMalloc3DArray_fn, array, desc, extent, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMallocArray, hipMallocArray, hipMallocArray_fn, array, desc, width, height, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMallocAsync, hipMallocAsync, hipMallocAsync_fn, dev_ptr, size, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMallocFromPoolAsync, hipMallocFromPoolAsync, hipMallocFromPoolAsync_fn, dev_ptr, size, mem_pool, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMallocHost, hipMallocHost, hipMallocHost_fn, ptr, size) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMallocManaged, hipMallocManaged, hipMallocManaged_fn, dev_ptr, size, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMallocMipmappedArray, hipMallocMipmappedArray, hipMallocMipmappedArray_fn, mipmappedArray, desc, extent, numLevels, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMallocPitch, hipMallocPitch, hipMallocPitch_fn, ptr, pitch, width, height) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemAddressFree, hipMemAddressFree, hipMemAddressFree_fn, devPtr, size) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemAddressReserve, hipMemAddressReserve, hipMemAddressReserve_fn, ptr, size, alignment, addr, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemAdvise, hipMemAdvise, hipMemAdvise_fn, dev_ptr, count, advice, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemAllocHost, hipMemAllocHost, hipMemAllocHost_fn, ptr, size) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemAllocPitch, hipMemAllocPitch, hipMemAllocPitch_fn, dptr, pitch, widthInBytes, height, elementSizeBytes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemCreate, hipMemCreate, hipMemCreate_fn, handle, size, prop, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemExportToShareableHandle, hipMemExportToShareableHandle, hipMemExportToShareableHandle_fn, shareableHandle, handle, handleType, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemGetAccess, hipMemGetAccess, hipMemGetAccess_fn, flags, location, ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemGetAddressRange, hipMemGetAddressRange, hipMemGetAddressRange_fn, pbase, psize, dptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemGetAllocationGranularity, hipMemGetAllocationGranularity, hipMemGetAllocationGranularity_fn, granularity, prop, option) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemGetAllocationPropertiesFromHandle, hipMemGetAllocationPropertiesFromHandle, hipMemGetAllocationPropertiesFromHandle_fn, prop, handle) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemGetInfo, hipMemGetInfo, hipMemGetInfo_fn, free, total) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemImportFromShareableHandle, hipMemImportFromShareableHandle, hipMemImportFromShareableHandle_fn, handle, osHandle, shHandleType) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemMap, hipMemMap, hipMemMap_fn, ptr, size, offset, handle, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemMapArrayAsync, hipMemMapArrayAsync, hipMemMapArrayAsync_fn, mapInfoList, count, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolCreate, hipMemPoolCreate, hipMemPoolCreate_fn, mem_pool, pool_props) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolDestroy, hipMemPoolDestroy, hipMemPoolDestroy_fn, mem_pool) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolExportPointer, hipMemPoolExportPointer, hipMemPoolExportPointer_fn, export_data, dev_ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolExportToShareableHandle, hipMemPoolExportToShareableHandle, hipMemPoolExportToShareableHandle_fn, shared_handle, mem_pool, handle_type, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolGetAccess, hipMemPoolGetAccess, hipMemPoolGetAccess_fn, flags, mem_pool, location) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolGetAttribute, hipMemPoolGetAttribute, hipMemPoolGetAttribute_fn, mem_pool, attr, value) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolImportFromShareableHandle, hipMemPoolImportFromShareableHandle, hipMemPoolImportFromShareableHandle_fn, mem_pool, shared_handle, handle_type, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolImportPointer, hipMemPoolImportPointer, hipMemPoolImportPointer_fn, dev_ptr, mem_pool, export_data) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolSetAccess, hipMemPoolSetAccess, hipMemPoolSetAccess_fn, mem_pool, desc_list, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolSetAttribute, hipMemPoolSetAttribute, hipMemPoolSetAttribute_fn, mem_pool, attr, value) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPoolTrimTo, hipMemPoolTrimTo, hipMemPoolTrimTo_fn, mem_pool, min_bytes_to_hold) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPrefetchAsync, hipMemPrefetchAsync, hipMemPrefetchAsync_fn, dev_ptr, count, device, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemPtrGetInfo, hipMemPtrGetInfo, hipMemPtrGetInfo_fn, ptr, size) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemRangeGetAttribute, hipMemRangeGetAttribute, hipMemRangeGetAttribute_fn, data, data_size, attribute, dev_ptr, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemRangeGetAttributes, hipMemRangeGetAttributes, hipMemRangeGetAttributes_fn, data, data_sizes, attributes, num_attributes, dev_ptr, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemRelease, hipMemRelease, hipMemRelease_fn, handle) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemRetainAllocationHandle, hipMemRetainAllocationHandle, hipMemRetainAllocationHandle_fn, handle, addr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemSetAccess, hipMemSetAccess, hipMemSetAccess_fn, ptr, size, desc, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemUnmap, hipMemUnmap, hipMemUnmap_fn, ptr, size) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy, hipMemcpy, hipMemcpy_fn, dst, src, sizeBytes, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2D, hipMemcpy2D, hipMemcpy2D_fn, dst, dpitch, src, spitch, width, height, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DAsync, hipMemcpy2DAsync, hipMemcpy2DAsync_fn, dst, dpitch, src, spitch, width, height, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DFromArray, hipMemcpy2DFromArray, hipMemcpy2DFromArray_fn, dst, dpitch, src, wOffset, hOffset, width, height, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpy2DFromArrayAsync_fn, dst, dpitch, src, wOffset, hOffset, width, height, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DToArray, hipMemcpy2DToArray, hipMemcpy2DToArray_fn, dst, wOffset, hOffset, src, spitch, width, height, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpy2DToArrayAsync_fn, dst, wOffset, hOffset, src, spitch, width, height, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy3D, hipMemcpy3D, hipMemcpy3D_fn, p) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy3DAsync, hipMemcpy3DAsync, hipMemcpy3DAsync_fn, p, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyAsync, hipMemcpyAsync, hipMemcpyAsync_fn, dst, src, sizeBytes, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyAtoH, hipMemcpyAtoH, hipMemcpyAtoH_fn, dst, srcArray, srcOffset, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyDtoD, hipMemcpyDtoD, hipMemcpyDtoD_fn, dst, src, sizeBytes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyDtoDAsync, hipMemcpyDtoDAsync, hipMemcpyDtoDAsync_fn, dst, src, sizeBytes, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyDtoH, hipMemcpyDtoH, hipMemcpyDtoH_fn, dst, src, sizeBytes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyDtoHAsync, hipMemcpyDtoHAsync, hipMemcpyDtoHAsync_fn, dst, src, sizeBytes, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyFromArray, hipMemcpyFromArray, hipMemcpyFromArray_fn, dst, srcArray, wOffset, hOffset, count, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyFromSymbol, hipMemcpyFromSymbol, hipMemcpyFromSymbol_fn, dst, symbol, sizeBytes, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyFromSymbolAsync, hipMemcpyFromSymbolAsync, hipMemcpyFromSymbolAsync_fn, dst, symbol, sizeBytes, offset, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyHtoA, hipMemcpyHtoA, hipMemcpyHtoA_fn, dstArray, dstOffset, srcHost, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyHtoD, hipMemcpyHtoD, hipMemcpyHtoD_fn, dst, src, sizeBytes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyHtoDAsync, hipMemcpyHtoDAsync, hipMemcpyHtoDAsync_fn, dst, src, sizeBytes, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyParam2D, hipMemcpyParam2D, hipMemcpyParam2D_fn, pCopy) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyParam2DAsync, hipMemcpyParam2DAsync, hipMemcpyParam2DAsync_fn, pCopy, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyPeer, hipMemcpyPeer, hipMemcpyPeer_fn, dst, dstDeviceId, src, srcDeviceId, sizeBytes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyPeerAsync, hipMemcpyPeerAsync, hipMemcpyPeerAsync_fn, dst, dstDeviceId, src, srcDevice, sizeBytes, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyToArray, hipMemcpyToArray, hipMemcpyToArray_fn, dst, wOffset, hOffset, src, count, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyToSymbol, hipMemcpyToSymbol, hipMemcpyToSymbol_fn, symbol, src, sizeBytes, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyToSymbolAsync, hipMemcpyToSymbolAsync, hipMemcpyToSymbolAsync_fn, symbol, src, sizeBytes, offset, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyWithStream, hipMemcpyWithStream, hipMemcpyWithStream_fn, dst, src, sizeBytes, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset, hipMemset, hipMemset_fn, dst, value, sizeBytes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset2D, hipMemset2D, hipMemset2D_fn, dst, pitch, value, width, height) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset2DAsync, hipMemset2DAsync, hipMemset2DAsync_fn, dst, pitch, value, width, height, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset3D, hipMemset3D, hipMemset3D_fn, pitchedDevPtr, value, extent) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset3DAsync, hipMemset3DAsync, hipMemset3DAsync_fn, pitchedDevPtr, value, extent, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemsetAsync, hipMemsetAsync, hipMemsetAsync_fn, dst, value, sizeBytes, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemsetD16, hipMemsetD16, hipMemsetD16_fn, dest, value, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemsetD16Async, hipMemsetD16Async, hipMemsetD16Async_fn, dest, value, count, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemsetD32, hipMemsetD32, hipMemsetD32_fn, dest, value, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemsetD32Async, hipMemsetD32Async, hipMemsetD32Async_fn, dst, value, count, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemsetD8, hipMemsetD8, hipMemsetD8_fn, dest, value, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemsetD8Async, hipMemsetD8Async, hipMemsetD8Async_fn, dest, value, count, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMipmappedArrayCreate, hipMipmappedArrayCreate, hipMipmappedArrayCreate_fn, pHandle, pMipmappedArrayDesc, numMipmapLevels) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMipmappedArrayDestroy, hipMipmappedArrayDestroy, hipMipmappedArrayDestroy_fn, hMipmappedArray) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMipmappedArrayGetLevel, hipMipmappedArrayGetLevel, hipMipmappedArrayGetLevel_fn, pLevelArray, hMipMappedArray, level) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleGetFunction, hipModuleGetFunction, hipModuleGetFunction_fn, function, module, kname) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleGetGlobal, hipModuleGetGlobal, hipModuleGetGlobal_fn, dptr, bytes, hmod, name) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleGetTexRef, hipModuleGetTexRef, hipModuleGetTexRef_fn, texRef, hmod, name) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleLaunchCooperativeKernel, hipModuleLaunchCooperativeKernel, hipModuleLaunchCooperativeKernel_fn, f, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, stream, kernelParams) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleLaunchCooperativeKernelMultiDevice, hipModuleLaunchCooperativeKernelMultiDevice, hipModuleLaunchCooperativeKernelMultiDevice_fn, launchParamsList, numDevices, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleLaunchKernel, hipModuleLaunchKernel, hipModuleLaunchKernel_fn, f, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, stream, kernelParams, extra) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleLoad, hipModuleLoad, hipModuleLoad_fn, module, fname) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleLoadData, hipModuleLoadData, hipModuleLoadData_fn, module, image) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleLoadDataEx, hipModuleLoadDataEx, hipModuleLoadDataEx_fn, module, image, numOptions, options, optionValues) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessor, hipModuleOccupancyMaxActiveBlocksPerMultiprocessor, hipModuleOccupancyMaxActiveBlocksPerMultiprocessor_fn, numBlocks, f, blockSize, dynSharedMemPerBlk) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_fn, numBlocks, f, blockSize, dynSharedMemPerBlk, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleOccupancyMaxPotentialBlockSize, hipModuleOccupancyMaxPotentialBlockSize, hipModuleOccupancyMaxPotentialBlockSize_fn, gridSize, blockSize, f, dynSharedMemPerBlk, blockSizeLimit) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleOccupancyMaxPotentialBlockSizeWithFlags, hipModuleOccupancyMaxPotentialBlockSizeWithFlags, hipModuleOccupancyMaxPotentialBlockSizeWithFlags_fn, gridSize, blockSize, f, dynSharedMemPerBlk, blockSizeLimit, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipModuleUnload, hipModuleUnload, hipModuleUnload_fn, module) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessor, hipOccupancyMaxActiveBlocksPerMultiprocessor, hipOccupancyMaxActiveBlocksPerMultiprocessor_fn, numBlocks, f, blockSize, dynSharedMemPerBlk) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_fn, numBlocks, f, blockSize, dynSharedMemPerBlk, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipOccupancyMaxPotentialBlockSize, hipOccupancyMaxPotentialBlockSize, hipOccupancyMaxPotentialBlockSize_fn, gridSize, blockSize, f, dynSharedMemPerBlk, blockSizeLimit) -HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipPeekAtLastError, hipPeekAtLastError, hipPeekAtLastError_fn) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipPointerGetAttribute, hipPointerGetAttribute, hipPointerGetAttribute_fn, data, attribute, ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipPointerGetAttributes, hipPointerGetAttributes, hipPointerGetAttributes_fn, attributes, ptr) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipPointerSetAttribute, hipPointerSetAttribute, hipPointerSetAttribute_fn, value, attribute, ptr) -HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipProfilerStart, hipProfilerStart, hipProfilerStart_fn) -HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipProfilerStop, hipProfilerStop, hipProfilerStop_fn) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipRuntimeGetVersion, hipRuntimeGetVersion, hipRuntimeGetVersion_fn, runtimeVersion) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipSetDevice, hipSetDevice, hipSetDevice_fn, deviceId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipSetDeviceFlags, hipSetDeviceFlags, hipSetDeviceFlags_fn, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipSetupArgument, hipSetupArgument, hipSetupArgument_fn, arg, size, offset) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipSignalExternalSemaphoresAsync, hipSignalExternalSemaphoresAsync, hipSignalExternalSemaphoresAsync_fn, extSemArray, paramsArray, numExtSems, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamAddCallback, hipStreamAddCallback, hipStreamAddCallback_fn, stream, callback, userData, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamAttachMemAsync, hipStreamAttachMemAsync, hipStreamAttachMemAsync_fn, stream, dev_ptr, length, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamBeginCapture, hipStreamBeginCapture, hipStreamBeginCapture_fn, stream, mode) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamCreate, hipStreamCreate, hipStreamCreate_fn, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamCreateWithFlags, hipStreamCreateWithFlags, hipStreamCreateWithFlags_fn, stream, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamCreateWithPriority, hipStreamCreateWithPriority, hipStreamCreateWithPriority_fn, stream, flags, priority) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamDestroy, hipStreamDestroy, hipStreamDestroy_fn, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamEndCapture, hipStreamEndCapture, hipStreamEndCapture_fn, stream, pGraph) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamGetCaptureInfo, hipStreamGetCaptureInfo, hipStreamGetCaptureInfo_fn, stream, pCaptureStatus, pId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamGetCaptureInfo_v2, hipStreamGetCaptureInfo_v2, hipStreamGetCaptureInfo_v2_fn, stream, captureStatus_out, id_out, graph_out, dependencies_out, numDependencies_out) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamGetDevice, hipStreamGetDevice, hipStreamGetDevice_fn, stream, device) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamGetFlags, hipStreamGetFlags, hipStreamGetFlags_fn, stream, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamGetPriority, hipStreamGetPriority, hipStreamGetPriority_fn, stream, priority) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamIsCapturing, hipStreamIsCapturing, hipStreamIsCapturing_fn, stream, pCaptureStatus) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamQuery, hipStreamQuery, hipStreamQuery_fn, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamSynchronize, hipStreamSynchronize, hipStreamSynchronize_fn, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamUpdateCaptureDependencies, hipStreamUpdateCaptureDependencies, hipStreamUpdateCaptureDependencies_fn, stream, dependencies, numDependencies, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamWaitEvent, hipStreamWaitEvent, hipStreamWaitEvent_fn, stream, event, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamWaitValue32, hipStreamWaitValue32, hipStreamWaitValue32_fn, stream, ptr, value, flags, mask) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamWaitValue64, hipStreamWaitValue64, hipStreamWaitValue64_fn, stream, ptr, value, flags, mask) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamWriteValue32, hipStreamWriteValue32, hipStreamWriteValue32_fn, stream, ptr, value, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamWriteValue64, hipStreamWriteValue64, hipStreamWriteValue64_fn, stream, ptr, value, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexObjectCreate, hipTexObjectCreate, hipTexObjectCreate_fn, pTexObject, pResDesc, pTexDesc, pResViewDesc) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexObjectDestroy, hipTexObjectDestroy, hipTexObjectDestroy_fn, texObject) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexObjectGetResourceDesc, hipTexObjectGetResourceDesc, hipTexObjectGetResourceDesc_fn, pResDesc, texObject) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexObjectGetResourceViewDesc, hipTexObjectGetResourceViewDesc, hipTexObjectGetResourceViewDesc_fn, pResViewDesc, texObject) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexObjectGetTextureDesc, hipTexObjectGetTextureDesc, hipTexObjectGetTextureDesc_fn, pTexDesc, texObject) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetAddress, hipTexRefGetAddress, hipTexRefGetAddress_fn, dev_ptr, texRef) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetAddressMode, hipTexRefGetAddressMode, hipTexRefGetAddressMode_fn, pam, texRef, dim) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetFilterMode, hipTexRefGetFilterMode, hipTexRefGetFilterMode_fn, pfm, texRef) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetFlags, hipTexRefGetFlags, hipTexRefGetFlags_fn, pFlags, texRef) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetFormat, hipTexRefGetFormat, hipTexRefGetFormat_fn, pFormat, pNumChannels, texRef) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetMaxAnisotropy, hipTexRefGetMaxAnisotropy, hipTexRefGetMaxAnisotropy_fn, pmaxAnsio, texRef) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetMipMappedArray, hipTexRefGetMipMappedArray, hipTexRefGetMipMappedArray_fn, pArray, texRef) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetMipmapFilterMode, hipTexRefGetMipmapFilterMode, hipTexRefGetMipmapFilterMode_fn, pfm, texRef) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetMipmapLevelBias, hipTexRefGetMipmapLevelBias, hipTexRefGetMipmapLevelBias_fn, pbias, texRef) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefGetMipmapLevelClamp, hipTexRefGetMipmapLevelClamp, hipTexRefGetMipmapLevelClamp_fn, pminMipmapLevelClamp, pmaxMipmapLevelClamp, texRef) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetAddress, hipTexRefSetAddress, hipTexRefSetAddress_fn, ByteOffset, texRef, dptr, bytes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetAddress2D, hipTexRefSetAddress2D, hipTexRefSetAddress2D_fn, texRef, desc, dptr, Pitch) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetAddressMode, hipTexRefSetAddressMode, hipTexRefSetAddressMode_fn, texRef, dim, am) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetArray, hipTexRefSetArray, hipTexRefSetArray_fn, tex, array, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetBorderColor, hipTexRefSetBorderColor, hipTexRefSetBorderColor_fn, texRef, pBorderColor) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetFilterMode, hipTexRefSetFilterMode, hipTexRefSetFilterMode_fn, texRef, fm) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetFlags, hipTexRefSetFlags, hipTexRefSetFlags_fn, texRef, Flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetFormat, hipTexRefSetFormat, hipTexRefSetFormat_fn, texRef, fmt, NumPackedComponents) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetMaxAnisotropy, hipTexRefSetMaxAnisotropy, hipTexRefSetMaxAnisotropy_fn, texRef, maxAniso) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetMipmapFilterMode, hipTexRefSetMipmapFilterMode, hipTexRefSetMipmapFilterMode_fn, texRef, fm) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetMipmapLevelBias, hipTexRefSetMipmapLevelBias, hipTexRefSetMipmapLevelBias_fn, texRef, bias) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetMipmapLevelClamp, hipTexRefSetMipmapLevelClamp, hipTexRefSetMipmapLevelClamp_fn, texRef, minMipMapLevelClamp, maxMipMapLevelClamp) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipTexRefSetMipmappedArray, hipTexRefSetMipmappedArray, hipTexRefSetMipmappedArray_fn, texRef, mipmappedArray, Flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipThreadExchangeStreamCaptureMode, hipThreadExchangeStreamCaptureMode, hipThreadExchangeStreamCaptureMode_fn, mode) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipUnbindTexture, hipUnbindTexture, hipUnbindTexture_fn, tex) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipUserObjectCreate, hipUserObjectCreate, hipUserObjectCreate_fn, object_out, ptr, destroy, initialRefcount, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipUserObjectRelease, hipUserObjectRelease, hipUserObjectRelease_fn, object, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipUserObjectRetain, hipUserObjectRetain, hipUserObjectRetain_fn, object, count) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipWaitExternalSemaphoresAsync, hipWaitExternalSemaphoresAsync, hipWaitExternalSemaphoresAsync_fn, extSemArray, paramsArray, numExtSems, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipCreateChannelDesc, hipCreateChannelDesc, hipCreateChannelDesc_fn, x, y, z, w, f) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipExtModuleLaunchKernel, hipExtModuleLaunchKernel, hipExtModuleLaunchKernel_fn, f, globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ, localWorkSizeX, localWorkSizeY, localWorkSizeZ, sharedMemBytes, hStream, kernelParams, extra, startEvent, stopEvent, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipHccModuleLaunchKernel, hipHccModuleLaunchKernel, hipHccModuleLaunchKernel_fn, f, globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ, localWorkSizeX, localWorkSizeY, localWorkSizeZ, sharedMemBytes, hStream, kernelParams, extra, startEvent, stopEvent) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy_spt, hipMemcpy_spt, hipMemcpy_spt_fn, dst, src, sizeBytes, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyToSymbol_spt, hipMemcpyToSymbol_spt, hipMemcpyToSymbol_spt_fn, symbol, src, sizeBytes, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyFromSymbol_spt, hipMemcpyFromSymbol_spt, hipMemcpyFromSymbol_spt_fn, dst, symbol, sizeBytes, offset, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2D_spt, hipMemcpy2D_spt, hipMemcpy2D_spt_fn, dst, dpitch, src, spitch, width, height, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DFromArray_spt, hipMemcpy2DFromArray_spt, hipMemcpy2DFromArray_spt_fn, dst, dpitch, src, wOffset, hOffset, width, height, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy3D_spt, hipMemcpy3D_spt, hipMemcpy3D_spt_fn, p) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset_spt, hipMemset_spt, hipMemset_spt_fn, dst, value, sizeBytes) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemsetAsync_spt, hipMemsetAsync_spt, hipMemsetAsync_spt_fn, dst, value, sizeBytes, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset2D_spt, hipMemset2D_spt, hipMemset2D_spt_fn, dst, pitch, value, width, height) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset2DAsync_spt, hipMemset2DAsync_spt, hipMemset2DAsync_spt_fn, dst, pitch, value, width, height, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset3DAsync_spt, hipMemset3DAsync_spt, hipMemset3DAsync_spt_fn, pitchedDevPtr, value, extent, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemset3D_spt, hipMemset3D_spt, hipMemset3D_spt_fn, pitchedDevPtr, value, extent) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyAsync_spt, hipMemcpyAsync_spt, hipMemcpyAsync_spt_fn, dst, src, sizeBytes, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy3DAsync_spt, hipMemcpy3DAsync_spt, hipMemcpy3DAsync_spt_fn, p, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DAsync_spt, hipMemcpy2DAsync_spt, hipMemcpy2DAsync_spt_fn, dst, dpitch, src, spitch, width, height, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyFromSymbolAsync_spt, hipMemcpyFromSymbolAsync_spt, hipMemcpyFromSymbolAsync_spt_fn, dst, symbol, sizeBytes, offset, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyToSymbolAsync_spt, hipMemcpyToSymbolAsync_spt, hipMemcpyToSymbolAsync_spt_fn, symbol, src, sizeBytes, offset, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpyFromArray_spt, hipMemcpyFromArray_spt, hipMemcpyFromArray_spt_fn, dst, src, wOffsetSrc, hOffset, count, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DToArray_spt, hipMemcpy2DToArray_spt, hipMemcpy2DToArray_spt_fn, dst, wOffset, hOffset, src, spitch, width, height, kind) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DFromArrayAsync_spt, hipMemcpy2DFromArrayAsync_spt, hipMemcpy2DFromArrayAsync_spt_fn, dst, dpitch, src, wOffsetSrc, hOffsetSrc, width, height, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipMemcpy2DToArrayAsync_spt, hipMemcpy2DToArrayAsync_spt, hipMemcpy2DToArrayAsync_spt_fn, dst, wOffset, hOffset, src, spitch, width, height, kind, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamQuery_spt, hipStreamQuery_spt, hipStreamQuery_spt_fn, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamSynchronize_spt, hipStreamSynchronize_spt, hipStreamSynchronize_spt_fn, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamGetPriority_spt, hipStreamGetPriority_spt, hipStreamGetPriority_spt_fn, stream, priority) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamWaitEvent_spt, hipStreamWaitEvent_spt, hipStreamWaitEvent_spt_fn, stream, event, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamGetFlags_spt, hipStreamGetFlags_spt, hipStreamGetFlags_spt_fn, stream, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamAddCallback_spt, hipStreamAddCallback_spt, hipStreamAddCallback_spt_fn, stream, callback, userData, flags) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipEventRecord_spt, hipEventRecord_spt, hipEventRecord_spt_fn, event, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipLaunchCooperativeKernel_spt, hipLaunchCooperativeKernel_spt, hipLaunchCooperativeKernel_spt_fn, f, gridDim, blockDim, kernelParams, sharedMemBytes, hStream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipLaunchKernel_spt, hipLaunchKernel_spt, hipLaunchKernel_spt_fn, function_address, numBlocks, dimBlocks, args, sharedMemBytes, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGraphLaunch_spt, hipGraphLaunch_spt, hipGraphLaunch_spt_fn, graphExec, stream) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamBeginCapture_spt, hipStreamBeginCapture_spt, hipStreamBeginCapture_spt_fn, stream, mode) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamEndCapture_spt, hipStreamEndCapture_spt, hipStreamEndCapture_spt_fn, stream, pGraph) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamIsCapturing_spt, hipStreamIsCapturing_spt, hipStreamIsCapturing_spt_fn, stream, pCaptureStatus) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamGetCaptureInfo_spt, hipStreamGetCaptureInfo_spt, hipStreamGetCaptureInfo_spt_fn, stream, pCaptureStatus, pId) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipStreamGetCaptureInfo_v2_spt, hipStreamGetCaptureInfo_v2_spt, hipStreamGetCaptureInfo_v2_spt_fn, stream, captureStatus_out, id_out, graph_out, dependencies_out, numDependencies_out) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipLaunchHostFunc_spt, hipLaunchHostFunc_spt, hipLaunchHostFunc_spt_fn, stream, fn, userData) -HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipGetStreamDeviceId, hipGetStreamDeviceId, hipGetStreamDeviceId_fn, stream) -// HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_API_TABLE_ID_RuntimeApi, ROCPROFILER_HIP_API_ID_hipDrvGraphAddMemsetNode, hipDrvGraphAddMemsetNode, hipDrvGraphAddMemsetNode_fn, phGraphNode, hGraph, dependencies, numDependencies, memsetParams, ctx) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Compiler, ROCPROFILER_HIP_COMPILER_API_ID___hipPopCallConfiguration, __hipPopCallConfiguration, __hipPopCallConfiguration_fn, gridDim, blockDim, sharedMem, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Compiler, ROCPROFILER_HIP_COMPILER_API_ID___hipPushCallConfiguration, __hipPushCallConfiguration, __hipPushCallConfiguration_fn, gridDim, blockDim, sharedMem, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Compiler, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterFatBinary, __hipRegisterFatBinary, __hipRegisterFatBinary_fn, data) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Compiler, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterFunction, __hipRegisterFunction, __hipRegisterFunction_fn, modules, hostFunction, deviceFunction, deviceName, threadLimit, tid, bid, blockDim, gridDim, wSize) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Compiler, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterManagedVar, __hipRegisterManagedVar, __hipRegisterManagedVar_fn, hipModule, pointer, init_value, name, size, align) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Compiler, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterSurface, __hipRegisterSurface, __hipRegisterSurface_fn, modules, var, hostVar, deviceVar, type, ext) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Compiler, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterTexture, __hipRegisterTexture, __hipRegisterTexture_fn, modules, var, hostVar, deviceVar, type, norm, ext) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Compiler, ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterVar, __hipRegisterVar, __hipRegisterVar_fn, modules, var, hostVar, deviceVar, ext, size, constant, global) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Compiler, ROCPROFILER_HIP_COMPILER_API_ID___hipUnregisterFatBinary, __hipUnregisterFatBinary, __hipUnregisterFatBinary_fn, modules) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipApiName, hipApiName, hipApiName_fn, id) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipArray3DCreate, hipArray3DCreate, hipArray3DCreate_fn, array, pAllocateArray) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipArray3DGetDescriptor, hipArray3DGetDescriptor, hipArray3DGetDescriptor_fn, pArrayDescriptor, array) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipArrayCreate, hipArrayCreate, hipArrayCreate_fn, pHandle, pAllocateArray) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipArrayDestroy, hipArrayDestroy, hipArrayDestroy_fn, array) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipArrayGetDescriptor, hipArrayGetDescriptor, hipArrayGetDescriptor_fn, pArrayDescriptor, array) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipArrayGetInfo, hipArrayGetInfo, hipArrayGetInfo_fn, desc, extent, flags, array) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipBindTexture, hipBindTexture, hipBindTexture_fn, offset, tex, devPtr, desc, size) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipBindTexture2D, hipBindTexture2D, hipBindTexture2D_fn, offset, tex, devPtr, desc, width, height, pitch) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipBindTextureToArray, hipBindTextureToArray, hipBindTextureToArray_fn, tex, array, desc) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipBindTextureToMipmappedArray, hipBindTextureToMipmappedArray, hipBindTextureToMipmappedArray_fn, tex, mipmappedArray, desc) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipChooseDevice, hipChooseDevice, hipChooseDevice_fn, device, prop) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipChooseDeviceR0000, hipChooseDeviceR0000, hipChooseDeviceR0000_fn, device, prop) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipConfigureCall, hipConfigureCall, hipConfigureCall_fn, gridDim, blockDim, sharedMem, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCreateSurfaceObject, hipCreateSurfaceObject, hipCreateSurfaceObject_fn, pSurfObject, pResDesc) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCreateTextureObject, hipCreateTextureObject, hipCreateTextureObject_fn, pTexObject, pResDesc, pTexDesc, pResViewDesc) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxCreate, hipCtxCreate, hipCtxCreate_fn, ctx, flags, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxDestroy, hipCtxDestroy, hipCtxDestroy_fn, ctx) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxDisablePeerAccess, hipCtxDisablePeerAccess, hipCtxDisablePeerAccess_fn, peerCtx) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxEnablePeerAccess, hipCtxEnablePeerAccess, hipCtxEnablePeerAccess_fn, peerCtx, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetApiVersion, hipCtxGetApiVersion, hipCtxGetApiVersion_fn, ctx, apiVersion) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetCacheConfig, hipCtxGetCacheConfig, hipCtxGetCacheConfig_fn, cacheConfig) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetCurrent, hipCtxGetCurrent, hipCtxGetCurrent_fn, ctx) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetDevice, hipCtxGetDevice, hipCtxGetDevice_fn, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetFlags, hipCtxGetFlags, hipCtxGetFlags_fn, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxGetSharedMemConfig, hipCtxGetSharedMemConfig, hipCtxGetSharedMemConfig_fn, pConfig) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxPopCurrent, hipCtxPopCurrent, hipCtxPopCurrent_fn, ctx) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxPushCurrent, hipCtxPushCurrent, hipCtxPushCurrent_fn, ctx) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxSetCacheConfig, hipCtxSetCacheConfig, hipCtxSetCacheConfig_fn, cacheConfig) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxSetCurrent, hipCtxSetCurrent, hipCtxSetCurrent_fn, ctx) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxSetSharedMemConfig, hipCtxSetSharedMemConfig, hipCtxSetSharedMemConfig_fn, config) +HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCtxSynchronize, hipCtxSynchronize, hipCtxSynchronize_fn) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDestroyExternalMemory, hipDestroyExternalMemory, hipDestroyExternalMemory_fn, extMem) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDestroyExternalSemaphore, hipDestroyExternalSemaphore, hipDestroyExternalSemaphore_fn, extSem) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDestroySurfaceObject, hipDestroySurfaceObject, hipDestroySurfaceObject_fn, surfaceObject) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDestroyTextureObject, hipDestroyTextureObject, hipDestroyTextureObject_fn, textureObject) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceCanAccessPeer, hipDeviceCanAccessPeer, hipDeviceCanAccessPeer_fn, canAccessPeer, deviceId, peerDeviceId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceComputeCapability, hipDeviceComputeCapability, hipDeviceComputeCapability_fn, major, minor, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceDisablePeerAccess, hipDeviceDisablePeerAccess, hipDeviceDisablePeerAccess_fn, peerDeviceId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceEnablePeerAccess, hipDeviceEnablePeerAccess, hipDeviceEnablePeerAccess_fn, peerDeviceId, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGet, hipDeviceGet, hipDeviceGet_fn, device, ordinal) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetAttribute, hipDeviceGetAttribute, hipDeviceGetAttribute_fn, pi, attr, deviceId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetByPCIBusId, hipDeviceGetByPCIBusId, hipDeviceGetByPCIBusId_fn, device, pciBusId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetCacheConfig, hipDeviceGetCacheConfig, hipDeviceGetCacheConfig_fn, cacheConfig) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetDefaultMemPool, hipDeviceGetDefaultMemPool, hipDeviceGetDefaultMemPool_fn, mem_pool, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetGraphMemAttribute, hipDeviceGetGraphMemAttribute, hipDeviceGetGraphMemAttribute_fn, device, attr, value) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetLimit, hipDeviceGetLimit, hipDeviceGetLimit_fn, pValue, limit) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetMemPool, hipDeviceGetMemPool, hipDeviceGetMemPool_fn, mem_pool, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetName, hipDeviceGetName, hipDeviceGetName_fn, name, len, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetP2PAttribute, hipDeviceGetP2PAttribute, hipDeviceGetP2PAttribute_fn, value, attr, srcDevice, dstDevice) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetPCIBusId, hipDeviceGetPCIBusId, hipDeviceGetPCIBusId_fn, pciBusId, len, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetSharedMemConfig, hipDeviceGetSharedMemConfig, hipDeviceGetSharedMemConfig_fn, pConfig) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetStreamPriorityRange, hipDeviceGetStreamPriorityRange, hipDeviceGetStreamPriorityRange_fn, leastPriority, greatestPriority) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetUuid, hipDeviceGetUuid, hipDeviceGetUuid_fn, uuid, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGraphMemTrim, hipDeviceGraphMemTrim, hipDeviceGraphMemTrim_fn, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxGetState, hipDevicePrimaryCtxGetState, hipDevicePrimaryCtxGetState_fn, dev, flags, active) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxRelease, hipDevicePrimaryCtxRelease, hipDevicePrimaryCtxRelease_fn, dev) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxReset, hipDevicePrimaryCtxReset, hipDevicePrimaryCtxReset_fn, dev) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxRetain, hipDevicePrimaryCtxRetain, hipDevicePrimaryCtxRetain_fn, pctx, dev) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDevicePrimaryCtxSetFlags, hipDevicePrimaryCtxSetFlags, hipDevicePrimaryCtxSetFlags_fn, dev, flags) +HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceReset, hipDeviceReset, hipDeviceReset_fn) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetCacheConfig, hipDeviceSetCacheConfig, hipDeviceSetCacheConfig_fn, cacheConfig) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetGraphMemAttribute, hipDeviceSetGraphMemAttribute, hipDeviceSetGraphMemAttribute_fn, device, attr, value) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetLimit, hipDeviceSetLimit, hipDeviceSetLimit_fn, limit, value) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetMemPool, hipDeviceSetMemPool, hipDeviceSetMemPool_fn, device, mem_pool) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSetSharedMemConfig, hipDeviceSetSharedMemConfig, hipDeviceSetSharedMemConfig_fn, config) +HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceSynchronize, hipDeviceSynchronize, hipDeviceSynchronize_fn) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceTotalMem, hipDeviceTotalMem, hipDeviceTotalMem_fn, bytes, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDriverGetVersion, hipDriverGetVersion, hipDriverGetVersion_fn, driverVersion) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvGetErrorName, hipDrvGetErrorName, hipDrvGetErrorName_fn, hipError, errorString) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvGetErrorString, hipDrvGetErrorString, hipDrvGetErrorString_fn, hipError, errorString) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvGraphAddMemcpyNode, hipDrvGraphAddMemcpyNode, hipDrvGraphAddMemcpyNode_fn, phGraphNode, hGraph, dependencies, numDependencies, copyParams, ctx) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvMemcpy2DUnaligned, hipDrvMemcpy2DUnaligned, hipDrvMemcpy2DUnaligned_fn, pCopy) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvMemcpy3D, hipDrvMemcpy3D, hipDrvMemcpy3D_fn, pCopy) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvMemcpy3DAsync, hipDrvMemcpy3DAsync, hipDrvMemcpy3DAsync_fn, pCopy, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvPointerGetAttributes, hipDrvPointerGetAttributes, hipDrvPointerGetAttributes_fn, numAttributes, attributes, data, ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipEventCreate, hipEventCreate, hipEventCreate_fn, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipEventCreateWithFlags, hipEventCreateWithFlags, hipEventCreateWithFlags_fn, event, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipEventDestroy, hipEventDestroy, hipEventDestroy_fn, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipEventElapsedTime, hipEventElapsedTime, hipEventElapsedTime_fn, ms, start, stop) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipEventQuery, hipEventQuery, hipEventQuery_fn, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipEventRecord, hipEventRecord, hipEventRecord_fn, event, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipEventSynchronize, hipEventSynchronize, hipEventSynchronize_fn, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipExtGetLinkTypeAndHopCount, hipExtGetLinkTypeAndHopCount, hipExtGetLinkTypeAndHopCount_fn, device1, device2, linktype, hopcount) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipExtLaunchKernel, hipExtLaunchKernel, hipExtLaunchKernel_fn, function_address, numBlocks, dimBlocks, args, sharedMemBytes, stream, startEvent, stopEvent, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipExtLaunchMultiKernelMultiDevice, hipExtLaunchMultiKernelMultiDevice, hipExtLaunchMultiKernelMultiDevice_fn, launchParamsList, numDevices, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipExtMallocWithFlags, hipExtMallocWithFlags, hipExtMallocWithFlags_fn, ptr, sizeBytes, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipExtStreamCreateWithCUMask, hipExtStreamCreateWithCUMask, hipExtStreamCreateWithCUMask_fn, stream, cuMaskSize, cuMask) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipExtStreamGetCUMask, hipExtStreamGetCUMask, hipExtStreamGetCUMask_fn, stream, cuMaskSize, cuMask) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipExternalMemoryGetMappedBuffer, hipExternalMemoryGetMappedBuffer, hipExternalMemoryGetMappedBuffer_fn, devPtr, extMem, bufferDesc) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFree, hipFree, hipFree_fn, ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFreeArray, hipFreeArray, hipFreeArray_fn, array) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFreeAsync, hipFreeAsync, hipFreeAsync_fn, dev_ptr, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFreeHost, hipFreeHost, hipFreeHost_fn, ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFreeMipmappedArray, hipFreeMipmappedArray, hipFreeMipmappedArray_fn, mipmappedArray) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncGetAttribute, hipFuncGetAttribute, hipFuncGetAttribute_fn, value, attrib, hfunc) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncGetAttributes, hipFuncGetAttributes, hipFuncGetAttributes_fn, attr, func) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncSetAttribute, hipFuncSetAttribute, hipFuncSetAttribute_fn, func, attr, value) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncSetCacheConfig, hipFuncSetCacheConfig, hipFuncSetCacheConfig_fn, func, config) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipFuncSetSharedMemConfig, hipFuncSetSharedMemConfig, hipFuncSetSharedMemConfig_fn, func, config) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGLGetDevices, hipGLGetDevices, hipGLGetDevices_fn, pHipDeviceCount, pHipDevices, hipDeviceCount, deviceList) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetChannelDesc, hipGetChannelDesc, hipGetChannelDesc_fn, desc, array) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDevice, hipGetDevice, hipGetDevice_fn, deviceId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDeviceCount, hipGetDeviceCount, hipGetDeviceCount_fn, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDeviceFlags, hipGetDeviceFlags, hipGetDeviceFlags_fn, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDevicePropertiesR0600, hipGetDevicePropertiesR0600, hipGetDevicePropertiesR0600_fn, prop, deviceId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetDevicePropertiesR0000, hipGetDevicePropertiesR0000, hipGetDevicePropertiesR0000_fn, prop, deviceId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetErrorName, hipGetErrorName, hipGetErrorName_fn, hip_error) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetErrorString, hipGetErrorString, hipGetErrorString_fn, hipError) +HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetLastError, hipGetLastError, hipGetLastError_fn) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetMipmappedArrayLevel, hipGetMipmappedArrayLevel, hipGetMipmappedArrayLevel_fn, levelArray, mipmappedArray, level) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetSymbolAddress, hipGetSymbolAddress, hipGetSymbolAddress_fn, devPtr, symbol) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetSymbolSize, hipGetSymbolSize, hipGetSymbolSize_fn, size, symbol) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureAlignmentOffset, hipGetTextureAlignmentOffset, hipGetTextureAlignmentOffset_fn, offset, texref) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureObjectResourceDesc, hipGetTextureObjectResourceDesc, hipGetTextureObjectResourceDesc_fn, pResDesc, textureObject) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureObjectResourceViewDesc, hipGetTextureObjectResourceViewDesc, hipGetTextureObjectResourceViewDesc_fn, pResViewDesc, textureObject) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureObjectTextureDesc, hipGetTextureObjectTextureDesc, hipGetTextureObjectTextureDesc_fn, pTexDesc, textureObject) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetTextureReference, hipGetTextureReference, hipGetTextureReference_fn, texref, symbol) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddChildGraphNode, hipGraphAddChildGraphNode, hipGraphAddChildGraphNode_fn, pGraphNode, graph, pDependencies, numDependencies, childGraph) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddDependencies, hipGraphAddDependencies, hipGraphAddDependencies_fn, graph, from, to, numDependencies) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddEmptyNode, hipGraphAddEmptyNode, hipGraphAddEmptyNode_fn, pGraphNode, graph, pDependencies, numDependencies) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddEventRecordNode, hipGraphAddEventRecordNode, hipGraphAddEventRecordNode_fn, pGraphNode, graph, pDependencies, numDependencies, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddEventWaitNode, hipGraphAddEventWaitNode, hipGraphAddEventWaitNode_fn, pGraphNode, graph, pDependencies, numDependencies, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddHostNode, hipGraphAddHostNode, hipGraphAddHostNode_fn, pGraphNode, graph, pDependencies, numDependencies, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddKernelNode, hipGraphAddKernelNode, hipGraphAddKernelNode_fn, pGraphNode, graph, pDependencies, numDependencies, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemAllocNode, hipGraphAddMemAllocNode, hipGraphAddMemAllocNode_fn, pGraphNode, graph, pDependencies, numDependencies, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemFreeNode, hipGraphAddMemFreeNode, hipGraphAddMemFreeNode_fn, pGraphNode, graph, pDependencies, numDependencies, dev_ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemcpyNode, hipGraphAddMemcpyNode, hipGraphAddMemcpyNode_fn, pGraphNode, graph, pDependencies, numDependencies, pCopyParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemcpyNode1D, hipGraphAddMemcpyNode1D, hipGraphAddMemcpyNode1D_fn, pGraphNode, graph, pDependencies, numDependencies, dst, src, count, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemcpyNodeFromSymbol, hipGraphAddMemcpyNodeFromSymbol, hipGraphAddMemcpyNodeFromSymbol_fn, pGraphNode, graph, pDependencies, numDependencies, dst, symbol, count, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemcpyNodeToSymbol, hipGraphAddMemcpyNodeToSymbol, hipGraphAddMemcpyNodeToSymbol_fn, pGraphNode, graph, pDependencies, numDependencies, symbol, src, count, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddMemsetNode, hipGraphAddMemsetNode, hipGraphAddMemsetNode_fn, pGraphNode, graph, pDependencies, numDependencies, pMemsetParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphChildGraphNodeGetGraph, hipGraphChildGraphNodeGetGraph, hipGraphChildGraphNodeGetGraph_fn, node, pGraph) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphClone, hipGraphClone, hipGraphClone_fn, pGraphClone, originalGraph) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphCreate, hipGraphCreate, hipGraphCreate_fn, pGraph, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphDebugDotPrint, hipGraphDebugDotPrint, hipGraphDebugDotPrint_fn, graph, path, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphDestroy, hipGraphDestroy, hipGraphDestroy_fn, graph) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphDestroyNode, hipGraphDestroyNode, hipGraphDestroyNode_fn, node) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphEventRecordNodeGetEvent, hipGraphEventRecordNodeGetEvent, hipGraphEventRecordNodeGetEvent_fn, node, event_out) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphEventRecordNodeSetEvent, hipGraphEventRecordNodeSetEvent, hipGraphEventRecordNodeSetEvent_fn, node, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphEventWaitNodeGetEvent, hipGraphEventWaitNodeGetEvent, hipGraphEventWaitNodeGetEvent_fn, node, event_out) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphEventWaitNodeSetEvent, hipGraphEventWaitNodeSetEvent, hipGraphEventWaitNodeSetEvent_fn, node, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecChildGraphNodeSetParams, hipGraphExecChildGraphNodeSetParams, hipGraphExecChildGraphNodeSetParams_fn, hGraphExec, node, childGraph) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecDestroy, hipGraphExecDestroy, hipGraphExecDestroy_fn, graphExec) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecEventRecordNodeSetEvent, hipGraphExecEventRecordNodeSetEvent, hipGraphExecEventRecordNodeSetEvent_fn, hGraphExec, hNode, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecEventWaitNodeSetEvent, hipGraphExecEventWaitNodeSetEvent, hipGraphExecEventWaitNodeSetEvent_fn, hGraphExec, hNode, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecHostNodeSetParams, hipGraphExecHostNodeSetParams, hipGraphExecHostNodeSetParams_fn, hGraphExec, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecKernelNodeSetParams, hipGraphExecKernelNodeSetParams, hipGraphExecKernelNodeSetParams_fn, hGraphExec, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemcpyNodeSetParams, hipGraphExecMemcpyNodeSetParams, hipGraphExecMemcpyNodeSetParams_fn, hGraphExec, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemcpyNodeSetParams1D, hipGraphExecMemcpyNodeSetParams1D, hipGraphExecMemcpyNodeSetParams1D_fn, hGraphExec, node, dst, src, count, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemcpyNodeSetParamsFromSymbol, hipGraphExecMemcpyNodeSetParamsFromSymbol, hipGraphExecMemcpyNodeSetParamsFromSymbol_fn, hGraphExec, node, dst, symbol, count, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemcpyNodeSetParamsToSymbol, hipGraphExecMemcpyNodeSetParamsToSymbol, hipGraphExecMemcpyNodeSetParamsToSymbol_fn, hGraphExec, node, symbol, src, count, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecMemsetNodeSetParams, hipGraphExecMemsetNodeSetParams, hipGraphExecMemsetNodeSetParams_fn, hGraphExec, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecUpdate, hipGraphExecUpdate, hipGraphExecUpdate_fn, hGraphExec, hGraph, hErrorNode_out, updateResult_out) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphGetEdges, hipGraphGetEdges, hipGraphGetEdges_fn, graph, from, to, numEdges) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphGetNodes, hipGraphGetNodes, hipGraphGetNodes_fn, graph, nodes, numNodes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphGetRootNodes, hipGraphGetRootNodes, hipGraphGetRootNodes_fn, graph, pRootNodes, pNumRootNodes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphHostNodeGetParams, hipGraphHostNodeGetParams, hipGraphHostNodeGetParams_fn, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphHostNodeSetParams, hipGraphHostNodeSetParams, hipGraphHostNodeSetParams_fn, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphInstantiate, hipGraphInstantiate, hipGraphInstantiate_fn, pGraphExec, graph, pErrorNode, pLogBuffer, bufferSize) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphInstantiateWithFlags, hipGraphInstantiateWithFlags, hipGraphInstantiateWithFlags_fn, pGraphExec, graph, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeCopyAttributes, hipGraphKernelNodeCopyAttributes, hipGraphKernelNodeCopyAttributes_fn, hSrc, hDst) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeGetAttribute, hipGraphKernelNodeGetAttribute, hipGraphKernelNodeGetAttribute_fn, hNode, attr, value) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeGetParams, hipGraphKernelNodeGetParams, hipGraphKernelNodeGetParams_fn, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeSetAttribute, hipGraphKernelNodeSetAttribute, hipGraphKernelNodeSetAttribute_fn, hNode, attr, value) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphKernelNodeSetParams, hipGraphKernelNodeSetParams, hipGraphKernelNodeSetParams_fn, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphLaunch, hipGraphLaunch, hipGraphLaunch_fn, graphExec, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemAllocNodeGetParams, hipGraphMemAllocNodeGetParams, hipGraphMemAllocNodeGetParams_fn, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemFreeNodeGetParams, hipGraphMemFreeNodeGetParams, hipGraphMemFreeNodeGetParams_fn, node, dev_ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeGetParams, hipGraphMemcpyNodeGetParams, hipGraphMemcpyNodeGetParams_fn, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeSetParams, hipGraphMemcpyNodeSetParams, hipGraphMemcpyNodeSetParams_fn, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeSetParams1D, hipGraphMemcpyNodeSetParams1D, hipGraphMemcpyNodeSetParams1D_fn, node, dst, src, count, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeSetParamsFromSymbol, hipGraphMemcpyNodeSetParamsFromSymbol, hipGraphMemcpyNodeSetParamsFromSymbol_fn, node, dst, symbol, count, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemcpyNodeSetParamsToSymbol, hipGraphMemcpyNodeSetParamsToSymbol, hipGraphMemcpyNodeSetParamsToSymbol_fn, node, symbol, src, count, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemsetNodeGetParams, hipGraphMemsetNodeGetParams, hipGraphMemsetNodeGetParams_fn, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphMemsetNodeSetParams, hipGraphMemsetNodeSetParams, hipGraphMemsetNodeSetParams_fn, node, pNodeParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeFindInClone, hipGraphNodeFindInClone, hipGraphNodeFindInClone_fn, pNode, originalNode, clonedGraph) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeGetDependencies, hipGraphNodeGetDependencies, hipGraphNodeGetDependencies_fn, node, pDependencies, pNumDependencies) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeGetDependentNodes, hipGraphNodeGetDependentNodes, hipGraphNodeGetDependentNodes_fn, node, pDependentNodes, pNumDependentNodes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeGetEnabled, hipGraphNodeGetEnabled, hipGraphNodeGetEnabled_fn, hGraphExec, hNode, isEnabled) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeGetType, hipGraphNodeGetType, hipGraphNodeGetType_fn, node, pType) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphNodeSetEnabled, hipGraphNodeSetEnabled, hipGraphNodeSetEnabled_fn, hGraphExec, hNode, isEnabled) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphReleaseUserObject, hipGraphReleaseUserObject, hipGraphReleaseUserObject_fn, graph, object, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphRemoveDependencies, hipGraphRemoveDependencies, hipGraphRemoveDependencies_fn, graph, from, to, numDependencies) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphRetainUserObject, hipGraphRetainUserObject, hipGraphRetainUserObject_fn, graph, object, count, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphUpload, hipGraphUpload, hipGraphUpload_fn, graphExec, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsGLRegisterBuffer, hipGraphicsGLRegisterBuffer, hipGraphicsGLRegisterBuffer_fn, resource, buffer, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsGLRegisterImage, hipGraphicsGLRegisterImage, hipGraphicsGLRegisterImage_fn, resource, image, target, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsMapResources, hipGraphicsMapResources, hipGraphicsMapResources_fn, count, resources, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsResourceGetMappedPointer, hipGraphicsResourceGetMappedPointer, hipGraphicsResourceGetMappedPointer_fn, devPtr, size, resource) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsSubResourceGetMappedArray, hipGraphicsSubResourceGetMappedArray, hipGraphicsSubResourceGetMappedArray_fn, array, resource, arrayIndex, mipLevel) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsUnmapResources, hipGraphicsUnmapResources, hipGraphicsUnmapResources_fn, count, resources, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphicsUnregisterResource, hipGraphicsUnregisterResource, hipGraphicsUnregisterResource_fn, resource) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipHostAlloc, hipHostAlloc, hipHostAlloc_fn, ptr, size, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipHostFree, hipHostFree, hipHostFree_fn, ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipHostGetDevicePointer, hipHostGetDevicePointer, hipHostGetDevicePointer_fn, devPtr, hstPtr, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipHostGetFlags, hipHostGetFlags, hipHostGetFlags_fn, flagsPtr, hostPtr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipHostMalloc, hipHostMalloc, hipHostMalloc_fn, ptr, size, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipHostRegister, hipHostRegister, hipHostRegister_fn, hostPtr, sizeBytes, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipHostUnregister, hipHostUnregister, hipHostUnregister_fn, hostPtr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipImportExternalMemory, hipImportExternalMemory, hipImportExternalMemory_fn, extMem_out, memHandleDesc) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipImportExternalSemaphore, hipImportExternalSemaphore, hipImportExternalSemaphore_fn, extSem_out, semHandleDesc) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipInit, hipInit, hipInit_fn, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcCloseMemHandle, hipIpcCloseMemHandle, hipIpcCloseMemHandle_fn, devPtr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcGetEventHandle, hipIpcGetEventHandle, hipIpcGetEventHandle_fn, handle, event) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcGetMemHandle, hipIpcGetMemHandle, hipIpcGetMemHandle_fn, handle, devPtr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcOpenEventHandle, hipIpcOpenEventHandle, hipIpcOpenEventHandle_fn, event, handle) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipIpcOpenMemHandle, hipIpcOpenMemHandle, hipIpcOpenMemHandle_fn, devPtr, handle, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipKernelNameRef, hipKernelNameRef, hipKernelNameRef_fn, f) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipKernelNameRefByPtr, hipKernelNameRefByPtr, hipKernelNameRefByPtr_fn, hostFunction, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchByPtr, hipLaunchByPtr, hipLaunchByPtr_fn, func) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchCooperativeKernel, hipLaunchCooperativeKernel, hipLaunchCooperativeKernel_fn, f, gridDim, blockDimX, kernelParams, sharedMemBytes, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchCooperativeKernelMultiDevice, hipLaunchCooperativeKernelMultiDevice, hipLaunchCooperativeKernelMultiDevice_fn, launchParamsList, numDevices, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchHostFunc, hipLaunchHostFunc, hipLaunchHostFunc_fn, stream, fn, userData) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchKernel, hipLaunchKernel, hipLaunchKernel_fn, function_address, numBlocks, dimBlocks, args, sharedMemBytes, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMalloc, hipMalloc, hipMalloc_fn, ptr, size) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMalloc3D, hipMalloc3D, hipMalloc3D_fn, pitchedDevPtr, extent) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMalloc3DArray, hipMalloc3DArray, hipMalloc3DArray_fn, array, desc, extent, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocArray, hipMallocArray, hipMallocArray_fn, array, desc, width, height, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocAsync, hipMallocAsync, hipMallocAsync_fn, dev_ptr, size, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocFromPoolAsync, hipMallocFromPoolAsync, hipMallocFromPoolAsync_fn, dev_ptr, size, mem_pool, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocHost, hipMallocHost, hipMallocHost_fn, ptr, size) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocManaged, hipMallocManaged, hipMallocManaged_fn, dev_ptr, size, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocMipmappedArray, hipMallocMipmappedArray, hipMallocMipmappedArray_fn, mipmappedArray, desc, extent, numLevels, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMallocPitch, hipMallocPitch, hipMallocPitch_fn, ptr, pitch, width, height) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAddressFree, hipMemAddressFree, hipMemAddressFree_fn, devPtr, size) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAddressReserve, hipMemAddressReserve, hipMemAddressReserve_fn, ptr, size, alignment, addr, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAdvise, hipMemAdvise, hipMemAdvise_fn, dev_ptr, count, advice, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAllocHost, hipMemAllocHost, hipMemAllocHost_fn, ptr, size) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemAllocPitch, hipMemAllocPitch, hipMemAllocPitch_fn, dptr, pitch, widthInBytes, height, elementSizeBytes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemCreate, hipMemCreate, hipMemCreate_fn, handle, size, prop, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemExportToShareableHandle, hipMemExportToShareableHandle, hipMemExportToShareableHandle_fn, shareableHandle, handle, handleType, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetAccess, hipMemGetAccess, hipMemGetAccess_fn, flags, location, ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetAddressRange, hipMemGetAddressRange, hipMemGetAddressRange_fn, pbase, psize, dptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetAllocationGranularity, hipMemGetAllocationGranularity, hipMemGetAllocationGranularity_fn, granularity, prop, option) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetAllocationPropertiesFromHandle, hipMemGetAllocationPropertiesFromHandle, hipMemGetAllocationPropertiesFromHandle_fn, prop, handle) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetInfo, hipMemGetInfo, hipMemGetInfo_fn, free, total) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemImportFromShareableHandle, hipMemImportFromShareableHandle, hipMemImportFromShareableHandle_fn, handle, osHandle, shHandleType) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemMap, hipMemMap, hipMemMap_fn, ptr, size, offset, handle, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemMapArrayAsync, hipMemMapArrayAsync, hipMemMapArrayAsync_fn, mapInfoList, count, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolCreate, hipMemPoolCreate, hipMemPoolCreate_fn, mem_pool, pool_props) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolDestroy, hipMemPoolDestroy, hipMemPoolDestroy_fn, mem_pool) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolExportPointer, hipMemPoolExportPointer, hipMemPoolExportPointer_fn, export_data, dev_ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolExportToShareableHandle, hipMemPoolExportToShareableHandle, hipMemPoolExportToShareableHandle_fn, shared_handle, mem_pool, handle_type, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolGetAccess, hipMemPoolGetAccess, hipMemPoolGetAccess_fn, flags, mem_pool, location) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolGetAttribute, hipMemPoolGetAttribute, hipMemPoolGetAttribute_fn, mem_pool, attr, value) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolImportFromShareableHandle, hipMemPoolImportFromShareableHandle, hipMemPoolImportFromShareableHandle_fn, mem_pool, shared_handle, handle_type, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolImportPointer, hipMemPoolImportPointer, hipMemPoolImportPointer_fn, dev_ptr, mem_pool, export_data) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolSetAccess, hipMemPoolSetAccess, hipMemPoolSetAccess_fn, mem_pool, desc_list, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolSetAttribute, hipMemPoolSetAttribute, hipMemPoolSetAttribute_fn, mem_pool, attr, value) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPoolTrimTo, hipMemPoolTrimTo, hipMemPoolTrimTo_fn, mem_pool, min_bytes_to_hold) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPrefetchAsync, hipMemPrefetchAsync, hipMemPrefetchAsync_fn, dev_ptr, count, device, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemPtrGetInfo, hipMemPtrGetInfo, hipMemPtrGetInfo_fn, ptr, size) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemRangeGetAttribute, hipMemRangeGetAttribute, hipMemRangeGetAttribute_fn, data, data_size, attribute, dev_ptr, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemRangeGetAttributes, hipMemRangeGetAttributes, hipMemRangeGetAttributes_fn, data, data_sizes, attributes, num_attributes, dev_ptr, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemRelease, hipMemRelease, hipMemRelease_fn, handle) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemRetainAllocationHandle, hipMemRetainAllocationHandle, hipMemRetainAllocationHandle_fn, handle, addr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemSetAccess, hipMemSetAccess, hipMemSetAccess_fn, ptr, size, desc, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemUnmap, hipMemUnmap, hipMemUnmap_fn, ptr, size) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy, hipMemcpy, hipMemcpy_fn, dst, src, sizeBytes, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2D, hipMemcpy2D, hipMemcpy2D_fn, dst, dpitch, src, spitch, width, height, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DAsync, hipMemcpy2DAsync, hipMemcpy2DAsync_fn, dst, dpitch, src, spitch, width, height, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DFromArray, hipMemcpy2DFromArray, hipMemcpy2DFromArray_fn, dst, dpitch, src, wOffset, hOffset, width, height, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpy2DFromArrayAsync_fn, dst, dpitch, src, wOffset, hOffset, width, height, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DToArray, hipMemcpy2DToArray, hipMemcpy2DToArray_fn, dst, wOffset, hOffset, src, spitch, width, height, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpy2DToArrayAsync_fn, dst, wOffset, hOffset, src, spitch, width, height, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy3D, hipMemcpy3D, hipMemcpy3D_fn, p) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy3DAsync, hipMemcpy3DAsync, hipMemcpy3DAsync_fn, p, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyAsync, hipMemcpyAsync, hipMemcpyAsync_fn, dst, src, sizeBytes, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyAtoH, hipMemcpyAtoH, hipMemcpyAtoH_fn, dst, srcArray, srcOffset, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyDtoD, hipMemcpyDtoD, hipMemcpyDtoD_fn, dst, src, sizeBytes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyDtoDAsync, hipMemcpyDtoDAsync, hipMemcpyDtoDAsync_fn, dst, src, sizeBytes, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyDtoH, hipMemcpyDtoH, hipMemcpyDtoH_fn, dst, src, sizeBytes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyDtoHAsync, hipMemcpyDtoHAsync, hipMemcpyDtoHAsync_fn, dst, src, sizeBytes, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromArray, hipMemcpyFromArray, hipMemcpyFromArray_fn, dst, srcArray, wOffset, hOffset, count, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromSymbol, hipMemcpyFromSymbol, hipMemcpyFromSymbol_fn, dst, symbol, sizeBytes, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromSymbolAsync, hipMemcpyFromSymbolAsync, hipMemcpyFromSymbolAsync_fn, dst, symbol, sizeBytes, offset, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyHtoA, hipMemcpyHtoA, hipMemcpyHtoA_fn, dstArray, dstOffset, srcHost, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyHtoD, hipMemcpyHtoD, hipMemcpyHtoD_fn, dst, src, sizeBytes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyHtoDAsync, hipMemcpyHtoDAsync, hipMemcpyHtoDAsync_fn, dst, src, sizeBytes, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyParam2D, hipMemcpyParam2D, hipMemcpyParam2D_fn, pCopy) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyParam2DAsync, hipMemcpyParam2DAsync, hipMemcpyParam2DAsync_fn, pCopy, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyPeer, hipMemcpyPeer, hipMemcpyPeer_fn, dst, dstDeviceId, src, srcDeviceId, sizeBytes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyPeerAsync, hipMemcpyPeerAsync, hipMemcpyPeerAsync_fn, dst, dstDeviceId, src, srcDevice, sizeBytes, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToArray, hipMemcpyToArray, hipMemcpyToArray_fn, dst, wOffset, hOffset, src, count, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToSymbol, hipMemcpyToSymbol, hipMemcpyToSymbol_fn, symbol, src, sizeBytes, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToSymbolAsync, hipMemcpyToSymbolAsync, hipMemcpyToSymbolAsync_fn, symbol, src, sizeBytes, offset, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyWithStream, hipMemcpyWithStream, hipMemcpyWithStream_fn, dst, src, sizeBytes, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset, hipMemset, hipMemset_fn, dst, value, sizeBytes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset2D, hipMemset2D, hipMemset2D_fn, dst, pitch, value, width, height) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset2DAsync, hipMemset2DAsync, hipMemset2DAsync_fn, dst, pitch, value, width, height, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset3D, hipMemset3D, hipMemset3D_fn, pitchedDevPtr, value, extent) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset3DAsync, hipMemset3DAsync, hipMemset3DAsync_fn, pitchedDevPtr, value, extent, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetAsync, hipMemsetAsync, hipMemsetAsync_fn, dst, value, sizeBytes, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD16, hipMemsetD16, hipMemsetD16_fn, dest, value, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD16Async, hipMemsetD16Async, hipMemsetD16Async_fn, dest, value, count, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD32, hipMemsetD32, hipMemsetD32_fn, dest, value, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD32Async, hipMemsetD32Async, hipMemsetD32Async_fn, dst, value, count, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD8, hipMemsetD8, hipMemsetD8_fn, dest, value, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetD8Async, hipMemsetD8Async, hipMemsetD8Async_fn, dest, value, count, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMipmappedArrayCreate, hipMipmappedArrayCreate, hipMipmappedArrayCreate_fn, pHandle, pMipmappedArrayDesc, numMipmapLevels) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMipmappedArrayDestroy, hipMipmappedArrayDestroy, hipMipmappedArrayDestroy_fn, hMipmappedArray) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMipmappedArrayGetLevel, hipMipmappedArrayGetLevel, hipMipmappedArrayGetLevel_fn, pLevelArray, hMipMappedArray, level) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleGetFunction, hipModuleGetFunction, hipModuleGetFunction_fn, function, module, kname) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleGetGlobal, hipModuleGetGlobal, hipModuleGetGlobal_fn, dptr, bytes, hmod, name) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleGetTexRef, hipModuleGetTexRef, hipModuleGetTexRef_fn, texRef, hmod, name) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLaunchCooperativeKernel, hipModuleLaunchCooperativeKernel, hipModuleLaunchCooperativeKernel_fn, f, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, stream, kernelParams) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLaunchCooperativeKernelMultiDevice, hipModuleLaunchCooperativeKernelMultiDevice, hipModuleLaunchCooperativeKernelMultiDevice_fn, launchParamsList, numDevices, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLaunchKernel, hipModuleLaunchKernel, hipModuleLaunchKernel_fn, f, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, stream, kernelParams, extra) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLoad, hipModuleLoad, hipModuleLoad_fn, module, fname) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLoadData, hipModuleLoadData, hipModuleLoadData_fn, module, image) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLoadDataEx, hipModuleLoadDataEx, hipModuleLoadDataEx_fn, module, image, numOptions, options, optionValues) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessor, hipModuleOccupancyMaxActiveBlocksPerMultiprocessor, hipModuleOccupancyMaxActiveBlocksPerMultiprocessor_fn, numBlocks, f, blockSize, dynSharedMemPerBlk) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_fn, numBlocks, f, blockSize, dynSharedMemPerBlk, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxPotentialBlockSize, hipModuleOccupancyMaxPotentialBlockSize, hipModuleOccupancyMaxPotentialBlockSize_fn, gridSize, blockSize, f, dynSharedMemPerBlk, blockSizeLimit) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxPotentialBlockSizeWithFlags, hipModuleOccupancyMaxPotentialBlockSizeWithFlags, hipModuleOccupancyMaxPotentialBlockSizeWithFlags_fn, gridSize, blockSize, f, dynSharedMemPerBlk, blockSizeLimit, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleUnload, hipModuleUnload, hipModuleUnload_fn, module) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessor, hipOccupancyMaxActiveBlocksPerMultiprocessor, hipOccupancyMaxActiveBlocksPerMultiprocessor_fn, numBlocks, f, blockSize, dynSharedMemPerBlk) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags_fn, numBlocks, f, blockSize, dynSharedMemPerBlk, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxPotentialBlockSize, hipOccupancyMaxPotentialBlockSize, hipOccupancyMaxPotentialBlockSize_fn, gridSize, blockSize, f, dynSharedMemPerBlk, blockSizeLimit) +HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipPeekAtLastError, hipPeekAtLastError, hipPeekAtLastError_fn) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipPointerGetAttribute, hipPointerGetAttribute, hipPointerGetAttribute_fn, data, attribute, ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipPointerGetAttributes, hipPointerGetAttributes, hipPointerGetAttributes_fn, attributes, ptr) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipPointerSetAttribute, hipPointerSetAttribute, hipPointerSetAttribute_fn, value, attribute, ptr) +HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipProfilerStart, hipProfilerStart, hipProfilerStart_fn) +HIP_API_INFO_DEFINITION_0(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipProfilerStop, hipProfilerStop, hipProfilerStop_fn) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipRuntimeGetVersion, hipRuntimeGetVersion, hipRuntimeGetVersion_fn, runtimeVersion) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipSetDevice, hipSetDevice, hipSetDevice_fn, deviceId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipSetDeviceFlags, hipSetDeviceFlags, hipSetDeviceFlags_fn, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipSetupArgument, hipSetupArgument, hipSetupArgument_fn, arg, size, offset) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipSignalExternalSemaphoresAsync, hipSignalExternalSemaphoresAsync, hipSignalExternalSemaphoresAsync_fn, extSemArray, paramsArray, numExtSems, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamAddCallback, hipStreamAddCallback, hipStreamAddCallback_fn, stream, callback, userData, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamAttachMemAsync, hipStreamAttachMemAsync, hipStreamAttachMemAsync_fn, stream, dev_ptr, length, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamBeginCapture, hipStreamBeginCapture, hipStreamBeginCapture_fn, stream, mode) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamCreate, hipStreamCreate, hipStreamCreate_fn, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamCreateWithFlags, hipStreamCreateWithFlags, hipStreamCreateWithFlags_fn, stream, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamCreateWithPriority, hipStreamCreateWithPriority, hipStreamCreateWithPriority_fn, stream, flags, priority) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamDestroy, hipStreamDestroy, hipStreamDestroy_fn, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamEndCapture, hipStreamEndCapture, hipStreamEndCapture_fn, stream, pGraph) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetCaptureInfo, hipStreamGetCaptureInfo, hipStreamGetCaptureInfo_fn, stream, pCaptureStatus, pId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetCaptureInfo_v2, hipStreamGetCaptureInfo_v2, hipStreamGetCaptureInfo_v2_fn, stream, captureStatus_out, id_out, graph_out, dependencies_out, numDependencies_out) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetDevice, hipStreamGetDevice, hipStreamGetDevice_fn, stream, device) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetFlags, hipStreamGetFlags, hipStreamGetFlags_fn, stream, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetPriority, hipStreamGetPriority, hipStreamGetPriority_fn, stream, priority) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamIsCapturing, hipStreamIsCapturing, hipStreamIsCapturing_fn, stream, pCaptureStatus) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamQuery, hipStreamQuery, hipStreamQuery_fn, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamSynchronize, hipStreamSynchronize, hipStreamSynchronize_fn, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamUpdateCaptureDependencies, hipStreamUpdateCaptureDependencies, hipStreamUpdateCaptureDependencies_fn, stream, dependencies, numDependencies, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWaitEvent, hipStreamWaitEvent, hipStreamWaitEvent_fn, stream, event, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWaitValue32, hipStreamWaitValue32, hipStreamWaitValue32_fn, stream, ptr, value, flags, mask) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWaitValue64, hipStreamWaitValue64, hipStreamWaitValue64_fn, stream, ptr, value, flags, mask) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWriteValue32, hipStreamWriteValue32, hipStreamWriteValue32_fn, stream, ptr, value, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWriteValue64, hipStreamWriteValue64, hipStreamWriteValue64_fn, stream, ptr, value, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectCreate, hipTexObjectCreate, hipTexObjectCreate_fn, pTexObject, pResDesc, pTexDesc, pResViewDesc) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectDestroy, hipTexObjectDestroy, hipTexObjectDestroy_fn, texObject) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectGetResourceDesc, hipTexObjectGetResourceDesc, hipTexObjectGetResourceDesc_fn, pResDesc, texObject) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectGetResourceViewDesc, hipTexObjectGetResourceViewDesc, hipTexObjectGetResourceViewDesc_fn, pResViewDesc, texObject) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexObjectGetTextureDesc, hipTexObjectGetTextureDesc, hipTexObjectGetTextureDesc_fn, pTexDesc, texObject) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetAddress, hipTexRefGetAddress, hipTexRefGetAddress_fn, dev_ptr, texRef) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetAddressMode, hipTexRefGetAddressMode, hipTexRefGetAddressMode_fn, pam, texRef, dim) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetFilterMode, hipTexRefGetFilterMode, hipTexRefGetFilterMode_fn, pfm, texRef) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetFlags, hipTexRefGetFlags, hipTexRefGetFlags_fn, pFlags, texRef) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetFormat, hipTexRefGetFormat, hipTexRefGetFormat_fn, pFormat, pNumChannels, texRef) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMaxAnisotropy, hipTexRefGetMaxAnisotropy, hipTexRefGetMaxAnisotropy_fn, pmaxAnsio, texRef) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMipMappedArray, hipTexRefGetMipMappedArray, hipTexRefGetMipMappedArray_fn, pArray, texRef) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMipmapFilterMode, hipTexRefGetMipmapFilterMode, hipTexRefGetMipmapFilterMode_fn, pfm, texRef) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMipmapLevelBias, hipTexRefGetMipmapLevelBias, hipTexRefGetMipmapLevelBias_fn, pbias, texRef) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefGetMipmapLevelClamp, hipTexRefGetMipmapLevelClamp, hipTexRefGetMipmapLevelClamp_fn, pminMipmapLevelClamp, pmaxMipmapLevelClamp, texRef) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetAddress, hipTexRefSetAddress, hipTexRefSetAddress_fn, ByteOffset, texRef, dptr, bytes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetAddress2D, hipTexRefSetAddress2D, hipTexRefSetAddress2D_fn, texRef, desc, dptr, Pitch) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetAddressMode, hipTexRefSetAddressMode, hipTexRefSetAddressMode_fn, texRef, dim, am) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetArray, hipTexRefSetArray, hipTexRefSetArray_fn, tex, array, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetBorderColor, hipTexRefSetBorderColor, hipTexRefSetBorderColor_fn, texRef, pBorderColor) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetFilterMode, hipTexRefSetFilterMode, hipTexRefSetFilterMode_fn, texRef, fm) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetFlags, hipTexRefSetFlags, hipTexRefSetFlags_fn, texRef, Flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetFormat, hipTexRefSetFormat, hipTexRefSetFormat_fn, texRef, fmt, NumPackedComponents) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMaxAnisotropy, hipTexRefSetMaxAnisotropy, hipTexRefSetMaxAnisotropy_fn, texRef, maxAniso) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMipmapFilterMode, hipTexRefSetMipmapFilterMode, hipTexRefSetMipmapFilterMode_fn, texRef, fm) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMipmapLevelBias, hipTexRefSetMipmapLevelBias, hipTexRefSetMipmapLevelBias_fn, texRef, bias) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMipmapLevelClamp, hipTexRefSetMipmapLevelClamp, hipTexRefSetMipmapLevelClamp_fn, texRef, minMipMapLevelClamp, maxMipMapLevelClamp) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipTexRefSetMipmappedArray, hipTexRefSetMipmappedArray, hipTexRefSetMipmappedArray_fn, texRef, mipmappedArray, Flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipThreadExchangeStreamCaptureMode, hipThreadExchangeStreamCaptureMode, hipThreadExchangeStreamCaptureMode_fn, mode) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipUnbindTexture, hipUnbindTexture, hipUnbindTexture_fn, tex) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipUserObjectCreate, hipUserObjectCreate, hipUserObjectCreate_fn, object_out, ptr, destroy, initialRefcount, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipUserObjectRelease, hipUserObjectRelease, hipUserObjectRelease_fn, object, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipUserObjectRetain, hipUserObjectRetain, hipUserObjectRetain_fn, object, count) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipWaitExternalSemaphoresAsync, hipWaitExternalSemaphoresAsync, hipWaitExternalSemaphoresAsync_fn, extSemArray, paramsArray, numExtSems, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipCreateChannelDesc, hipCreateChannelDesc, hipCreateChannelDesc_fn, x, y, z, w, f) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipExtModuleLaunchKernel, hipExtModuleLaunchKernel, hipExtModuleLaunchKernel_fn, f, globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ, localWorkSizeX, localWorkSizeY, localWorkSizeZ, sharedMemBytes, hStream, kernelParams, extra, startEvent, stopEvent, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipHccModuleLaunchKernel, hipHccModuleLaunchKernel, hipHccModuleLaunchKernel_fn, f, globalWorkSizeX, globalWorkSizeY, globalWorkSizeZ, localWorkSizeX, localWorkSizeY, localWorkSizeZ, sharedMemBytes, hStream, kernelParams, extra, startEvent, stopEvent) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy_spt, hipMemcpy_spt, hipMemcpy_spt_fn, dst, src, sizeBytes, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToSymbol_spt, hipMemcpyToSymbol_spt, hipMemcpyToSymbol_spt_fn, symbol, src, sizeBytes, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromSymbol_spt, hipMemcpyFromSymbol_spt, hipMemcpyFromSymbol_spt_fn, dst, symbol, sizeBytes, offset, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2D_spt, hipMemcpy2D_spt, hipMemcpy2D_spt_fn, dst, dpitch, src, spitch, width, height, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DFromArray_spt, hipMemcpy2DFromArray_spt, hipMemcpy2DFromArray_spt_fn, dst, dpitch, src, wOffset, hOffset, width, height, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy3D_spt, hipMemcpy3D_spt, hipMemcpy3D_spt_fn, p) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset_spt, hipMemset_spt, hipMemset_spt_fn, dst, value, sizeBytes) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemsetAsync_spt, hipMemsetAsync_spt, hipMemsetAsync_spt_fn, dst, value, sizeBytes, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset2D_spt, hipMemset2D_spt, hipMemset2D_spt_fn, dst, pitch, value, width, height) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset2DAsync_spt, hipMemset2DAsync_spt, hipMemset2DAsync_spt_fn, dst, pitch, value, width, height, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset3DAsync_spt, hipMemset3DAsync_spt, hipMemset3DAsync_spt_fn, pitchedDevPtr, value, extent, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemset3D_spt, hipMemset3D_spt, hipMemset3D_spt_fn, pitchedDevPtr, value, extent) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyAsync_spt, hipMemcpyAsync_spt, hipMemcpyAsync_spt_fn, dst, src, sizeBytes, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy3DAsync_spt, hipMemcpy3DAsync_spt, hipMemcpy3DAsync_spt_fn, p, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DAsync_spt, hipMemcpy2DAsync_spt, hipMemcpy2DAsync_spt_fn, dst, dpitch, src, spitch, width, height, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromSymbolAsync_spt, hipMemcpyFromSymbolAsync_spt, hipMemcpyFromSymbolAsync_spt_fn, dst, symbol, sizeBytes, offset, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyToSymbolAsync_spt, hipMemcpyToSymbolAsync_spt, hipMemcpyToSymbolAsync_spt_fn, symbol, src, sizeBytes, offset, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpyFromArray_spt, hipMemcpyFromArray_spt, hipMemcpyFromArray_spt_fn, dst, src, wOffsetSrc, hOffset, count, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DToArray_spt, hipMemcpy2DToArray_spt, hipMemcpy2DToArray_spt_fn, dst, wOffset, hOffset, src, spitch, width, height, kind) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DFromArrayAsync_spt, hipMemcpy2DFromArrayAsync_spt, hipMemcpy2DFromArrayAsync_spt_fn, dst, dpitch, src, wOffsetSrc, hOffsetSrc, width, height, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipMemcpy2DToArrayAsync_spt, hipMemcpy2DToArrayAsync_spt, hipMemcpy2DToArrayAsync_spt_fn, dst, wOffset, hOffset, src, spitch, width, height, kind, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamQuery_spt, hipStreamQuery_spt, hipStreamQuery_spt_fn, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamSynchronize_spt, hipStreamSynchronize_spt, hipStreamSynchronize_spt_fn, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetPriority_spt, hipStreamGetPriority_spt, hipStreamGetPriority_spt_fn, stream, priority) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamWaitEvent_spt, hipStreamWaitEvent_spt, hipStreamWaitEvent_spt_fn, stream, event, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetFlags_spt, hipStreamGetFlags_spt, hipStreamGetFlags_spt_fn, stream, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamAddCallback_spt, hipStreamAddCallback_spt, hipStreamAddCallback_spt_fn, stream, callback, userData, flags) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipEventRecord_spt, hipEventRecord_spt, hipEventRecord_spt_fn, event, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchCooperativeKernel_spt, hipLaunchCooperativeKernel_spt, hipLaunchCooperativeKernel_spt_fn, f, gridDim, blockDim, kernelParams, sharedMemBytes, hStream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchKernel_spt, hipLaunchKernel_spt, hipLaunchKernel_spt_fn, function_address, numBlocks, dimBlocks, args, sharedMemBytes, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphLaunch_spt, hipGraphLaunch_spt, hipGraphLaunch_spt_fn, graphExec, stream) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamBeginCapture_spt, hipStreamBeginCapture_spt, hipStreamBeginCapture_spt_fn, stream, mode) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamEndCapture_spt, hipStreamEndCapture_spt, hipStreamEndCapture_spt_fn, stream, pGraph) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamIsCapturing_spt, hipStreamIsCapturing_spt, hipStreamIsCapturing_spt_fn, stream, pCaptureStatus) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetCaptureInfo_spt, hipStreamGetCaptureInfo_spt, hipStreamGetCaptureInfo_spt_fn, stream, pCaptureStatus, pId) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamGetCaptureInfo_v2_spt, hipStreamGetCaptureInfo_v2_spt, hipStreamGetCaptureInfo_v2_spt_fn, stream, captureStatus_out, id_out, graph_out, dependencies_out, numDependencies_out) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchHostFunc_spt, hipLaunchHostFunc_spt, hipLaunchHostFunc_spt_fn, stream, fn, userData) +HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipGetStreamDeviceId, hipGetStreamDeviceId, hipGetStreamDeviceId_fn, stream) +// HIP_API_INFO_DEFINITION_V(ROCPROFILER_HIP_TABLE_ID_Runtime, ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvGraphAddMemsetNode, hipDrvGraphAddMemsetNode, hipDrvGraphAddMemsetNode_fn, phGraphNode, hGraph, dependencies, numDependencies, memsetParams, ctx) // clang-format on #else diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.hpp index 584305e0c7..223d7c2ac5 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hip/hip.hpp @@ -56,6 +56,9 @@ get_table(); template struct hip_table_lookup; +template +struct hip_table_id_lookup; + template struct hip_domain_info; @@ -83,12 +86,6 @@ template uint32_t id_by_name(const char* name); -void -iterate_args(uint32_t id, - const rocprofiler_callback_tracing_hip_api_data_t& data, - rocprofiler_callback_tracing_operation_args_cb_t callback, - void* user_data); - template std::vector get_names(); @@ -97,16 +94,19 @@ template std::vector get_ids(); +template void -copy_table(hip_compiler_api_table_t* _orig); +iterate_args(uint32_t id, + const rocprofiler_callback_tracing_hip_api_data_t& data, + rocprofiler_callback_tracing_operation_args_cb_t callback, + void* user_data); +template void -copy_table(hip_runtime_api_table_t* _orig); +copy_table(TableT* _orig); +template void -update_table(hip_compiler_api_table_t* _orig); - -void -update_table(hip_runtime_api_table_t* _orig); +update_table(TableT* _orig); } // namespace hip } // namespace rocprofiler diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/async_copy.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/async_copy.cpp index d1ce3e9651..d4c1fa66e9 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/async_copy.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/async_copy.cpp @@ -22,22 +22,25 @@ #include "lib/rocprofiler-sdk/hsa/async_copy.hpp" #include "lib/common/defines.hpp" -#include "lib/common/scope_destructor.hpp" #include "lib/common/static_object.hpp" #include "lib/common/utility.hpp" #include "lib/rocprofiler-sdk/agent.hpp" #include "lib/rocprofiler-sdk/buffer.hpp" #include "lib/rocprofiler-sdk/context/context.hpp" #include "lib/rocprofiler-sdk/hsa/details/ostream.hpp" +#include "lib/rocprofiler-sdk/hsa/hsa.hpp" #include "lib/rocprofiler-sdk/hsa/utils.hpp" -#include "rocprofiler-sdk/fwd.h" -#include "rocprofiler-sdk/hsa/api_id.h" + +#include +#include +#include #include #include #include #include +#include #define ROCP_HSA_TABLE_CALL(SEVERITY, EXPR) \ auto ROCPROFILER_VARIABLE(rocp_hsa_table_call_, __LINE__) = (EXPR); \ @@ -70,7 +73,7 @@ using context_t = context::context; using context_array_t = common::container::small_vector; using external_corr_id_map_t = std::unordered_map; -template +template struct async_copy_info; #define SPECIALIZE_ASYNC_COPY_INFO(DIRECTION) \ @@ -109,7 +112,7 @@ id_by_name(const char* name, std::index_sequence) if constexpr(sizeof...(IdxTail) > 0) return id_by_name(name, std::index_sequence{}); else - return ROCPROFILER_HSA_API_ID_NONE; + return ROCPROFILER_HSA_AMD_EXT_API_ID_NONE; } template @@ -117,7 +120,7 @@ void get_ids(std::vector& _id_list, std::index_sequence) { auto _emplace = [](auto& _vec, uint32_t _v) { - if(_v < ROCPROFILER_HSA_API_ID_LAST) _vec.emplace_back(_v); + if(_v < static_cast(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST)) _vec.emplace_back(_v); }; (_emplace(_id_list, async_copy_info::operation_idx), ...); @@ -231,8 +234,8 @@ async_copy_handler(hsa_signal_value_t signal_value, void* arg) auto record = rocprofiler_buffer_tracing_memory_copy_record_t{ sizeof(rocprofiler_buffer_tracing_memory_copy_record_t), ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, - _corr_id_v, _data->direction, + _corr_id_v, copy_time.start * sysclock_period, copy_time.end * sysclock_period, _data->dst_agent, @@ -279,16 +282,16 @@ async_copy_handler(hsa_signal_value_t signal_value, void* arg) enum async_copy_id { - async_copy_id = ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy, - async_copy_on_engine_id = ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_on_engine, - async_copy_rect_id = ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_rect, + async_copy_id = ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy, + async_copy_on_engine_id = ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy_on_engine, + async_copy_rect_id = ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy_rect, }; -template +template auto& get_next_dispatch() { - using function_t = typename hsa_api_meta::function_type; + using function_t = typename hsa_api_meta::function_type; static function_t _v = nullptr; return _v; } @@ -317,11 +320,11 @@ invoke(FuncT&& _func, ArgsT&& _args, std::index_sequence) return std::forward(_func)(std::get(_args)...); } -template +template hsa_status_t async_copy_impl(Args... args) { - using meta_type = hsa_api_meta; + using meta_type = hsa_api_meta; constexpr auto N = sizeof...(Args); @@ -331,8 +334,9 @@ async_copy_impl(Args... args) // no active contexts so just execute original if(ctxs.empty()) { - return invoke( - get_next_dispatch(), std::move(_tied_args), std::make_index_sequence{}); + return invoke(get_next_dispatch(), + std::move(_tied_args), + std::make_index_sequence{}); } // determine the direction of the memory copy @@ -341,8 +345,8 @@ async_copy_impl(Args... args) auto _dst_agent_id = rocprofiler_agent_id_t{}; { // indices in the tuple with references to the arguments - constexpr auto dst_agent_idx = arg_indices::dst_agent_idx; - constexpr auto src_agent_idx = arg_indices::src_agent_idx; + constexpr auto dst_agent_idx = arg_indices::dst_agent_idx; + constexpr auto src_agent_idx = arg_indices::src_agent_idx; // extract the completion signal argument and the destination hsa_agent_t auto _hsa_dst_agent = std::get(_tied_args); @@ -411,8 +415,9 @@ async_copy_impl(Args... args) // if no contexts remain, execute as usual if(ctxs.empty()) { - return invoke( - get_next_dispatch(), std::move(_tied_args), std::make_index_sequence{}); + return invoke(get_next_dispatch(), + std::move(_tied_args), + std::make_index_sequence{}); } // at this point, we want to install our own signal handler @@ -423,7 +428,7 @@ async_copy_impl(Args... args) _data->direction = _direction; _data->contexts = ctxs; // avoid using move in case code below accidentally uses ctxs - constexpr auto completion_signal_idx = arg_indices::completion_signal_idx; + constexpr auto completion_signal_idx = arg_indices::completion_signal_idx; auto& _completion_signal = std::get(_tied_args); const hsa_signal_value_t _completion_signal_val = get_core_table()->hsa_signal_load_scacquire_fn(_completion_signal); @@ -439,8 +444,9 @@ async_copy_impl(Args... args) LOG(ERROR) << "hsa_signal_create returned non-zero error code " << _status; delete _data; - return invoke( - get_next_dispatch(), std::move(_tied_args), std::make_index_sequence{}); + return invoke(get_next_dispatch(), + std::move(_tied_args), + std::make_index_sequence{}); } else { @@ -465,8 +471,9 @@ async_copy_impl(Args... args) get_active_signals()->fetch_sub(1); delete _data; - return invoke( - get_next_dispatch(), std::move(_tied_args), std::make_index_sequence{}); + return invoke(get_next_dispatch(), + std::move(_tied_args), + std::make_index_sequence{}); } } @@ -486,49 +493,67 @@ async_copy_impl(Args... args) _data->orig_signal = _completion_signal; _completion_signal = _data->rocp_signal; - return invoke(get_next_dispatch(), std::move(_tied_args), std::make_index_sequence{}); + return invoke( + get_next_dispatch(), std::move(_tied_args), std::make_index_sequence{}); } -template +template auto get_async_copy_impl(RetT (*)(Args...)) { - return &async_copy_impl; + return &async_copy_impl; } -template +template void -async_copy_save(hsa_api_table_t* _orig) +async_copy_save(hsa_amd_ext_table_t* _orig) { - auto _meta = hsa_api_meta{}; - auto& _table = _meta.get_table(_orig); - auto& _func = _meta.get_table_func(_table); - get_next_dispatch() = _func; + static_assert( + std::is_same::type>::value, + "unexpected type"); + + auto _meta = hsa_api_meta{}; + auto& _table = _meta.get_table(_orig); + auto& _func = _meta.get_table_func(_table); + get_next_dispatch() = _func; } -template +template void -async_copy_save(hsa_api_table_t* _orig, std::index_sequence) +async_copy_save(hsa_amd_ext_table_t* _orig, std::index_sequence) { - (async_copy_save(_orig), ...); + static_assert( + std::is_same::type>::value, + "unexpected type"); + + (async_copy_save(_orig), ...); } -template +template void -async_copy_wrap(hsa_api_table_t* _orig) +async_copy_wrap(hsa_amd_ext_table_t* _orig) { - auto _meta = hsa_api_meta{}; + static_assert( + std::is_same::type>::value, + "unexpected type"); + + auto _meta = hsa_api_meta{}; auto& _table = _meta.get_table(_orig); auto& _func = _meta.get_table_func(_table); - CHECK_NOTNULL(get_next_dispatch()); - _func = get_async_copy_impl(_func); + auto& _dispatch = get_next_dispatch(); + CHECK_NOTNULL(_dispatch); + _func = get_async_copy_impl(_func); } -template +template void -async_copy_wrap(hsa_api_table_t* _orig, std::index_sequence) +async_copy_wrap(hsa_amd_ext_table_t* _orig, std::index_sequence) { - (async_copy_wrap(_orig), ...); + static_assert( + std::is_same::type>::value, + "unexpected type"); + + (async_copy_wrap(_orig), ...); } using async_copy_index_seq_t = @@ -571,15 +596,17 @@ get_names() void async_copy_init(hsa_api_table_t* _orig) { - if(_orig) + if(_orig && _orig->amd_ext_) { - async_copy::async_copy_save(_orig, async_copy::async_copy_index_seq_t{}); + async_copy::async_copy_save( + _orig->amd_ext_, async_copy::async_copy_index_seq_t{}); auto ctxs = context::get_registered_contexts(async_copy::context_filter); if(!ctxs.empty()) { _orig->amd_ext_->hsa_amd_profiling_async_copy_enable_fn(true); - async_copy::async_copy_wrap(_orig, async_copy::async_copy_index_seq_t{}); + async_copy::async_copy_wrap( + _orig->amd_ext_, async_copy::async_copy_index_seq_t{}); } } } @@ -588,11 +615,25 @@ void async_copy_fini() { if(!async_copy::get_active_signals()) return; - while(async_copy::get_active_signals()->load() > 0) - { - std::this_thread::yield(); - std::this_thread::sleep_for(std::chrono::milliseconds{50}); - } + + // Potentially replace with condition variable at some point + // but performance may not matter here. + constexpr auto max_wait_time = std::chrono::milliseconds{1000}; + constexpr auto query_interval = std::chrono::milliseconds{10}; + auto _orig_active = async_copy::get_active_signals()->load(std::memory_order_relaxed); + auto _curr_active = _orig_active; + auto inactive = common::yield( + [&_curr_active]() { + return ((_curr_active = + async_copy::get_active_signals()->load(std::memory_order_relaxed)) == 0); + }, + max_wait_time, + query_interval); + + LOG_IF(WARNING, !inactive) + << "rocprofiler-sdk abandoned waiting for " << _orig_active + << " async copy signal callbacks after " << max_wait_time.count() << " msecs. There were " + << _curr_active << " async copy signal callbacks which were not delivered at that time."; } } // namespace hsa } // namespace rocprofiler diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/code_object.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/code_object.cpp index 15a30724f4..c620b7552b 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/code_object.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/code_object.cpp @@ -57,6 +57,113 @@ namespace rocprofiler { namespace hsa { +namespace code_object +{ +namespace +{ +using context_t = context::context; +using context_array_t = common::container::small_vector; +using external_corr_id_map_t = std::unordered_map; + +template +struct code_object_info; + +#define SPECIALIZE_CODE_OBJECT_INFO(OPERATION) \ + template <> \ + struct code_object_info \ + { \ + static constexpr auto operation_idx = \ + ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_##OPERATION; \ + static constexpr auto name = #OPERATION; \ + }; + +SPECIALIZE_CODE_OBJECT_INFO(NONE) +SPECIALIZE_CODE_OBJECT_INFO(LOAD) +SPECIALIZE_CODE_OBJECT_INFO(DEVICE_KERNEL_SYMBOL_REGISTER) + +#undef SPECIALIZE_CODE_OBJECT_INFO + +template +const char* +name_by_id(const uint32_t id, std::index_sequence) +{ + if(Idx == id) return code_object_info::name; + if constexpr(sizeof...(IdxTail) > 0) + return name_by_id(id, std::index_sequence{}); + else + return nullptr; +} + +template +uint32_t +id_by_name(const char* name, std::index_sequence) +{ + if(std::string_view{code_object_info::name} == std::string_view{name}) + return code_object_info::operation_idx; + if constexpr(sizeof...(IdxTail) > 0) + return id_by_name(name, std::index_sequence{}); + else + return ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_NONE; +} + +template +void +get_ids(std::vector& _id_list, std::index_sequence) +{ + auto _emplace = [](auto& _vec, uint32_t _v) { + if(_v < static_cast(ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_LAST)) + _vec.emplace_back(_v); + }; + + (_emplace(_id_list, code_object_info::operation_idx), ...); +} + +template +void +get_names(std::vector& _name_list, std::index_sequence) +{ + auto _emplace = [](auto& _vec, const char* _v) { + if(_v != nullptr && strnlen(_v, 1) > 0) _vec.emplace_back(_v); + }; + + (_emplace(_name_list, code_object_info::name), ...); +} +} // namespace + +// check out the assembly here... this compiles to a switch statement +const char* +name_by_id(uint32_t id) +{ + return name_by_id(id, + std::make_index_sequence{}); +} + +uint32_t +id_by_name(const char* name) +{ + return id_by_name(name, + std::make_index_sequence{}); +} + +std::vector +get_ids() +{ + auto _data = std::vector{}; + _data.reserve(ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_LAST); + get_ids(_data, std::make_index_sequence{}); + return _data; +} + +std::vector +get_names() +{ + auto _data = std::vector{}; + _data.reserve(ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_LAST); + get_names(_data, std::make_index_sequence{}); + return _data; +} +} // namespace code_object + namespace { using hsa_loader_table_t = hsa_ven_amd_loader_1_01_pfn_t; diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/code_object.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/code_object.hpp index 37feb99599..5cd187aab2 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/code_object.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/code_object.hpp @@ -24,10 +24,28 @@ #include +#include +#include + namespace rocprofiler { namespace hsa { +namespace code_object +{ +const char* +name_by_id(uint32_t id); + +uint32_t +id_by_name(const char* name); + +std::vector +get_names(); + +std::vector +get_ids(); +} // namespace code_object + void code_object_init(HsaApiTable* table); diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/defines.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/defines.hpp index badc0efb4a..d67f30fc32 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/defines.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/defines.hpp @@ -22,65 +22,7 @@ #pragma once -#define IMPL_DETAIL_EXPAND(X) X -#define IMPL_DETAIL_FOR_EACH_NARG(...) \ - IMPL_DETAIL_FOR_EACH_NARG_(__VA_ARGS__, IMPL_DETAIL_FOR_EACH_RSEQ_N()) -#define IMPL_DETAIL_FOR_EACH_NARG_(...) IMPL_DETAIL_EXPAND(IMPL_DETAIL_FOR_EACH_ARG_N(__VA_ARGS__)) -#define IMPL_DETAIL_FOR_EACH_ARG_N(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, N, ...) N -#define IMPL_DETAIL_FOR_EACH_RSEQ_N() 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 -#define IMPL_DETAIL_CONCATENATE(X, Y) X##Y -#define IMPL_DETAIL_FOR_EACH_(N, MACRO, PREFIX, ...) \ - IMPL_DETAIL_EXPAND(IMPL_DETAIL_CONCATENATE(MACRO, N)(PREFIX, __VA_ARGS__)) -#define IMPL_DETAIL_FOR_EACH(MACRO, PREFIX, ...) \ - IMPL_DETAIL_FOR_EACH_(IMPL_DETAIL_FOR_EACH_NARG(__VA_ARGS__), MACRO, PREFIX, __VA_ARGS__) - -#define ADDR_MEMBER_0(...) -#define ADDR_MEMBER_1(PREFIX, FIELD) static_cast(&PREFIX.FIELD) -#define ADDR_MEMBER_2(PREFIX, A, B) ADDR_MEMBER_1(PREFIX, A), ADDR_MEMBER_1(PREFIX, B) -#define ADDR_MEMBER_3(PREFIX, A, B, C) ADDR_MEMBER_2(PREFIX, A, B), ADDR_MEMBER_1(PREFIX, C) -#define ADDR_MEMBER_4(PREFIX, A, B, C, D) ADDR_MEMBER_3(PREFIX, A, B, C), ADDR_MEMBER_1(PREFIX, D) -#define ADDR_MEMBER_5(PREFIX, A, B, C, D, E) \ - ADDR_MEMBER_4(PREFIX, A, B, C, D), ADDR_MEMBER_1(PREFIX, E) -#define ADDR_MEMBER_6(PREFIX, A, B, C, D, E, F) \ - ADDR_MEMBER_5(PREFIX, A, B, C, D, E), ADDR_MEMBER_1(PREFIX, F) -#define ADDR_MEMBER_7(PREFIX, A, B, C, D, E, F, G) \ - ADDR_MEMBER_6(PREFIX, A, B, C, D, E, F), ADDR_MEMBER_1(PREFIX, G) -#define ADDR_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H) \ - ADDR_MEMBER_7(PREFIX, A, B, C, D, E, F, G), ADDR_MEMBER_1(PREFIX, H) -#define ADDR_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I) \ - ADDR_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H), ADDR_MEMBER_1(PREFIX, I) -#define ADDR_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J) \ - ADDR_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I), ADDR_MEMBER_1(PREFIX, J) -#define ADDR_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K) \ - ADDR_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J), ADDR_MEMBER_1(PREFIX, K) -#define ADDR_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L) \ - ADDR_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K), ADDR_MEMBER_1(PREFIX, L) - -#define NAMED_MEMBER_0(...) -#define NAMED_MEMBER_1(PREFIX, FIELD) std::make_pair(#FIELD, PREFIX.FIELD) -#define NAMED_MEMBER_2(PREFIX, A, B) NAMED_MEMBER_1(PREFIX, A), NAMED_MEMBER_1(PREFIX, B) -#define NAMED_MEMBER_3(PREFIX, A, B, C) NAMED_MEMBER_2(PREFIX, A, B), NAMED_MEMBER_1(PREFIX, C) -#define NAMED_MEMBER_4(PREFIX, A, B, C, D) \ - NAMED_MEMBER_3(PREFIX, A, B, C), NAMED_MEMBER_1(PREFIX, D) -#define NAMED_MEMBER_5(PREFIX, A, B, C, D, E) \ - NAMED_MEMBER_4(PREFIX, A, B, C, D), NAMED_MEMBER_1(PREFIX, E) -#define NAMED_MEMBER_6(PREFIX, A, B, C, D, E, F) \ - NAMED_MEMBER_5(PREFIX, A, B, C, D, E), NAMED_MEMBER_1(PREFIX, F) -#define NAMED_MEMBER_7(PREFIX, A, B, C, D, E, F, G) \ - NAMED_MEMBER_6(PREFIX, A, B, C, D, E, F), NAMED_MEMBER_1(PREFIX, G) -#define NAMED_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H) \ - NAMED_MEMBER_7(PREFIX, A, B, C, D, E, F, G), NAMED_MEMBER_1(PREFIX, H) -#define NAMED_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I) \ - NAMED_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H), NAMED_MEMBER_1(PREFIX, I) -#define NAMED_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J) \ - NAMED_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I), NAMED_MEMBER_1(PREFIX, J) -#define NAMED_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K) \ - NAMED_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J), NAMED_MEMBER_1(PREFIX, K) -#define NAMED_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L) \ - NAMED_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K), NAMED_MEMBER_1(PREFIX, L) - -#define GET_ADDR_MEMBER_FIELDS(VAR, ...) IMPL_DETAIL_FOR_EACH(ADDR_MEMBER_, VAR, __VA_ARGS__) -#define GET_NAMED_MEMBER_FIELDS(VAR, ...) IMPL_DETAIL_FOR_EACH(NAMED_MEMBER_, VAR, __VA_ARGS__) +#include "lib/common/defines.hpp" #define HSA_API_META_DEFINITION(HSA_TABLE, HSA_API_ID, HSA_FUNC, HSA_FUNC_PTR) \ namespace rocprofiler \ @@ -88,13 +30,13 @@ namespace hsa \ { \ template <> \ - struct hsa_api_meta \ + struct hsa_api_meta \ { \ static constexpr auto table_idx = HSA_TABLE; \ static constexpr auto operation_idx = HSA_API_ID; \ static constexpr auto name = #HSA_FUNC; \ \ - using this_type = hsa_api_meta; \ + using this_type = hsa_api_meta; \ using function_type = hsa_api_func::function_type; \ \ static auto& get_table() { return hsa_table_lookup{}(); } \ @@ -130,16 +72,18 @@ namespace hsa \ { \ template <> \ - struct hsa_api_info \ + struct hsa_api_info \ { \ - static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_HSA_API; \ - static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_HSA_API; \ - static constexpr auto table_idx = HSA_TABLE; \ - static constexpr auto operation_idx = HSA_API_ID; \ - static constexpr auto name = #HSA_FUNC; \ + static constexpr auto callback_domain_idx = \ + hsa_domain_info::callback_domain_idx; \ + static constexpr auto buffered_domain_idx = \ + hsa_domain_info::buffered_domain_idx; \ + static constexpr auto table_idx = HSA_TABLE; \ + static constexpr auto operation_idx = HSA_API_ID; \ + static constexpr auto name = #HSA_FUNC; \ \ - using this_type = hsa_api_info; \ - using base_type = hsa_api_impl; \ + using this_type = hsa_api_info; \ + using base_type = hsa_api_impl; \ \ static constexpr auto offset() \ { \ @@ -207,16 +151,18 @@ namespace hsa \ { \ template <> \ - struct hsa_api_info \ + struct hsa_api_info \ { \ - static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_HSA_API; \ - static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_HSA_API; \ - static constexpr auto table_idx = HSA_TABLE; \ - static constexpr auto operation_idx = HSA_API_ID; \ - static constexpr auto name = #HSA_FUNC; \ + static constexpr auto callback_domain_idx = \ + hsa_domain_info::callback_domain_idx; \ + static constexpr auto buffered_domain_idx = \ + hsa_domain_info::buffered_domain_idx; \ + static constexpr auto table_idx = HSA_TABLE; \ + static constexpr auto operation_idx = HSA_API_ID; \ + static constexpr auto name = #HSA_FUNC; \ \ - using this_type = hsa_api_info; \ - using base_type = hsa_api_impl; \ + using this_type = hsa_api_info; \ + using base_type = hsa_api_impl; \ \ static constexpr auto offset() \ { \ @@ -280,7 +226,7 @@ } \ } -#define HSA_API_TABLE_LOOKUP_DEFINITION(TABLE_ID, TYPE, MEMBER) \ +#define HSA_API_TABLE_LOOKUP_DEFINITION(TABLE_ID, TYPE, NAME) \ namespace rocprofiler \ { \ namespace hsa \ @@ -289,9 +235,15 @@ struct hsa_table_lookup \ { \ using type = TYPE; \ - auto& operator()(hsa_api_table_t& _v) const { return _v.MEMBER; } \ - auto& operator()(hsa_api_table_t* _v) const { return _v->MEMBER; } \ - auto& operator()() const { return (*this)(get_table()); } \ + auto& operator()(type& _v) const { return _v; } \ + auto& operator()(type* _v) const { return *_v; } \ + auto& operator()() const { return (*this)(get_##NAME##_table()); } \ + }; \ + \ + template <> \ + struct hsa_table_id_lookup \ + { \ + static constexpr auto value = TABLE_ID; \ }; \ } \ } diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.cpp index 545aa96cc6..88b9311a59 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.cpp @@ -110,6 +110,9 @@ template Tp*& get_table_impl(hsa_table_version_t _version) { + static_assert(common::static_object::is_trivial_standard_layout(), + "This HSA API table is not a trivial, standard layout type as it should be"); + auto*& val = common::static_object::construct(); val->version = _version; return val; @@ -166,36 +169,18 @@ get_table() return tbl; } -template +template template auto -hsa_api_impl::set_data_args(DataArgsT& _data_args, Args... args) +hsa_api_impl::set_data_args(DataArgsT& _data_args, Args... args) { - if constexpr(Idx == ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_rect) - { - auto _tuple = std::make_tuple(args...); - _data_args.dst = std::get<0>(_tuple); - _data_args.dst_offset = std::get<1>(_tuple); - _data_args.src = std::get<2>(_tuple); - _data_args.src_offset = std::get<3>(_tuple); - _data_args.range = std::get<4>(_tuple); - _data_args.range__val = *(std::get<4>(_tuple)); - _data_args.copy_agent = std::get<5>(_tuple); - _data_args.dir = std::get<6>(_tuple); - _data_args.num_dep_signals = std::get<7>(_tuple); - _data_args.dep_signals = std::get<8>(_tuple); - _data_args.completion_signal = std::get<9>(_tuple); - } - else - { - _data_args = DataArgsT{args...}; - } + _data_args = DataArgsT{args...}; } -template +template template auto -hsa_api_impl::exec(FuncT&& _func, Args&&... args) +hsa_api_impl::exec(FuncT&& _func, Args&&... args) { using return_type = std::decay_t>; @@ -277,12 +262,12 @@ populate_contexts(rocprofiler_callback_tracing_kind_t callback_domain_idx, } } // namespace -template +template template auto -hsa_api_impl::functor(Args&&... args) +hsa_api_impl::functor(Args&&... args) { - using info_type = hsa_api_info; + using info_type = hsa_api_info; if(registration::get_fini_status() != 0) { @@ -454,40 +439,64 @@ namespace hsa { namespace { -template +template const char* -name_by_id(const uint32_t id, std::index_sequence) +name_by_id(const uint32_t id, std::index_sequence) { - if(Idx == id) return hsa_api_info::name; - if constexpr(sizeof...(IdxTail) > 0) - return name_by_id(id, std::index_sequence{}); + if(OpIdx == id) return hsa_api_info::name; + + if constexpr(sizeof...(OpIdxTail) > 0) + return name_by_id(id, std::index_sequence{}); else return nullptr; } -template +template uint32_t -id_by_name(const char* name, std::index_sequence) +id_by_name(const char* name, std::index_sequence) { - if(std::string_view{hsa_api_info::name} == std::string_view{name}) - return hsa_api_info::operation_idx; - if constexpr(sizeof...(IdxTail) > 0) - return id_by_name(name, std::index_sequence{}); + if(std::string_view{hsa_api_info::name} == std::string_view{name}) + return hsa_api_info::operation_idx; + + if constexpr(sizeof...(OpIdxTail) > 0) + return id_by_name(name, std::index_sequence{}); else - return ROCPROFILER_HSA_API_ID_NONE; + return hsa_domain_info::none; } -template +template +void +get_ids(std::vector& _id_list, std::index_sequence) +{ + uint32_t _idx = hsa_api_info::operation_idx; + if(_idx < hsa_domain_info::last) _id_list.emplace_back(_idx); + + if constexpr(sizeof...(OpIdxTail) > 0) + get_ids(_id_list, std::index_sequence{}); +} + +template +void +get_names(std::vector& _name_list, std::index_sequence) +{ + auto&& _name = hsa_api_info::name; + if(_name != nullptr && strnlen(_name, 1) > 0) _name_list.emplace_back(_name); + + if constexpr(sizeof...(OpIdxTail) > 0) + get_names(_name_list, std::index_sequence{}); +} + +template void iterate_args(const uint32_t id, const rocprofiler_callback_tracing_hsa_api_data_t& data, rocprofiler_callback_tracing_operation_args_cb_t func, void* user_data, - std::index_sequence) + std::index_sequence) { - if(Idx == id) + if(OpIdx == id) { - using info_type = hsa_api_info; + using info_type = hsa_api_info; auto&& arg_list = info_type::as_arg_list(data); auto&& arg_addr = info_type::as_arg_addr(data); for(size_t i = 0; i < std::min(arg_list.size(), arg_addr.size()); ++i) @@ -503,29 +512,7 @@ iterate_args(const uint32_t id, } } if constexpr(sizeof...(IdxTail) > 0) - iterate_args(id, data, func, user_data, std::index_sequence{}); -} - -template -void -get_ids(std::vector& _id_list, std::index_sequence) -{ - auto _emplace = [](auto& _vec, uint32_t _v) { - if(_v < ROCPROFILER_HSA_API_ID_LAST) _vec.emplace_back(_v); - }; - - (_emplace(_id_list, hsa_api_info::operation_idx), ...); -} - -template -void -get_names(std::vector& _name_list, std::index_sequence) -{ - auto _emplace = [](auto& _vec, const char* _v) { - if(_v != nullptr && strnlen(_v, 1) > 0) _vec.emplace_back(_v); - }; - - (_emplace(_name_list, hsa_api_info::name), ...); + iterate_args(id, data, func, user_data, std::index_sequence{}); } bool @@ -553,48 +540,131 @@ should_wrap_functor(const context::context_array_t& _contexts, return false; } -template +template void -update_table(hsa_api_table_t* _orig, std::index_sequence) +copy_table(Tp* _orig, std::integral_constant) { - auto _update = [](hsa_api_table_t* _orig_v, const auto& _contexts_v, auto _info) { - // check to see if there are any contexts which enable this operation in the HSA API domain - if(!should_wrap_functor(_contexts_v, + using table_type = typename hsa_table_lookup::type; + + if constexpr(std::is_same::value) + { + auto _info = hsa_api_info{}; + + LOG(INFO) << "copying table entry for " << _info.name; + + // make sure we don't access a field that doesn't exist in input table + if(_info.offset() >= _orig->version.minor_id) return; + + // 1. get the sub-table containing the function pointer in original table + // 2. get reference to function pointer in sub-table in original table + auto& _table = _info.get_table(_orig); + auto& _func = _info.get_table_func(_table); + // 3. get the sub-table containing the function pointer in saved table + // 4. get reference to function pointer in sub-table in saved table + // 5. save the original function in the saved table + auto& _saved = _info.get_table(hsa_table_lookup{}()); + auto& _ofunc = _info.get_table_func(_saved); + _ofunc = _func; + } + + (void) _orig; +} + +template +void +update_table(const context::context_array_t& _contexts, + Tp* _orig, + std::integral_constant) +{ + using table_type = typename hsa_table_lookup::type; + + if constexpr(std::is_same::value) + { + auto _info = hsa_api_info{}; + + LOG(INFO) << "updating table entry for " << _info.name; + + // make sure we don't access a field that doesn't exist in input table + if(_info.offset() >= _orig->version.minor_id) return; + + // check to see if there are any contexts which enable this operation in the ROCTX API + // domain + if(!should_wrap_functor(_contexts, _info.callback_domain_idx, _info.buffered_domain_idx, _info.operation_idx)) return; - // 1. get the sub-table containing the function pointer - // 2. make sure the function pointer offset exists in passed table - auto& _table = _info.get_table(_orig_v); - if(_info.offset() < _table->version.minor_id) - { - // 3. get reference to function pointer in sub-table - // 4. update function pointer with functor - auto& _func = _info.get_table_func(_table); - _func = _info.get_functor(_func); - } - }; + // 1. get the sub-table containing the function pointer in original table + // 2. get reference to function pointer in sub-table in original table + // 3. update function pointer with wrapper + auto& _table = _info.get_table(_orig); + auto& _func = _info.get_table_func(_table); + _func = _info.get_functor(_func); + } - auto _contexts = context::get_registered_contexts(); - (_update(_orig, _contexts, hsa_api_info{}), ...); + (void) _orig; +} + +template +void +copy_table(Tp* _orig, std::index_sequence) +{ + copy_table(_orig, std::integral_constant{}); + if constexpr(sizeof...(OpIdxTail) > 0) + copy_table(_orig, std::index_sequence{}); +} + +template +void +update_table(const context::context_array_t& _contexts, + Tp* _orig, + std::index_sequence) +{ + update_table(_contexts, _orig, std::integral_constant{}); + if constexpr(sizeof...(OpIdxTail) > 0) + update_table(_contexts, _orig, std::index_sequence{}); } } // namespace // check out the assembly here... this compiles to a switch statement +template const char* name_by_id(uint32_t id) { - return name_by_id(id, std::make_index_sequence{}); + return name_by_id(id, std::make_index_sequence::last>{}); } +template uint32_t id_by_name(const char* name) { - return id_by_name(name, std::make_index_sequence{}); + return id_by_name(name, std::make_index_sequence::last>{}); } +template +std::vector +get_ids() +{ + constexpr auto last_api_id = hsa_domain_info::last; + auto _data = std::vector{}; + _data.reserve(last_api_id); + get_ids(_data, std::make_index_sequence{}); + return _data; +} + +template +std::vector +get_names() +{ + constexpr auto last_api_id = hsa_domain_info::last; + auto _data = std::vector{}; + _data.reserve(last_api_id); + get_names(_data, std::make_index_sequence{}); + return _data; +} + +template void iterate_args(uint32_t id, const rocprofiler_callback_tracing_hsa_api_data_t& data, @@ -602,32 +672,53 @@ iterate_args(uint32_t id, void* user_data) { if(callback) - iterate_args( - id, data, callback, user_data, std::make_index_sequence{}); -} - -std::vector -get_ids() -{ - auto _data = std::vector{}; - _data.reserve(ROCPROFILER_HSA_API_ID_LAST); - get_ids(_data, std::make_index_sequence{}); - return _data; -} - -std::vector -get_names() -{ - auto _data = std::vector{}; - _data.reserve(ROCPROFILER_HSA_API_ID_LAST); - get_names(_data, std::make_index_sequence{}); - return _data; + iterate_args(id, + data, + callback, + user_data, + std::make_index_sequence::last>{}); } +template void -update_table(hsa_api_table_t* _orig) +copy_table(TableT* _orig) { - if(_orig) update_table(_orig, std::make_index_sequence{}); + constexpr auto TableIdx = hsa_table_id_lookup::value; + if(_orig) + copy_table(_orig, std::make_index_sequence::last>{}); } + +template +void +update_table(TableT* _orig) +{ + constexpr auto TableIdx = hsa_table_id_lookup::value; + if(_orig) + { + auto _contexts = context::get_registered_contexts(); + update_table( + _contexts, _orig, std::make_index_sequence::last>{}); + } +} + +using iterate_args_data_t = rocprofiler_callback_tracing_hsa_api_data_t; +using iterate_args_cb_t = rocprofiler_callback_tracing_operation_args_cb_t; + +#define INSTANTIATE_MARKER_TABLE_FUNC(TABLE_TYPE, TABLE_IDX) \ + template void copy_table(TABLE_TYPE * _tbl); \ + template void update_table(TABLE_TYPE * _tbl); \ + template const char* name_by_id(uint32_t); \ + template uint32_t id_by_name(const char*); \ + template std::vector get_ids(); \ + template std::vector get_names(); \ + template void iterate_args( \ + uint32_t, const iterate_args_data_t&, iterate_args_cb_t, void*); + +INSTANTIATE_MARKER_TABLE_FUNC(hsa_core_table_t, ROCPROFILER_HSA_TABLE_ID_Core) +INSTANTIATE_MARKER_TABLE_FUNC(hsa_amd_ext_table_t, ROCPROFILER_HSA_TABLE_ID_AmdExt) +INSTANTIATE_MARKER_TABLE_FUNC(hsa_img_ext_table_t, ROCPROFILER_HSA_TABLE_ID_ImageExt) +INSTANTIATE_MARKER_TABLE_FUNC(hsa_fini_ext_table_t, ROCPROFILER_HSA_TABLE_ID_FinalizeExt) + +#undef INSTANTIATE_MARKER_TABLE_FUNC } // namespace hsa } // namespace rocprofiler diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.def.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.def.cpp index 6ab10634f2..60e872c7f9 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.def.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.def.cpp @@ -24,228 +24,298 @@ #include "lib/rocprofiler-sdk/hsa/defines.hpp" #include "lib/rocprofiler-sdk/hsa/hsa.hpp" +#include #include -HSA_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ::CoreApiTable, core_) -HSA_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ::AmdExtTable, amd_ext_) -HSA_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ::ImageExtTable, image_ext_) +HSA_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HSA_TABLE_ID_Core, ::CoreApiTable, core) +HSA_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HSA_TABLE_ID_AmdExt, ::AmdExtTable, amd_ext) +HSA_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HSA_TABLE_ID_ImageExt, ::ImageExtTable, img_ext) +HSA_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_HSA_TABLE_ID_FinalizeExt, ::FinalizerExtTable, fini_ext) + +namespace rocprofiler +{ +namespace hsa +{ +template <> +struct hsa_domain_info +{ + using args_type = rocprofiler_hsa_api_args_t; + using retval_type = rocprofiler_hsa_api_retval_t; + using callback_data_type = rocprofiler_callback_tracing_hsa_api_data_t; + using buffer_data_type = rocprofiler_buffer_tracing_hsa_api_record_t; +}; + +template <> +struct hsa_domain_info +: hsa_domain_info +{ + static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API; + static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_HSA_CORE_API; + static constexpr auto none = ROCPROFILER_HSA_CORE_API_ID_NONE; + static constexpr auto last = ROCPROFILER_HSA_CORE_API_ID_LAST; + using enum_type = rocprofiler_hsa_core_api_id_t; +}; + +template <> +struct hsa_domain_info +: hsa_domain_info +{ + static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API; + static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API; + static constexpr auto none = ROCPROFILER_HSA_AMD_EXT_API_ID_NONE; + static constexpr auto last = ROCPROFILER_HSA_AMD_EXT_API_ID_LAST; + using enum_type = rocprofiler_hsa_amd_ext_api_id_t; +}; + +template <> +struct hsa_domain_info +: hsa_domain_info +{ + static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API; + static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API; + static constexpr auto none = ROCPROFILER_HSA_IMAGE_EXT_API_ID_NONE; + static constexpr auto last = ROCPROFILER_HSA_IMAGE_EXT_API_ID_LAST; + using enum_type = rocprofiler_hsa_image_ext_api_id_t; +}; + +template <> +struct hsa_domain_info +: hsa_domain_info +{ + static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API; + static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API; + static constexpr auto none = ROCPROFILER_HSA_FINALIZE_EXT_API_ID_NONE; + static constexpr auto last = ROCPROFILER_HSA_FINALIZE_EXT_API_ID_LAST; + using enum_type = rocprofiler_hsa_finalize_ext_api_id_t; +}; +} // namespace hsa +} // namespace rocprofiler #if defined(ROCPROFILER_LIB_ROCPROFILER_HSA_HSA_CPP_IMPL) && \ ROCPROFILER_LIB_ROCPROFILER_HSA_HSA_CPP_IMPL == 1 // clang-format off -HSA_API_INFO_DEFINITION_0(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_init, hsa_init, hsa_init_fn) -HSA_API_INFO_DEFINITION_0(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_shut_down, hsa_shut_down, hsa_shut_down_fn) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_system_get_info, hsa_system_get_info, hsa_system_get_info_fn, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_system_extension_supported, hsa_system_extension_supported, hsa_system_extension_supported_fn, extension, version_major, version_minor, result) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_system_get_extension_table, hsa_system_get_extension_table, hsa_system_get_extension_table_fn, extension, version_major, version_minor, table) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_iterate_agents, hsa_iterate_agents, hsa_iterate_agents_fn, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_agent_get_info, hsa_agent_get_info, hsa_agent_get_info_fn, agent, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_create, hsa_queue_create, hsa_queue_create_fn, agent, size, type, callback, data, private_segment_size, group_segment_size, queue) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_soft_queue_create, hsa_soft_queue_create, hsa_soft_queue_create_fn, region, size, type, features, doorbell_signal, queue) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_destroy, hsa_queue_destroy, hsa_queue_destroy_fn, queue) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_inactivate, hsa_queue_inactivate, hsa_queue_inactivate_fn, queue) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_load_read_index_scacquire, hsa_queue_load_read_index_scacquire, hsa_queue_load_read_index_scacquire_fn, queue) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_load_read_index_relaxed, hsa_queue_load_read_index_relaxed, hsa_queue_load_read_index_relaxed_fn, queue) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_load_write_index_scacquire, hsa_queue_load_write_index_scacquire, hsa_queue_load_write_index_scacquire_fn, queue) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_load_write_index_relaxed, hsa_queue_load_write_index_relaxed, hsa_queue_load_write_index_relaxed_fn, queue) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_store_write_index_relaxed, hsa_queue_store_write_index_relaxed, hsa_queue_store_write_index_relaxed_fn, queue, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_store_write_index_screlease, hsa_queue_store_write_index_screlease, hsa_queue_store_write_index_screlease_fn, queue, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_scacq_screl, hsa_queue_cas_write_index_scacq_screl, hsa_queue_cas_write_index_scacq_screl_fn, queue, expected, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_scacquire, hsa_queue_cas_write_index_scacquire, hsa_queue_cas_write_index_scacquire_fn, queue, expected, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_relaxed, hsa_queue_cas_write_index_relaxed, hsa_queue_cas_write_index_relaxed_fn, queue, expected, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_cas_write_index_screlease, hsa_queue_cas_write_index_screlease, hsa_queue_cas_write_index_screlease_fn, queue, expected, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_scacq_screl, hsa_queue_add_write_index_scacq_screl, hsa_queue_add_write_index_scacq_screl_fn, queue, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_scacquire, hsa_queue_add_write_index_scacquire, hsa_queue_add_write_index_scacquire_fn, queue, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_relaxed, hsa_queue_add_write_index_relaxed, hsa_queue_add_write_index_relaxed_fn, queue, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_add_write_index_screlease, hsa_queue_add_write_index_screlease, hsa_queue_add_write_index_screlease_fn, queue, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_store_read_index_relaxed, hsa_queue_store_read_index_relaxed, hsa_queue_store_read_index_relaxed_fn, queue, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_queue_store_read_index_screlease, hsa_queue_store_read_index_screlease, hsa_queue_store_read_index_screlease_fn, queue, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_agent_iterate_regions, hsa_agent_iterate_regions, hsa_agent_iterate_regions_fn, agent, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_region_get_info, hsa_region_get_info, hsa_region_get_info_fn, region, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_agent_get_exception_policies, hsa_agent_get_exception_policies, hsa_agent_get_exception_policies_fn, agent, profile, mask) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_agent_extension_supported, hsa_agent_extension_supported, hsa_agent_extension_supported_fn, extension, agent, version_major, version_minor, result) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_memory_register, hsa_memory_register, hsa_memory_register_fn, ptr, size) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_memory_deregister, hsa_memory_deregister, hsa_memory_deregister_fn, ptr, size) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_memory_allocate, hsa_memory_allocate, hsa_memory_allocate_fn, region, size, ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_memory_free, hsa_memory_free, hsa_memory_free_fn, ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_memory_copy, hsa_memory_copy, hsa_memory_copy_fn, dst, src, size) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_memory_assign_agent, hsa_memory_assign_agent, hsa_memory_assign_agent_fn, ptr, agent, access) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_create, hsa_signal_create, hsa_signal_create_fn, initial_value, num_consumers, consumers, signal) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_destroy, hsa_signal_destroy, hsa_signal_destroy_fn, signal) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_load_relaxed, hsa_signal_load_relaxed, hsa_signal_load_relaxed_fn, signal) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_load_scacquire, hsa_signal_load_scacquire, hsa_signal_load_scacquire_fn, signal) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_store_relaxed, hsa_signal_store_relaxed, hsa_signal_store_relaxed_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_store_screlease, hsa_signal_store_screlease, hsa_signal_store_screlease_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_wait_relaxed, hsa_signal_wait_relaxed, hsa_signal_wait_relaxed_fn, signal, condition, compare_value, timeout_hint, wait_state_hint) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_wait_scacquire, hsa_signal_wait_scacquire, hsa_signal_wait_scacquire_fn, signal, condition, compare_value, timeout_hint, wait_state_hint) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_and_relaxed, hsa_signal_and_relaxed, hsa_signal_and_relaxed_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_and_scacquire, hsa_signal_and_scacquire, hsa_signal_and_scacquire_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_and_screlease, hsa_signal_and_screlease, hsa_signal_and_screlease_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_and_scacq_screl, hsa_signal_and_scacq_screl, hsa_signal_and_scacq_screl_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_or_relaxed, hsa_signal_or_relaxed, hsa_signal_or_relaxed_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_or_scacquire, hsa_signal_or_scacquire, hsa_signal_or_scacquire_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_or_screlease, hsa_signal_or_screlease, hsa_signal_or_screlease_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_or_scacq_screl, hsa_signal_or_scacq_screl, hsa_signal_or_scacq_screl_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_xor_relaxed, hsa_signal_xor_relaxed, hsa_signal_xor_relaxed_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_xor_scacquire, hsa_signal_xor_scacquire, hsa_signal_xor_scacquire_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_xor_screlease, hsa_signal_xor_screlease, hsa_signal_xor_screlease_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_xor_scacq_screl, hsa_signal_xor_scacq_screl, hsa_signal_xor_scacq_screl_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_exchange_relaxed, hsa_signal_exchange_relaxed, hsa_signal_exchange_relaxed_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_exchange_scacquire, hsa_signal_exchange_scacquire, hsa_signal_exchange_scacquire_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_exchange_screlease, hsa_signal_exchange_screlease, hsa_signal_exchange_screlease_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_exchange_scacq_screl, hsa_signal_exchange_scacq_screl, hsa_signal_exchange_scacq_screl_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_add_relaxed, hsa_signal_add_relaxed, hsa_signal_add_relaxed_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_add_scacquire, hsa_signal_add_scacquire, hsa_signal_add_scacquire_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_add_screlease, hsa_signal_add_screlease, hsa_signal_add_screlease_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_add_scacq_screl, hsa_signal_add_scacq_screl, hsa_signal_add_scacq_screl_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_subtract_relaxed, hsa_signal_subtract_relaxed, hsa_signal_subtract_relaxed_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_subtract_scacquire, hsa_signal_subtract_scacquire, hsa_signal_subtract_scacquire_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_subtract_screlease, hsa_signal_subtract_screlease, hsa_signal_subtract_screlease_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_subtract_scacq_screl, hsa_signal_subtract_scacq_screl, hsa_signal_subtract_scacq_screl_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_cas_relaxed, hsa_signal_cas_relaxed, hsa_signal_cas_relaxed_fn, signal, expected, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_cas_scacquire, hsa_signal_cas_scacquire, hsa_signal_cas_scacquire_fn, signal, expected, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_cas_screlease, hsa_signal_cas_screlease, hsa_signal_cas_screlease_fn, signal, expected, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_cas_scacq_screl, hsa_signal_cas_scacq_screl, hsa_signal_cas_scacq_screl_fn, signal, expected, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_isa_from_name, hsa_isa_from_name, hsa_isa_from_name_fn, name, isa) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_isa_get_info, hsa_isa_get_info, hsa_isa_get_info_fn, isa, attribute, index, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_isa_compatible, hsa_isa_compatible, hsa_isa_compatible_fn, code_object_isa, agent_isa, result) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_serialize, hsa_code_object_serialize, hsa_code_object_serialize_fn, code_object, alloc_callback, callback_data, options, serialized_code_object, serialized_code_object_size) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_deserialize, hsa_code_object_deserialize, hsa_code_object_deserialize_fn, serialized_code_object, serialized_code_object_size, options, code_object) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_destroy, hsa_code_object_destroy, hsa_code_object_destroy_fn, code_object) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_get_info, hsa_code_object_get_info, hsa_code_object_get_info_fn, code_object, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_get_symbol, hsa_code_object_get_symbol, hsa_code_object_get_symbol_fn, code_object, symbol_name, symbol) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_symbol_get_info, hsa_code_symbol_get_info, hsa_code_symbol_get_info_fn, code_symbol, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_iterate_symbols, hsa_code_object_iterate_symbols, hsa_code_object_iterate_symbols_fn, code_object, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_create, hsa_executable_create, hsa_executable_create_fn, profile, executable_state, options, executable) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_destroy, hsa_executable_destroy, hsa_executable_destroy_fn, executable) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_load_code_object, hsa_executable_load_code_object, hsa_executable_load_code_object_fn, executable, agent, code_object, options) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_freeze, hsa_executable_freeze, hsa_executable_freeze_fn, executable, options) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_get_info, hsa_executable_get_info, hsa_executable_get_info_fn, executable, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_global_variable_define, hsa_executable_global_variable_define, hsa_executable_global_variable_define_fn, executable, variable_name, address) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_agent_global_variable_define, hsa_executable_agent_global_variable_define, hsa_executable_agent_global_variable_define_fn, executable, agent, variable_name, address) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_readonly_variable_define, hsa_executable_readonly_variable_define, hsa_executable_readonly_variable_define_fn, executable, agent, variable_name, address) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_validate, hsa_executable_validate, hsa_executable_validate_fn, executable, result) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_get_symbol, hsa_executable_get_symbol, hsa_executable_get_symbol_fn, executable, module_name, symbol_name, agent, call_convention, symbol) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_symbol_get_info, hsa_executable_symbol_get_info, hsa_executable_symbol_get_info_fn, executable_symbol, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_iterate_symbols, hsa_executable_iterate_symbols, hsa_executable_iterate_symbols_fn, executable, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_status_string, hsa_status_string, hsa_status_string_fn, status, status_string) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_extension_get_name, hsa_extension_get_name, hsa_extension_get_name_fn, extension, name) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_system_major_extension_supported, hsa_system_major_extension_supported, hsa_system_major_extension_supported_fn, extension, version_major, version_minor, result) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_system_get_major_extension_table, hsa_system_get_major_extension_table, hsa_system_get_major_extension_table_fn, extension, version_major, table_length, table) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_agent_major_extension_supported, hsa_agent_major_extension_supported, hsa_agent_major_extension_supported_fn, extension, agent, version_major, version_minor, result) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_cache_get_info, hsa_cache_get_info, hsa_cache_get_info_fn, cache, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_agent_iterate_caches, hsa_agent_iterate_caches, hsa_agent_iterate_caches_fn, agent, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_silent_store_relaxed, hsa_signal_silent_store_relaxed, hsa_signal_silent_store_relaxed_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_silent_store_screlease, hsa_signal_silent_store_screlease, hsa_signal_silent_store_screlease_fn, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_group_create, hsa_signal_group_create, hsa_signal_group_create_fn, num_signals, signals, num_consumers, consumers, signal_group) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_group_destroy, hsa_signal_group_destroy, hsa_signal_group_destroy_fn, signal_group) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_group_wait_any_scacquire, hsa_signal_group_wait_any_scacquire, hsa_signal_group_wait_any_scacquire_fn, signal_group, conditions, compare_values, wait_state_hint, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_signal_group_wait_any_relaxed, hsa_signal_group_wait_any_relaxed, hsa_signal_group_wait_any_relaxed_fn, signal_group, conditions, compare_values, wait_state_hint, signal, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_agent_iterate_isas, hsa_agent_iterate_isas, hsa_agent_iterate_isas_fn, agent, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_isa_get_info_alt, hsa_isa_get_info_alt, hsa_isa_get_info_alt_fn, isa, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_isa_get_exception_policies, hsa_isa_get_exception_policies, hsa_isa_get_exception_policies_fn, isa, profile, mask) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_isa_get_round_method, hsa_isa_get_round_method, hsa_isa_get_round_method_fn, isa, fp_type, flush_mode, round_method) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_wavefront_get_info, hsa_wavefront_get_info, hsa_wavefront_get_info_fn, wavefront, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_isa_iterate_wavefronts, hsa_isa_iterate_wavefronts, hsa_isa_iterate_wavefronts_fn, isa, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_get_symbol_from_name, hsa_code_object_get_symbol_from_name, hsa_code_object_get_symbol_from_name_fn, code_object, module_name, symbol_name, symbol) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_reader_create_from_file, hsa_code_object_reader_create_from_file, hsa_code_object_reader_create_from_file_fn, file, code_object_reader) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_reader_create_from_memory, hsa_code_object_reader_create_from_memory, hsa_code_object_reader_create_from_memory_fn, code_object, size, code_object_reader) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_code_object_reader_destroy, hsa_code_object_reader_destroy, hsa_code_object_reader_destroy_fn, code_object_reader) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_create_alt, hsa_executable_create_alt, hsa_executable_create_alt_fn, profile, default_float_rounding_mode, options, executable) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_load_program_code_object, hsa_executable_load_program_code_object, hsa_executable_load_program_code_object_fn, executable, code_object_reader, options, loaded_code_object) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_load_agent_code_object, hsa_executable_load_agent_code_object, hsa_executable_load_agent_code_object_fn, executable, agent, code_object_reader, options, loaded_code_object) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_validate_alt, hsa_executable_validate_alt, hsa_executable_validate_alt_fn, executable, options, result) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_get_symbol_by_name, hsa_executable_get_symbol_by_name, hsa_executable_get_symbol_by_name_fn, executable, symbol_name, agent, symbol) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_iterate_agent_symbols, hsa_executable_iterate_agent_symbols, hsa_executable_iterate_agent_symbols_fn, executable, agent, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_CoreApi, ROCPROFILER_HSA_API_ID_hsa_executable_iterate_program_symbols, hsa_executable_iterate_program_symbols, hsa_executable_iterate_program_symbols_fn, executable, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_coherency_get_type, hsa_amd_coherency_get_type, hsa_amd_coherency_get_type_fn, agent, type) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_coherency_set_type, hsa_amd_coherency_set_type, hsa_amd_coherency_set_type_fn, agent, type) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_set_profiler_enabled, hsa_amd_profiling_set_profiler_enabled, hsa_amd_profiling_set_profiler_enabled_fn, queue, enable) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_async_copy_enable, hsa_amd_profiling_async_copy_enable, hsa_amd_profiling_async_copy_enable_fn, enable) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_get_dispatch_time, hsa_amd_profiling_get_dispatch_time, hsa_amd_profiling_get_dispatch_time_fn, agent, signal, time) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_get_async_copy_time, hsa_amd_profiling_get_async_copy_time, hsa_amd_profiling_get_async_copy_time_fn, signal, time) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, hsa_amd_profiling_convert_tick_to_system_domain, hsa_amd_profiling_convert_tick_to_system_domain_fn, agent, agent_tick, system_tick) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_signal_async_handler, hsa_amd_signal_async_handler, hsa_amd_signal_async_handler_fn, signal, cond, value, handler, arg) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_async_function, hsa_amd_async_function, hsa_amd_async_function_fn, callback, arg) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_signal_wait_any, hsa_amd_signal_wait_any, hsa_amd_signal_wait_any_fn, signal_count, signals, conds, values, timeout_hint, wait_hint, satisfying_value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_queue_cu_set_mask, hsa_amd_queue_cu_set_mask, hsa_amd_queue_cu_set_mask_fn, queue, num_cu_mask_count, cu_mask) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_get_info, hsa_amd_memory_pool_get_info, hsa_amd_memory_pool_get_info_fn, memory_pool, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_agent_iterate_memory_pools, hsa_amd_agent_iterate_memory_pools, hsa_amd_agent_iterate_memory_pools_fn, agent, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_allocate, hsa_amd_memory_pool_allocate, hsa_amd_memory_pool_allocate_fn, memory_pool, size, flags, ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_free, hsa_amd_memory_pool_free, hsa_amd_memory_pool_free_fn, ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy, hsa_amd_memory_async_copy, hsa_amd_memory_async_copy_fn, dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_on_engine, hsa_amd_memory_async_copy_on_engine, hsa_amd_memory_async_copy_on_engine_fn, dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal, engine_id, force_copy_on_sdma) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_copy_engine_status, hsa_amd_memory_copy_engine_status, hsa_amd_memory_copy_engine_status_fn, dst_agent, src_agent, engine_ids_mask) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_agent_memory_pool_get_info, hsa_amd_agent_memory_pool_get_info, hsa_amd_agent_memory_pool_get_info_fn, agent, memory_pool, attribute, value) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_agents_allow_access, hsa_amd_agents_allow_access, hsa_amd_agents_allow_access_fn, num_agents, agents, flags, ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_pool_can_migrate, hsa_amd_memory_pool_can_migrate, hsa_amd_memory_pool_can_migrate_fn, src_memory_pool, dst_memory_pool, result) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_migrate, hsa_amd_memory_migrate, hsa_amd_memory_migrate_fn, ptr, memory_pool, flags) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_lock, hsa_amd_memory_lock, hsa_amd_memory_lock_fn, host_ptr, size, agents, num_agent, agent_ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_unlock, hsa_amd_memory_unlock, hsa_amd_memory_unlock_fn, host_ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_fill, hsa_amd_memory_fill, hsa_amd_memory_fill_fn, ptr, value, count) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_interop_map_buffer, hsa_amd_interop_map_buffer, hsa_amd_interop_map_buffer_fn, num_agents, agents, interop_handle, flags, size, ptr, metadata_size, metadata) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_interop_unmap_buffer, hsa_amd_interop_unmap_buffer, hsa_amd_interop_unmap_buffer_fn, ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_image_create, hsa_amd_image_create, hsa_amd_image_create_fn, agent, image_descriptor, image_layout, image_data, access_permission, image) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_pointer_info, hsa_amd_pointer_info, hsa_amd_pointer_info_fn, ptr, info, alloc, num_agents_accessible, accessible) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_pointer_info_set_userdata, hsa_amd_pointer_info_set_userdata, hsa_amd_pointer_info_set_userdata_fn, ptr, userdata) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_memory_create, hsa_amd_ipc_memory_create, hsa_amd_ipc_memory_create_fn, ptr, len, handle) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_memory_attach, hsa_amd_ipc_memory_attach, hsa_amd_ipc_memory_attach_fn, handle, len, num_agents, mapping_agents, mapped_ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_memory_detach, hsa_amd_ipc_memory_detach, hsa_amd_ipc_memory_detach_fn, mapped_ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_signal_create, hsa_amd_signal_create, hsa_amd_signal_create_fn, initial_value, num_consumers, consumers, attributes, signal) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_signal_create, hsa_amd_ipc_signal_create, hsa_amd_ipc_signal_create_fn, signal, handle) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_ipc_signal_attach, hsa_amd_ipc_signal_attach, hsa_amd_ipc_signal_attach_fn, handle, signal) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_register_system_event_handler, hsa_amd_register_system_event_handler, hsa_amd_register_system_event_handler_fn, callback, data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_queue_set_priority, hsa_amd_queue_set_priority, hsa_amd_queue_set_priority_fn, queue, priority) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_rect, hsa_amd_memory_async_copy_rect, hsa_amd_memory_async_copy_rect_fn, dst, dst_offset, src, src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, completion_signal) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_lock_to_pool, hsa_amd_memory_lock_to_pool, hsa_amd_memory_lock_to_pool_fn, host_ptr, size, agents, num_agent, pool, flags, agent_ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_register_deallocation_callback, hsa_amd_register_deallocation_callback, hsa_amd_register_deallocation_callback_fn, ptr, callback, user_data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_deregister_deallocation_callback, hsa_amd_deregister_deallocation_callback, hsa_amd_deregister_deallocation_callback_fn, ptr, callback) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_signal_value_pointer, hsa_amd_signal_value_pointer, hsa_amd_signal_value_pointer_fn, signal, value_ptr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_svm_attributes_set, hsa_amd_svm_attributes_set, hsa_amd_svm_attributes_set_fn, ptr, size, attribute_list, attribute_count) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_svm_attributes_get, hsa_amd_svm_attributes_get, hsa_amd_svm_attributes_get_fn, ptr, size, attribute_list, attribute_count) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_svm_prefetch_async, hsa_amd_svm_prefetch_async, hsa_amd_svm_prefetch_async_fn, ptr, size, agent, num_dep_signals, dep_signals, completion_signal) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_spm_acquire, hsa_amd_spm_acquire, hsa_amd_spm_acquire_fn, preferred_agent) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_spm_release, hsa_amd_spm_release, hsa_amd_spm_release_fn, preferred_agent) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_spm_set_dest_buffer, hsa_amd_spm_set_dest_buffer, hsa_amd_spm_set_dest_buffer_fn, preferred_agent, size_in_bytes, timeout, size_copied, dest, is_data_loss) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_queue_cu_get_mask, hsa_amd_queue_cu_get_mask, hsa_amd_queue_cu_get_mask_fn, queue, num_cu_mask_count, cu_mask) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_portable_export_dmabuf, hsa_amd_portable_export_dmabuf, hsa_amd_portable_export_dmabuf_fn, ptr, size, dmabuf, offset) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_portable_close_dmabuf, hsa_amd_portable_close_dmabuf, hsa_amd_portable_close_dmabuf_fn, dmabuf) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_get_capability, hsa_ext_image_get_capability, hsa_ext_image_get_capability_fn, agent, geometry, image_format, capability_mask) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_data_get_info, hsa_ext_image_data_get_info, hsa_ext_image_data_get_info_fn, agent, image_descriptor, access_permission, image_data_info) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_create, hsa_ext_image_create, hsa_ext_image_create_fn, agent, image_descriptor, image_data, access_permission, image) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_import, hsa_ext_image_import, hsa_ext_image_import_fn, agent, src_memory, src_row_pitch, src_slice_pitch, dst_image, image_region) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_export, hsa_ext_image_export, hsa_ext_image_export_fn, agent, src_image, dst_memory, dst_row_pitch, dst_slice_pitch, image_region) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_copy, hsa_ext_image_copy, hsa_ext_image_copy_fn, agent, src_image, src_offset, dst_image, dst_offset, range) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_clear, hsa_ext_image_clear, hsa_ext_image_clear_fn, agent, image, data, image_region) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_destroy, hsa_ext_image_destroy, hsa_ext_image_destroy_fn, agent, image) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_sampler_create, hsa_ext_sampler_create, hsa_ext_sampler_create_fn, agent, sampler_descriptor, sampler) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_sampler_destroy, hsa_ext_sampler_destroy, hsa_ext_sampler_destroy_fn, agent, sampler) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_get_capability_with_layout, hsa_ext_image_get_capability_with_layout, hsa_ext_image_get_capability_with_layout_fn, agent, geometry, image_format, image_data_layout, capability_mask) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_data_get_info_with_layout, hsa_ext_image_data_get_info_with_layout, hsa_ext_image_data_get_info_with_layout_fn, agent, image_descriptor, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image_data_info) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_ImageExt, ROCPROFILER_HSA_API_ID_hsa_ext_image_create_with_layout, hsa_ext_image_create_with_layout, hsa_ext_image_create_with_layout_fn, agent, image_descriptor, image_data, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_queue_intercept_create, hsa_amd_queue_intercept_create, hsa_amd_queue_intercept_create_fn, agent_handle, size, type, callback, data, private_segment_size, group_segment_size, queue) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_queue_intercept_register, hsa_amd_queue_intercept_register, hsa_amd_queue_intercept_register_fn, queue, callback, user_data) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_runtime_queue_create_register, hsa_amd_runtime_queue_create_register, hsa_amd_runtime_queue_create_register_fn, callback, user_data) +HSA_API_INFO_DEFINITION_0(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_init, hsa_init, hsa_init_fn) +HSA_API_INFO_DEFINITION_0(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down, hsa_shut_down, hsa_shut_down_fn) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_system_get_info, hsa_system_get_info, hsa_system_get_info_fn, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_system_extension_supported, hsa_system_extension_supported, hsa_system_extension_supported_fn, extension, version_major, version_minor, result) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_system_get_extension_table, hsa_system_get_extension_table, hsa_system_get_extension_table_fn, extension, version_major, version_minor, table) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_iterate_agents, hsa_iterate_agents, hsa_iterate_agents_fn, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_info, hsa_agent_get_info, hsa_agent_get_info_fn, agent, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_create, hsa_queue_create, hsa_queue_create_fn, agent, size, type, callback, data, private_segment_size, group_segment_size, queue) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_soft_queue_create, hsa_soft_queue_create, hsa_soft_queue_create_fn, region, size, type, features, doorbell_signal, queue) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_destroy, hsa_queue_destroy, hsa_queue_destroy_fn, queue) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_inactivate, hsa_queue_inactivate, hsa_queue_inactivate_fn, queue) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_load_read_index_scacquire, hsa_queue_load_read_index_scacquire, hsa_queue_load_read_index_scacquire_fn, queue) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_load_read_index_relaxed, hsa_queue_load_read_index_relaxed, hsa_queue_load_read_index_relaxed_fn, queue) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_load_write_index_scacquire, hsa_queue_load_write_index_scacquire, hsa_queue_load_write_index_scacquire_fn, queue) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_load_write_index_relaxed, hsa_queue_load_write_index_relaxed, hsa_queue_load_write_index_relaxed_fn, queue) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_store_write_index_relaxed, hsa_queue_store_write_index_relaxed, hsa_queue_store_write_index_relaxed_fn, queue, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_store_write_index_screlease, hsa_queue_store_write_index_screlease, hsa_queue_store_write_index_screlease_fn, queue, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_cas_write_index_scacq_screl, hsa_queue_cas_write_index_scacq_screl, hsa_queue_cas_write_index_scacq_screl_fn, queue, expected, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_cas_write_index_scacquire, hsa_queue_cas_write_index_scacquire, hsa_queue_cas_write_index_scacquire_fn, queue, expected, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_cas_write_index_relaxed, hsa_queue_cas_write_index_relaxed, hsa_queue_cas_write_index_relaxed_fn, queue, expected, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_cas_write_index_screlease, hsa_queue_cas_write_index_screlease, hsa_queue_cas_write_index_screlease_fn, queue, expected, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_add_write_index_scacq_screl, hsa_queue_add_write_index_scacq_screl, hsa_queue_add_write_index_scacq_screl_fn, queue, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_add_write_index_scacquire, hsa_queue_add_write_index_scacquire, hsa_queue_add_write_index_scacquire_fn, queue, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_add_write_index_relaxed, hsa_queue_add_write_index_relaxed, hsa_queue_add_write_index_relaxed_fn, queue, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_add_write_index_screlease, hsa_queue_add_write_index_screlease, hsa_queue_add_write_index_screlease_fn, queue, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_store_read_index_relaxed, hsa_queue_store_read_index_relaxed, hsa_queue_store_read_index_relaxed_fn, queue, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_queue_store_read_index_screlease, hsa_queue_store_read_index_screlease, hsa_queue_store_read_index_screlease_fn, queue, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_agent_iterate_regions, hsa_agent_iterate_regions, hsa_agent_iterate_regions_fn, agent, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_region_get_info, hsa_region_get_info, hsa_region_get_info_fn, region, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_exception_policies, hsa_agent_get_exception_policies, hsa_agent_get_exception_policies_fn, agent, profile, mask) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_agent_extension_supported, hsa_agent_extension_supported, hsa_agent_extension_supported_fn, extension, agent, version_major, version_minor, result) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_memory_register, hsa_memory_register, hsa_memory_register_fn, ptr, size) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_memory_deregister, hsa_memory_deregister, hsa_memory_deregister_fn, ptr, size) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_memory_allocate, hsa_memory_allocate, hsa_memory_allocate_fn, region, size, ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_memory_free, hsa_memory_free, hsa_memory_free_fn, ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_memory_copy, hsa_memory_copy, hsa_memory_copy_fn, dst, src, size) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_memory_assign_agent, hsa_memory_assign_agent, hsa_memory_assign_agent_fn, ptr, agent, access) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_create, hsa_signal_create, hsa_signal_create_fn, initial_value, num_consumers, consumers, signal) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_destroy, hsa_signal_destroy, hsa_signal_destroy_fn, signal) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_load_relaxed, hsa_signal_load_relaxed, hsa_signal_load_relaxed_fn, signal) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_load_scacquire, hsa_signal_load_scacquire, hsa_signal_load_scacquire_fn, signal) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_store_relaxed, hsa_signal_store_relaxed, hsa_signal_store_relaxed_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_store_screlease, hsa_signal_store_screlease, hsa_signal_store_screlease_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_wait_relaxed, hsa_signal_wait_relaxed, hsa_signal_wait_relaxed_fn, signal, condition, compare_value, timeout_hint, wait_state_hint) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_wait_scacquire, hsa_signal_wait_scacquire, hsa_signal_wait_scacquire_fn, signal, condition, compare_value, timeout_hint, wait_state_hint) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_and_relaxed, hsa_signal_and_relaxed, hsa_signal_and_relaxed_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_and_scacquire, hsa_signal_and_scacquire, hsa_signal_and_scacquire_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_and_screlease, hsa_signal_and_screlease, hsa_signal_and_screlease_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_and_scacq_screl, hsa_signal_and_scacq_screl, hsa_signal_and_scacq_screl_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_or_relaxed, hsa_signal_or_relaxed, hsa_signal_or_relaxed_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_or_scacquire, hsa_signal_or_scacquire, hsa_signal_or_scacquire_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_or_screlease, hsa_signal_or_screlease, hsa_signal_or_screlease_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_or_scacq_screl, hsa_signal_or_scacq_screl, hsa_signal_or_scacq_screl_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_xor_relaxed, hsa_signal_xor_relaxed, hsa_signal_xor_relaxed_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_xor_scacquire, hsa_signal_xor_scacquire, hsa_signal_xor_scacquire_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_xor_screlease, hsa_signal_xor_screlease, hsa_signal_xor_screlease_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_xor_scacq_screl, hsa_signal_xor_scacq_screl, hsa_signal_xor_scacq_screl_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_exchange_relaxed, hsa_signal_exchange_relaxed, hsa_signal_exchange_relaxed_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_exchange_scacquire, hsa_signal_exchange_scacquire, hsa_signal_exchange_scacquire_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_exchange_screlease, hsa_signal_exchange_screlease, hsa_signal_exchange_screlease_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_exchange_scacq_screl, hsa_signal_exchange_scacq_screl, hsa_signal_exchange_scacq_screl_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_add_relaxed, hsa_signal_add_relaxed, hsa_signal_add_relaxed_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_add_scacquire, hsa_signal_add_scacquire, hsa_signal_add_scacquire_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_add_screlease, hsa_signal_add_screlease, hsa_signal_add_screlease_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_add_scacq_screl, hsa_signal_add_scacq_screl, hsa_signal_add_scacq_screl_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_subtract_relaxed, hsa_signal_subtract_relaxed, hsa_signal_subtract_relaxed_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_subtract_scacquire, hsa_signal_subtract_scacquire, hsa_signal_subtract_scacquire_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_subtract_screlease, hsa_signal_subtract_screlease, hsa_signal_subtract_screlease_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_subtract_scacq_screl, hsa_signal_subtract_scacq_screl, hsa_signal_subtract_scacq_screl_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_cas_relaxed, hsa_signal_cas_relaxed, hsa_signal_cas_relaxed_fn, signal, expected, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_cas_scacquire, hsa_signal_cas_scacquire, hsa_signal_cas_scacquire_fn, signal, expected, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_cas_screlease, hsa_signal_cas_screlease, hsa_signal_cas_screlease_fn, signal, expected, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_cas_scacq_screl, hsa_signal_cas_scacq_screl, hsa_signal_cas_scacq_screl_fn, signal, expected, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_isa_from_name, hsa_isa_from_name, hsa_isa_from_name_fn, name, isa) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_isa_get_info, hsa_isa_get_info, hsa_isa_get_info_fn, isa, attribute, index, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_isa_compatible, hsa_isa_compatible, hsa_isa_compatible_fn, code_object_isa, agent_isa, result) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_serialize, hsa_code_object_serialize, hsa_code_object_serialize_fn, code_object, alloc_callback, callback_data, options, serialized_code_object, serialized_code_object_size) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_deserialize, hsa_code_object_deserialize, hsa_code_object_deserialize_fn, serialized_code_object, serialized_code_object_size, options, code_object) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_destroy, hsa_code_object_destroy, hsa_code_object_destroy_fn, code_object) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_get_info, hsa_code_object_get_info, hsa_code_object_get_info_fn, code_object, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_get_symbol, hsa_code_object_get_symbol, hsa_code_object_get_symbol_fn, code_object, symbol_name, symbol) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_symbol_get_info, hsa_code_symbol_get_info, hsa_code_symbol_get_info_fn, code_symbol, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_iterate_symbols, hsa_code_object_iterate_symbols, hsa_code_object_iterate_symbols_fn, code_object, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_create, hsa_executable_create, hsa_executable_create_fn, profile, executable_state, options, executable) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_destroy, hsa_executable_destroy, hsa_executable_destroy_fn, executable) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_load_code_object, hsa_executable_load_code_object, hsa_executable_load_code_object_fn, executable, agent, code_object, options) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_freeze, hsa_executable_freeze, hsa_executable_freeze_fn, executable, options) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_get_info, hsa_executable_get_info, hsa_executable_get_info_fn, executable, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_global_variable_define, hsa_executable_global_variable_define, hsa_executable_global_variable_define_fn, executable, variable_name, address) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_agent_global_variable_define, hsa_executable_agent_global_variable_define, hsa_executable_agent_global_variable_define_fn, executable, agent, variable_name, address) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_readonly_variable_define, hsa_executable_readonly_variable_define, hsa_executable_readonly_variable_define_fn, executable, agent, variable_name, address) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_validate, hsa_executable_validate, hsa_executable_validate_fn, executable, result) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_get_symbol, hsa_executable_get_symbol, hsa_executable_get_symbol_fn, executable, module_name, symbol_name, agent, call_convention, symbol) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_symbol_get_info, hsa_executable_symbol_get_info, hsa_executable_symbol_get_info_fn, executable_symbol, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_iterate_symbols, hsa_executable_iterate_symbols, hsa_executable_iterate_symbols_fn, executable, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_status_string, hsa_status_string, hsa_status_string_fn, status, status_string) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_extension_get_name, hsa_extension_get_name, hsa_extension_get_name_fn, extension, name) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_system_major_extension_supported, hsa_system_major_extension_supported, hsa_system_major_extension_supported_fn, extension, version_major, version_minor, result) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_system_get_major_extension_table, hsa_system_get_major_extension_table, hsa_system_get_major_extension_table_fn, extension, version_major, table_length, table) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_agent_major_extension_supported, hsa_agent_major_extension_supported, hsa_agent_major_extension_supported_fn, extension, agent, version_major, version_minor, result) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_cache_get_info, hsa_cache_get_info, hsa_cache_get_info_fn, cache, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_agent_iterate_caches, hsa_agent_iterate_caches, hsa_agent_iterate_caches_fn, agent, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_silent_store_relaxed, hsa_signal_silent_store_relaxed, hsa_signal_silent_store_relaxed_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_silent_store_screlease, hsa_signal_silent_store_screlease, hsa_signal_silent_store_screlease_fn, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_group_create, hsa_signal_group_create, hsa_signal_group_create_fn, num_signals, signals, num_consumers, consumers, signal_group) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_group_destroy, hsa_signal_group_destroy, hsa_signal_group_destroy_fn, signal_group) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_group_wait_any_scacquire, hsa_signal_group_wait_any_scacquire, hsa_signal_group_wait_any_scacquire_fn, signal_group, conditions, compare_values, wait_state_hint, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_signal_group_wait_any_relaxed, hsa_signal_group_wait_any_relaxed, hsa_signal_group_wait_any_relaxed_fn, signal_group, conditions, compare_values, wait_state_hint, signal, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_agent_iterate_isas, hsa_agent_iterate_isas, hsa_agent_iterate_isas_fn, agent, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_isa_get_info_alt, hsa_isa_get_info_alt, hsa_isa_get_info_alt_fn, isa, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_isa_get_exception_policies, hsa_isa_get_exception_policies, hsa_isa_get_exception_policies_fn, isa, profile, mask) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_isa_get_round_method, hsa_isa_get_round_method, hsa_isa_get_round_method_fn, isa, fp_type, flush_mode, round_method) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_wavefront_get_info, hsa_wavefront_get_info, hsa_wavefront_get_info_fn, wavefront, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_isa_iterate_wavefronts, hsa_isa_iterate_wavefronts, hsa_isa_iterate_wavefronts_fn, isa, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_get_symbol_from_name, hsa_code_object_get_symbol_from_name, hsa_code_object_get_symbol_from_name_fn, code_object, module_name, symbol_name, symbol) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_reader_create_from_file, hsa_code_object_reader_create_from_file, hsa_code_object_reader_create_from_file_fn, file, code_object_reader) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_reader_create_from_memory, hsa_code_object_reader_create_from_memory, hsa_code_object_reader_create_from_memory_fn, code_object, size, code_object_reader) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_code_object_reader_destroy, hsa_code_object_reader_destroy, hsa_code_object_reader_destroy_fn, code_object_reader) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_create_alt, hsa_executable_create_alt, hsa_executable_create_alt_fn, profile, default_float_rounding_mode, options, executable) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_load_program_code_object, hsa_executable_load_program_code_object, hsa_executable_load_program_code_object_fn, executable, code_object_reader, options, loaded_code_object) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_load_agent_code_object, hsa_executable_load_agent_code_object, hsa_executable_load_agent_code_object_fn, executable, agent, code_object_reader, options, loaded_code_object) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_validate_alt, hsa_executable_validate_alt, hsa_executable_validate_alt_fn, executable, options, result) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_get_symbol_by_name, hsa_executable_get_symbol_by_name, hsa_executable_get_symbol_by_name_fn, executable, symbol_name, agent, symbol) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_iterate_agent_symbols, hsa_executable_iterate_agent_symbols, hsa_executable_iterate_agent_symbols_fn, executable, agent, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_Core, ROCPROFILER_HSA_CORE_API_ID_hsa_executable_iterate_program_symbols, hsa_executable_iterate_program_symbols, hsa_executable_iterate_program_symbols_fn, executable, callback, data) + +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_coherency_get_type, hsa_amd_coherency_get_type, hsa_amd_coherency_get_type_fn, agent, type) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_coherency_set_type, hsa_amd_coherency_set_type, hsa_amd_coherency_set_type_fn, agent, type) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_set_profiler_enabled, hsa_amd_profiling_set_profiler_enabled, hsa_amd_profiling_set_profiler_enabled_fn, queue, enable) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_async_copy_enable, hsa_amd_profiling_async_copy_enable, hsa_amd_profiling_async_copy_enable_fn, enable) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_get_dispatch_time, hsa_amd_profiling_get_dispatch_time, hsa_amd_profiling_get_dispatch_time_fn, agent, signal, time) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_get_async_copy_time, hsa_amd_profiling_get_async_copy_time, hsa_amd_profiling_get_async_copy_time_fn, signal, time) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_convert_tick_to_system_domain, hsa_amd_profiling_convert_tick_to_system_domain, hsa_amd_profiling_convert_tick_to_system_domain_fn, agent, agent_tick, system_tick) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_async_handler, hsa_amd_signal_async_handler, hsa_amd_signal_async_handler_fn, signal, cond, value, handler, arg) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_async_function, hsa_amd_async_function, hsa_amd_async_function_fn, callback, arg) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_wait_any, hsa_amd_signal_wait_any, hsa_amd_signal_wait_any_fn, signal_count, signals, conds, values, timeout_hint, wait_hint, satisfying_value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_cu_set_mask, hsa_amd_queue_cu_set_mask, hsa_amd_queue_cu_set_mask_fn, queue, num_cu_mask_count, cu_mask) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_pool_get_info, hsa_amd_memory_pool_get_info, hsa_amd_memory_pool_get_info_fn, memory_pool, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agent_iterate_memory_pools, hsa_amd_agent_iterate_memory_pools, hsa_amd_agent_iterate_memory_pools_fn, agent, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_pool_allocate, hsa_amd_memory_pool_allocate, hsa_amd_memory_pool_allocate_fn, memory_pool, size, flags, ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_pool_free, hsa_amd_memory_pool_free, hsa_amd_memory_pool_free_fn, ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy, hsa_amd_memory_async_copy, hsa_amd_memory_async_copy_fn, dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy_on_engine, hsa_amd_memory_async_copy_on_engine, hsa_amd_memory_async_copy_on_engine_fn, dst, dst_agent, src, src_agent, size, num_dep_signals, dep_signals, completion_signal, engine_id, force_copy_on_sdma) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_copy_engine_status, hsa_amd_memory_copy_engine_status, hsa_amd_memory_copy_engine_status_fn, dst_agent, src_agent, engine_ids_mask) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agent_memory_pool_get_info, hsa_amd_agent_memory_pool_get_info, hsa_amd_agent_memory_pool_get_info_fn, agent, memory_pool, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agents_allow_access, hsa_amd_agents_allow_access, hsa_amd_agents_allow_access_fn, num_agents, agents, flags, ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_pool_can_migrate, hsa_amd_memory_pool_can_migrate, hsa_amd_memory_pool_can_migrate_fn, src_memory_pool, dst_memory_pool, result) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_migrate, hsa_amd_memory_migrate, hsa_amd_memory_migrate_fn, ptr, memory_pool, flags) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_lock, hsa_amd_memory_lock, hsa_amd_memory_lock_fn, host_ptr, size, agents, num_agent, agent_ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_unlock, hsa_amd_memory_unlock, hsa_amd_memory_unlock_fn, host_ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_fill, hsa_amd_memory_fill, hsa_amd_memory_fill_fn, ptr, value, count) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_interop_map_buffer, hsa_amd_interop_map_buffer, hsa_amd_interop_map_buffer_fn, num_agents, agents, interop_handle, flags, size, ptr, metadata_size, metadata) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_interop_unmap_buffer, hsa_amd_interop_unmap_buffer, hsa_amd_interop_unmap_buffer_fn, ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_image_create, hsa_amd_image_create, hsa_amd_image_create_fn, agent, image_descriptor, image_layout, image_data, access_permission, image) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_pointer_info, hsa_amd_pointer_info, hsa_amd_pointer_info_fn, ptr, info, alloc, num_agents_accessible, accessible) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_pointer_info_set_userdata, hsa_amd_pointer_info_set_userdata, hsa_amd_pointer_info_set_userdata_fn, ptr, userdata) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_memory_create, hsa_amd_ipc_memory_create, hsa_amd_ipc_memory_create_fn, ptr, len, handle) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_memory_attach, hsa_amd_ipc_memory_attach, hsa_amd_ipc_memory_attach_fn, handle, len, num_agents, mapping_agents, mapped_ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_memory_detach, hsa_amd_ipc_memory_detach, hsa_amd_ipc_memory_detach_fn, mapped_ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_create, hsa_amd_signal_create, hsa_amd_signal_create_fn, initial_value, num_consumers, consumers, attributes, signal) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_signal_create, hsa_amd_ipc_signal_create, hsa_amd_ipc_signal_create_fn, signal, handle) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ipc_signal_attach, hsa_amd_ipc_signal_attach, hsa_amd_ipc_signal_attach_fn, handle, signal) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_register_system_event_handler, hsa_amd_register_system_event_handler, hsa_amd_register_system_event_handler_fn, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_set_priority, hsa_amd_queue_set_priority, hsa_amd_queue_set_priority_fn, queue, priority) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy_rect, hsa_amd_memory_async_copy_rect, hsa_amd_memory_async_copy_rect_fn, dst, dst_offset, src, src_offset, range, copy_agent, dir, num_dep_signals, dep_signals, completion_signal) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_lock_to_pool, hsa_amd_memory_lock_to_pool, hsa_amd_memory_lock_to_pool_fn, host_ptr, size, agents, num_agent, pool, flags, agent_ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_register_deallocation_callback, hsa_amd_register_deallocation_callback, hsa_amd_register_deallocation_callback_fn, ptr, callback, user_data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_deregister_deallocation_callback, hsa_amd_deregister_deallocation_callback, hsa_amd_deregister_deallocation_callback_fn, ptr, callback) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_value_pointer, hsa_amd_signal_value_pointer, hsa_amd_signal_value_pointer_fn, signal, value_ptr) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_svm_attributes_set, hsa_amd_svm_attributes_set, hsa_amd_svm_attributes_set_fn, ptr, size, attribute_list, attribute_count) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_svm_attributes_get, hsa_amd_svm_attributes_get, hsa_amd_svm_attributes_get_fn, ptr, size, attribute_list, attribute_count) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_svm_prefetch_async, hsa_amd_svm_prefetch_async, hsa_amd_svm_prefetch_async_fn, ptr, size, agent, num_dep_signals, dep_signals, completion_signal) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_spm_acquire, hsa_amd_spm_acquire, hsa_amd_spm_acquire_fn, preferred_agent) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_spm_release, hsa_amd_spm_release, hsa_amd_spm_release_fn, preferred_agent) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_spm_set_dest_buffer, hsa_amd_spm_set_dest_buffer, hsa_amd_spm_set_dest_buffer_fn, preferred_agent, size_in_bytes, timeout, size_copied, dest, is_data_loss) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_cu_get_mask, hsa_amd_queue_cu_get_mask, hsa_amd_queue_cu_get_mask_fn, queue, num_cu_mask_count, cu_mask) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_portable_export_dmabuf, hsa_amd_portable_export_dmabuf, hsa_amd_portable_export_dmabuf_fn, ptr, size, dmabuf, offset) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_portable_close_dmabuf, hsa_amd_portable_close_dmabuf, hsa_amd_portable_close_dmabuf_fn, dmabuf) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_intercept_create, hsa_amd_queue_intercept_create, hsa_amd_queue_intercept_create_fn, agent_handle, size, type, callback, data, private_segment_size, group_segment_size, queue) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_intercept_register, hsa_amd_queue_intercept_register, hsa_amd_queue_intercept_register_fn, queue, callback, user_data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_runtime_queue_create_register, hsa_amd_runtime_queue_create_register, hsa_amd_runtime_queue_create_register_fn, callback, user_data) + +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_get_capability, hsa_ext_image_get_capability, hsa_ext_image_get_capability_fn, agent, geometry, image_format, capability_mask) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_data_get_info, hsa_ext_image_data_get_info, hsa_ext_image_data_get_info_fn, agent, image_descriptor, access_permission, image_data_info) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_create, hsa_ext_image_create, hsa_ext_image_create_fn, agent, image_descriptor, image_data, access_permission, image) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_import, hsa_ext_image_import, hsa_ext_image_import_fn, agent, src_memory, src_row_pitch, src_slice_pitch, dst_image, image_region) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_export, hsa_ext_image_export, hsa_ext_image_export_fn, agent, src_image, dst_memory, dst_row_pitch, dst_slice_pitch, image_region) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_copy, hsa_ext_image_copy, hsa_ext_image_copy_fn, agent, src_image, src_offset, dst_image, dst_offset, range) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_clear, hsa_ext_image_clear, hsa_ext_image_clear_fn, agent, image, data, image_region) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_destroy, hsa_ext_image_destroy, hsa_ext_image_destroy_fn, agent, image) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_sampler_create, hsa_ext_sampler_create, hsa_ext_sampler_create_fn, agent, sampler_descriptor, sampler) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_sampler_destroy, hsa_ext_sampler_destroy, hsa_ext_sampler_destroy_fn, agent, sampler) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_get_capability_with_layout, hsa_ext_image_get_capability_with_layout, hsa_ext_image_get_capability_with_layout_fn, agent, geometry, image_format, image_data_layout, capability_mask) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_data_get_info_with_layout, hsa_ext_image_data_get_info_with_layout, hsa_ext_image_data_get_info_with_layout_fn, agent, image_descriptor, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image_data_info) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_ImageExt, ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_create_with_layout, hsa_ext_image_create_with_layout, hsa_ext_image_create_with_layout_fn, agent, image_descriptor, image_data, access_permission, image_data_layout, image_data_row_pitch, image_data_slice_pitch, image) + +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_FinalizeExt, ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_create, hsa_ext_program_create, hsa_ext_program_create_fn, machine_model, profile, default_float_rounding_mode, options, program) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_FinalizeExt, ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_destroy, hsa_ext_program_destroy, hsa_ext_program_destroy_fn, program) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_FinalizeExt, ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_add_module, hsa_ext_program_add_module, hsa_ext_program_add_module_fn, program, module) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_FinalizeExt, ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_iterate_modules, hsa_ext_program_iterate_modules, hsa_ext_program_iterate_modules_fn, program, callback, data) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_FinalizeExt, ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_get_info, hsa_ext_program_get_info, hsa_ext_program_get_info_fn, program, attribute, value) +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_FinalizeExt, ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_finalize, hsa_ext_program_finalize, hsa_ext_program_finalize_fn, program, isa, call_convention, control_directives, options, code_object_type, code_object) // clang-format on # if HSA_AMD_EXT_API_TABLE_MAJOR_VERSION >= 0x02 -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_address_reserve, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_address_reserve, hsa_amd_vmem_address_reserve, hsa_amd_vmem_address_reserve_fn, ptr, size, address, flags) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_address_free, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_address_free, hsa_amd_vmem_address_free, hsa_amd_vmem_address_free_fn, ptr, size) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_handle_create, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_handle_create, hsa_amd_vmem_handle_create, hsa_amd_vmem_handle_create_fn, pool, @@ -253,13 +323,13 @@ HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, type, flags, memory_handle) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_handle_release, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_handle_release, hsa_amd_vmem_handle_release, hsa_amd_vmem_handle_release_fn, memory_handle) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_map, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_map, hsa_amd_vmem_map, hsa_amd_vmem_map_fn, va, @@ -267,56 +337,57 @@ HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, in_offset, memory_handle, flags) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_unmap, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_unmap, hsa_amd_vmem_unmap, hsa_amd_vmem_unmap_fn, va, size) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_set_access, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_set_access, hsa_amd_vmem_set_access, hsa_amd_vmem_set_access_fn, va, size, desc, desc_cnt) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_get_access, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_get_access, hsa_amd_vmem_get_access, hsa_amd_vmem_get_access_fn, va, perms, agent_handle) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_export_shareable_handle, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_export_shareable_handle, hsa_amd_vmem_export_shareable_handle, hsa_amd_vmem_export_shareable_handle_fn, dmabuf_fd, handle, flags) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_import_shareable_handle, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_import_shareable_handle, hsa_amd_vmem_import_shareable_handle, hsa_amd_vmem_import_shareable_handle_fn, dmabuf_fd, handle) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_retain_alloc_handle, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_retain_alloc_handle, hsa_amd_vmem_retain_alloc_handle, hsa_amd_vmem_retain_alloc_handle_fn, handle, addr) -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_vmem_get_alloc_properties_from_handle, - hsa_amd_vmem_get_alloc_properties_from_handle, - hsa_amd_vmem_get_alloc_properties_from_handle_fn, - alloc_handle, - pool, - type) +HSA_API_INFO_DEFINITION_V( + ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_get_alloc_properties_from_handle, + hsa_amd_vmem_get_alloc_properties_from_handle, + hsa_amd_vmem_get_alloc_properties_from_handle_fn, + alloc_handle, + pool, + type) # if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x01 -HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, - ROCPROFILER_HSA_API_ID_hsa_amd_agent_set_async_scratch_limit, +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agent_set_async_scratch_limit, hsa_amd_agent_set_async_scratch_limit, hsa_amd_agent_set_async_scratch_limit_fn, agent, @@ -328,9 +399,9 @@ HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_LIB_ROCPROFILER_HSA_ASYNC_COPY_CPP_IMPL == 1 // clang-format off -HSA_API_META_DEFINITION(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy, hsa_amd_memory_async_copy, hsa_amd_memory_async_copy_fn) -HSA_API_META_DEFINITION(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_on_engine, hsa_amd_memory_async_copy_on_engine, hsa_amd_memory_async_copy_on_engine_fn) -HSA_API_META_DEFINITION(ROCPROFILER_HSA_API_TABLE_ID_AmdExt, ROCPROFILER_HSA_API_ID_hsa_amd_memory_async_copy_rect, hsa_amd_memory_async_copy_rect, hsa_amd_memory_async_copy_rect_fn) +HSA_API_META_DEFINITION(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy, hsa_amd_memory_async_copy, hsa_amd_memory_async_copy_fn) +HSA_API_META_DEFINITION(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy_on_engine, hsa_amd_memory_async_copy_on_engine, hsa_amd_memory_async_copy_on_engine_fn) +HSA_API_META_DEFINITION(ROCPROFILER_HSA_TABLE_ID_AmdExt, ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_async_copy_rect, hsa_amd_memory_async_copy_rect, hsa_amd_memory_async_copy_rect_fn) // clang-format on #else diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.hpp index 1b39b23e6b..2f13467449 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.hpp @@ -60,10 +60,16 @@ get_img_ext_table(); template struct hsa_table_lookup; -template +template +struct hsa_table_id_lookup; + +template +struct hsa_domain_info; + +template struct hsa_api_info; -template +template struct hsa_api_meta; template @@ -81,7 +87,7 @@ template struct hsa_api_func : hsa_api_func {}; -template +template struct hsa_api_impl { template @@ -94,25 +100,35 @@ struct hsa_api_impl static auto functor(Args&&... args); }; +template const char* name_by_id(uint32_t id); +template uint32_t id_by_name(const char* name); +template +std::vector +get_names(); + +template +std::vector +get_ids(); + +template void iterate_args(uint32_t id, const rocprofiler_callback_tracing_hsa_api_data_t& data, rocprofiler_callback_tracing_operation_args_cb_t callback, void* user_data); -std::vector -get_names(); - -std::vector -get_ids(); - +template void -update_table(hsa_api_table_t* _orig); +copy_table(TableT* _orig); + +template +void +update_table(TableT* _orig); } // namespace hsa } // namespace rocprofiler diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/utils.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/utils.hpp index 28d0ffa60e..8faac60888 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/utils.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/utils.hpp @@ -31,6 +31,8 @@ #include #include +#include +#include #include #include @@ -182,5 +184,42 @@ struct formatter ctx.out(), "permissions={}, agent_handle={}", v.permissions, v.agent_handle); } }; + +template <> +struct formatter : rocprofiler::hsa::utils::handle_formatter +{}; + +template <> +struct formatter +{ + template + constexpr auto parse(ParseContext& ctx) + { + return ctx.begin(); + } + + template + auto format(const hsa_ext_control_directives_t& v, Ctx& ctx) const + { + return fmt::format_to( + ctx.out(), + "control_directives_mask={}, break_exceptions_mask={}, detect_exceptions_mask={}, " + "max_dynamic_group_size={}, max_flat_grid_size={}, max_flat_workgroup_size={}, " + "required_grid_size=({},{},{}), required_workgroup_size=({},{},{}), required_dim={}", + v.control_directives_mask, + v.break_exceptions_mask, + v.detect_exceptions_mask, + v.max_dynamic_group_size, + v.max_flat_grid_size, + v.max_flat_workgroup_size, + v.required_grid_size[0], + v.required_grid_size[1], + v.required_grid_size[2], + v.required_workgroup_size.x, + v.required_workgroup_size.y, + v.required_workgroup_size.z, + v.required_dim); + } +}; } // namespace fmt #endif diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/defines.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/defines.hpp index 65288c038a..2c987fa585 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/defines.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/defines.hpp @@ -22,79 +22,7 @@ #pragma once -#define IMPL_DETAIL_EXPAND(X) X -#define IMPL_DETAIL_FOR_EACH_NARG(...) \ - IMPL_DETAIL_FOR_EACH_NARG_(__VA_ARGS__, IMPL_DETAIL_FOR_EACH_RSEQ_N()) -#define IMPL_DETAIL_FOR_EACH_NARG_(...) IMPL_DETAIL_EXPAND(IMPL_DETAIL_FOR_EACH_ARG_N(__VA_ARGS__)) -#define IMPL_DETAIL_FOR_EACH_ARG_N( \ - _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, N, ...) \ - N -#define IMPL_DETAIL_FOR_EACH_RSEQ_N() 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 -#define IMPL_DETAIL_CONCATENATE(X, Y) X##Y -#define IMPL_DETAIL_FOR_EACH_(N, MACRO, PREFIX, ...) \ - IMPL_DETAIL_EXPAND(IMPL_DETAIL_CONCATENATE(MACRO, N)(PREFIX, __VA_ARGS__)) -#define IMPL_DETAIL_FOR_EACH(MACRO, PREFIX, ...) \ - IMPL_DETAIL_FOR_EACH_(IMPL_DETAIL_FOR_EACH_NARG(__VA_ARGS__), MACRO, PREFIX, __VA_ARGS__) - -#define ADDR_MEMBER_0(...) -#define ADDR_MEMBER_1(PREFIX, FIELD) static_cast(&PREFIX.FIELD) -#define ADDR_MEMBER_2(PREFIX, A, B) ADDR_MEMBER_1(PREFIX, A), ADDR_MEMBER_1(PREFIX, B) -#define ADDR_MEMBER_3(PREFIX, A, B, C) ADDR_MEMBER_2(PREFIX, A, B), ADDR_MEMBER_1(PREFIX, C) -#define ADDR_MEMBER_4(PREFIX, A, B, C, D) ADDR_MEMBER_3(PREFIX, A, B, C), ADDR_MEMBER_1(PREFIX, D) -#define ADDR_MEMBER_5(PREFIX, A, B, C, D, E) \ - ADDR_MEMBER_4(PREFIX, A, B, C, D), ADDR_MEMBER_1(PREFIX, E) -#define ADDR_MEMBER_6(PREFIX, A, B, C, D, E, F) \ - ADDR_MEMBER_5(PREFIX, A, B, C, D, E), ADDR_MEMBER_1(PREFIX, F) -#define ADDR_MEMBER_7(PREFIX, A, B, C, D, E, F, G) \ - ADDR_MEMBER_6(PREFIX, A, B, C, D, E, F), ADDR_MEMBER_1(PREFIX, G) -#define ADDR_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H) \ - ADDR_MEMBER_7(PREFIX, A, B, C, D, E, F, G), ADDR_MEMBER_1(PREFIX, H) -#define ADDR_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I) \ - ADDR_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H), ADDR_MEMBER_1(PREFIX, I) -#define ADDR_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J) \ - ADDR_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I), ADDR_MEMBER_1(PREFIX, J) -#define ADDR_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K) \ - ADDR_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J), ADDR_MEMBER_1(PREFIX, K) -#define ADDR_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L) \ - ADDR_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K), ADDR_MEMBER_1(PREFIX, L) -#define ADDR_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M) \ - ADDR_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L), ADDR_MEMBER_1(PREFIX, M) -#define ADDR_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N) \ - ADDR_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M), ADDR_MEMBER_1(PREFIX, N) -#define ADDR_MEMBER_15(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) \ - ADDR_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N), ADDR_MEMBER_1(PREFIX, O) - -#define NAMED_MEMBER_0(...) -#define NAMED_MEMBER_1(PREFIX, FIELD) std::make_pair(#FIELD, PREFIX.FIELD) -#define NAMED_MEMBER_2(PREFIX, A, B) NAMED_MEMBER_1(PREFIX, A), NAMED_MEMBER_1(PREFIX, B) -#define NAMED_MEMBER_3(PREFIX, A, B, C) NAMED_MEMBER_2(PREFIX, A, B), NAMED_MEMBER_1(PREFIX, C) -#define NAMED_MEMBER_4(PREFIX, A, B, C, D) \ - NAMED_MEMBER_3(PREFIX, A, B, C), NAMED_MEMBER_1(PREFIX, D) -#define NAMED_MEMBER_5(PREFIX, A, B, C, D, E) \ - NAMED_MEMBER_4(PREFIX, A, B, C, D), NAMED_MEMBER_1(PREFIX, E) -#define NAMED_MEMBER_6(PREFIX, A, B, C, D, E, F) \ - NAMED_MEMBER_5(PREFIX, A, B, C, D, E), NAMED_MEMBER_1(PREFIX, F) -#define NAMED_MEMBER_7(PREFIX, A, B, C, D, E, F, G) \ - NAMED_MEMBER_6(PREFIX, A, B, C, D, E, F), NAMED_MEMBER_1(PREFIX, G) -#define NAMED_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H) \ - NAMED_MEMBER_7(PREFIX, A, B, C, D, E, F, G), NAMED_MEMBER_1(PREFIX, H) -#define NAMED_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I) \ - NAMED_MEMBER_8(PREFIX, A, B, C, D, E, F, G, H), NAMED_MEMBER_1(PREFIX, I) -#define NAMED_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J) \ - NAMED_MEMBER_9(PREFIX, A, B, C, D, E, F, G, H, I), NAMED_MEMBER_1(PREFIX, J) -#define NAMED_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K) \ - NAMED_MEMBER_10(PREFIX, A, B, C, D, E, F, G, H, I, J), NAMED_MEMBER_1(PREFIX, K) -#define NAMED_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L) \ - NAMED_MEMBER_11(PREFIX, A, B, C, D, E, F, G, H, I, J, K), NAMED_MEMBER_1(PREFIX, L) -#define NAMED_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M) \ - NAMED_MEMBER_12(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L), NAMED_MEMBER_1(PREFIX, M) -#define NAMED_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N) \ - NAMED_MEMBER_13(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M), NAMED_MEMBER_1(PREFIX, N) -#define NAMED_MEMBER_15(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) \ - NAMED_MEMBER_14(PREFIX, A, B, C, D, E, F, G, H, I, J, K, L, M, N), NAMED_MEMBER_1(PREFIX, O) - -#define GET_ADDR_MEMBER_FIELDS(VAR, ...) IMPL_DETAIL_FOR_EACH(ADDR_MEMBER_, VAR, __VA_ARGS__) -#define GET_NAMED_MEMBER_FIELDS(VAR, ...) IMPL_DETAIL_FOR_EACH(NAMED_MEMBER_, VAR, __VA_ARGS__) +#include "lib/common/defines.hpp" #define MARKER_API_INFO_DEFINITION_0(MARKER_TABLE, MARKER_API_ID, MARKER_FUNC, MARKER_FUNC_PTR) \ namespace rocprofiler \ diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.cpp index 4ca0a93da0..f829188d89 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.cpp @@ -615,9 +615,9 @@ using iterate_args_cb_t = rocprofiler_callback_tracing_operation_args_cb_t; template void iterate_args( \ uint32_t, const iterate_args_data_t&, iterate_args_cb_t, void*); -INSTANTIATE_MARKER_TABLE_FUNC(roctx_core_api_table_t, ROCPROFILER_MARKER_API_TABLE_ID_RoctxCore) -INSTANTIATE_MARKER_TABLE_FUNC(roctx_ctrl_api_table_t, ROCPROFILER_MARKER_API_TABLE_ID_RoctxControl) -INSTANTIATE_MARKER_TABLE_FUNC(roctx_name_api_table_t, ROCPROFILER_MARKER_API_TABLE_ID_RoctxName) +INSTANTIATE_MARKER_TABLE_FUNC(roctx_core_api_table_t, ROCPROFILER_MARKER_TABLE_ID_RoctxCore) +INSTANTIATE_MARKER_TABLE_FUNC(roctx_ctrl_api_table_t, ROCPROFILER_MARKER_TABLE_ID_RoctxControl) +INSTANTIATE_MARKER_TABLE_FUNC(roctx_name_api_table_t, ROCPROFILER_MARKER_TABLE_ID_RoctxName) #undef INSTANTIATE_MARKER_TABLE_FUNC } // namespace marker diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.def.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.def.cpp index 06d167b3a9..50e9e9003b 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.def.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.def.cpp @@ -22,14 +22,15 @@ #include "lib/rocprofiler-sdk/marker/defines.hpp" #include "lib/rocprofiler-sdk/marker/marker.hpp" -#include "rocprofiler-sdk/marker/table_api_id.h" + +#include namespace rocprofiler { namespace marker { template <> -struct roctx_domain_info +struct roctx_domain_info { using args_type = rocprofiler_marker_api_args_t; using retval_type = rocprofiler_marker_api_retval_t; @@ -38,8 +39,8 @@ struct roctx_domain_info }; template <> -struct roctx_domain_info -: roctx_domain_info +struct roctx_domain_info +: roctx_domain_info { static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API; static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API; @@ -49,8 +50,8 @@ struct roctx_domain_info }; template <> -struct roctx_domain_info -: roctx_domain_info +struct roctx_domain_info +: roctx_domain_info { static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API; static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API; @@ -60,8 +61,8 @@ struct roctx_domain_info }; template <> -struct roctx_domain_info -: roctx_domain_info +struct roctx_domain_info +: roctx_domain_info { static constexpr auto callback_domain_idx = ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API; static constexpr auto buffered_domain_idx = ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API; @@ -76,24 +77,24 @@ struct roctx_domain_info ROCPROFILER_LIB_ROCPROFILER_SDK_MARKER_MARKER_CPP_IMPL == 1 // clang-format off -MARKER_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_MARKER_API_TABLE_ID_RoctxCore, roctx_core_api_table_t) -MARKER_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_MARKER_API_TABLE_ID_RoctxControl, roctx_ctrl_api_table_t) -MARKER_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_MARKER_API_TABLE_ID_RoctxName, roctx_name_api_table_t) +MARKER_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_MARKER_TABLE_ID_RoctxCore, roctx_core_api_table_t) +MARKER_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_MARKER_TABLE_ID_RoctxControl, roctx_ctrl_api_table_t) +MARKER_API_TABLE_LOOKUP_DEFINITION(ROCPROFILER_MARKER_TABLE_ID_RoctxName, roctx_name_api_table_t) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxMarkA, roctxMarkA, roctxMarkA_fn, message) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxRangePushA, roctxRangePushA, roctxRangePushA_fn, message) -MARKER_API_INFO_DEFINITION_0(ROCPROFILER_MARKER_API_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxRangePop, roctxRangePop, roctxRangePop_fn) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxRangeStartA, roctxRangeStartA, roctxRangeStartA_fn, message) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxRangeStop, roctxRangeStop, roctxRangeStop_fn, id) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxGetThreadId, roctxGetThreadId, roctxGetThreadId_fn, tid) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxMarkA, roctxMarkA, roctxMarkA_fn, message) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxRangePushA, roctxRangePushA, roctxRangePushA_fn, message) +MARKER_API_INFO_DEFINITION_0(ROCPROFILER_MARKER_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxRangePop, roctxRangePop, roctxRangePop_fn) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxRangeStartA, roctxRangeStartA, roctxRangeStartA_fn, message) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxRangeStop, roctxRangeStop, roctxRangeStop_fn, id) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxCore, ROCPROFILER_MARKER_CORE_API_ID_roctxGetThreadId, roctxGetThreadId, roctxGetThreadId_fn, tid) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxControl, ROCPROFILER_MARKER_CONTROL_API_ID_roctxProfilerPause, roctxProfilerPause, roctxProfilerPause_fn, tid) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxControl, ROCPROFILER_MARKER_CONTROL_API_ID_roctxProfilerResume, roctxProfilerResume, roctxProfilerResume_fn, tid) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxControl, ROCPROFILER_MARKER_CONTROL_API_ID_roctxProfilerPause, roctxProfilerPause, roctxProfilerPause_fn, tid) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxControl, ROCPROFILER_MARKER_CONTROL_API_ID_roctxProfilerResume, roctxProfilerResume, roctxProfilerResume_fn, tid) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxName, ROCPROFILER_MARKER_NAME_API_ID_roctxNameOsThread, roctxNameOsThread, roctxNameOsThread_fn, name) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxName, ROCPROFILER_MARKER_NAME_API_ID_roctxNameHsaAgent, roctxNameHsaAgent, roctxNameHsaAgent_fn, name, agent) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxName, ROCPROFILER_MARKER_NAME_API_ID_roctxNameHipDevice, roctxNameHipDevice, roctxNameHipDevice_fn, name, device_id) -MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_API_TABLE_ID_RoctxName, ROCPROFILER_MARKER_NAME_API_ID_roctxNameHipStream, roctxNameHipStream, roctxNameHipStream_fn, name, stream) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxName, ROCPROFILER_MARKER_NAME_API_ID_roctxNameOsThread, roctxNameOsThread, roctxNameOsThread_fn, name) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxName, ROCPROFILER_MARKER_NAME_API_ID_roctxNameHsaAgent, roctxNameHsaAgent, roctxNameHsaAgent_fn, name, agent) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxName, ROCPROFILER_MARKER_NAME_API_ID_roctxNameHipDevice, roctxNameHipDevice, roctxNameHipDevice_fn, name, device_id) +MARKER_API_INFO_DEFINITION_V(ROCPROFILER_MARKER_TABLE_ID_RoctxName, ROCPROFILER_MARKER_NAME_API_ID_roctxNameHipStream, roctxNameHipStream, roctxNameHipStream_fn, name, stream) // clang-format on #else diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.hpp index e154c4213c..ef446823e6 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/marker/marker.hpp @@ -74,13 +74,6 @@ template uint32_t id_by_name(const char* name); -template -void -iterate_args(uint32_t id, - const rocprofiler_callback_tracing_marker_api_data_t& data, - rocprofiler_callback_tracing_operation_args_cb_t callback, - void* user_data); - template std::vector get_names(); @@ -89,6 +82,13 @@ template std::vector get_ids(); +template +void +iterate_args(uint32_t id, + const rocprofiler_callback_tracing_marker_api_data_t& data, + rocprofiler_callback_tracing_operation_args_cb_t callback, + void* user_data); + template void copy_table(TableT* _orig); diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/registration.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/registration.cpp index a9f3016d68..ba19ef412d 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/registration.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/registration.cpp @@ -708,11 +708,16 @@ rocprofiler_set_api_table(const char* name, // any internal modifications to the HsaApiTable need to be done before we make the // copy or else those modifications will be lost when HSA API tracing is enabled // because the HSA API tracing invokes the function pointers from the copy below - auto& saved_hsa_api_table = rocprofiler::hsa::get_table(); - ::copyTables(hsa_api_table, &saved_hsa_api_table); + rocprofiler::hsa::copy_table(hsa_api_table->core_); + rocprofiler::hsa::copy_table(hsa_api_table->amd_ext_); + rocprofiler::hsa::copy_table(hsa_api_table->image_ext_); + rocprofiler::hsa::copy_table(hsa_api_table->finalizer_ext_); // install rocprofiler API wrappers - rocprofiler::hsa::update_table(hsa_api_table); + rocprofiler::hsa::update_table(hsa_api_table->core_); + rocprofiler::hsa::update_table(hsa_api_table->amd_ext_); + rocprofiler::hsa::update_table(hsa_api_table->image_ext_); + rocprofiler::hsa::update_table(hsa_api_table->finalizer_ext_); // allow tools to install API wrappers rocprofiler::intercept_table::notify_intercept_table_registration( diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/CMakeLists.txt b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/CMakeLists.txt index 8de1f8fadd..c1b36813a3 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/CMakeLists.txt +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/CMakeLists.txt @@ -11,7 +11,8 @@ include(GoogleTest) # # -------------------------------------------------------------------------------------- # -set(rocprofiler_lib_sources agent.cpp buffer.cpp hsa.cpp timestamp.cpp version.cpp) +set(rocprofiler_lib_sources agent.cpp buffer.cpp hsa.cpp naming.cpp timestamp.cpp + version.cpp) add_executable(rocprofiler-lib-tests) target_sources(rocprofiler-lib-tests PRIVATE ${rocprofiler_lib_sources} details/agent.cpp) diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/common.hpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/common.hpp index ff2aa6a107..328eb6b52a 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/common.hpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/common.hpp @@ -22,6 +22,7 @@ #pragma once +#include #include #include "lib/common/defines.hpp" @@ -31,6 +32,7 @@ #include #include +#include #include #include #include @@ -41,6 +43,13 @@ EXPECT_EQ(_status, ROCPROFILER_STATUS_SUCCESS) << MSG << " :: " << #ARG; \ } +#define ROCPROFILER_CALL_EXPECT(ARG, MSG, STATUS) \ + { \ + auto _status = (ARG); \ + EXPECT_EQ(_status, STATUS) << MSG << " (" << _status << "=" \ + << rocprofiler_get_status_string(_status) << ") :: " << #ARG; \ + } + namespace { struct callback_data @@ -57,15 +66,33 @@ struct callback_data int64_t max_depth = 0; }; +struct callback_data_ext +{ + using callback_count_data_t = std::pair; + using callback_count_map_t = std::map; + + rocprofiler_client_id_t* client_id = nullptr; + rocprofiler_client_finalize_t client_fini_func = nullptr; + rocprofiler_context_id_t client_hsa_ctx = {}; + rocprofiler_context_id_t client_hip_ctx = {}; + rocprofiler_buffer_id_t client_buffer = {}; + rocprofiler_callback_thread_t client_thread = {}; + uint64_t client_workflow_count = {}; + uint64_t client_elapsed = {}; + int64_t current_depth = 0; + int64_t max_depth = 0; + callback_count_map_t client_callback_count = {}; +}; + struct agent_data { uint64_t agent_count = 0; std::vector agents = {}; }; -using callback_kind_names_t = std::map; +using callback_kind_names_t = std::map; using callback_kind_operation_names_t = - std::map>; + std::map>; struct callback_name_info { @@ -77,12 +104,16 @@ inline auto get_callback_tracing_names() { static const auto supported_kinds = std::unordered_set{ - ROCPROFILER_CALLBACK_TRACING_HSA_API, - ROCPROFILER_CALLBACK_TRACING_HIP_API, + ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API, ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API, ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API, ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API, + ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT, }; auto cb_name_info = callback_name_info{}; @@ -133,9 +164,9 @@ get_callback_tracing_names() return cb_name_info; } -using buffer_kind_names_t = std::map; +using buffer_kind_names_t = std::map; using buffer_kind_operation_names_t = - std::map>; + std::map>; struct buffer_name_info { @@ -147,13 +178,17 @@ inline buffer_name_info get_buffer_tracing_names() { static const auto supported_kinds = std::unordered_set{ - ROCPROFILER_BUFFER_TRACING_HSA_API, - ROCPROFILER_BUFFER_TRACING_HIP_API, + ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API, - ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API, ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API, - ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API}; + ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API, + ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, + }; auto cb_name_info = buffer_name_info{}; // diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/external_correlation.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/external_correlation.cpp index cb6f4e5196..cd6977532d 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/external_correlation.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/external_correlation.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include #define ROCPROFILER_CALL(ARG, MSG) \ @@ -162,6 +163,12 @@ tool_tracing_buffered(rocprofiler_context_id_t context, auto v_records = std::vector{}; v_records.reserve(num_headers); + static const auto supported = + std::unordered_set{ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API}; + for(size_t i = 0; i < num_headers; ++i) { auto* header = headers[i]; @@ -170,7 +177,7 @@ tool_tracing_buffered(rocprofiler_context_id_t context, auto hash = rocprofiler_record_header_compute_hash(header->category, header->kind); EXPECT_EQ(header->hash, hash); EXPECT_TRUE(header->category == ROCPROFILER_BUFFER_CATEGORY_TRACING && - header->kind == ROCPROFILER_BUFFER_TRACING_HSA_API); + supported.count(header->kind) != 0); v_records.emplace_back( static_cast(header->payload)); @@ -243,14 +250,16 @@ TEST(rocprofiler_lib, callback_external_correlation) ROCPROFILER_CALL(rocprofiler_create_context(&cb_data->client_ctx), "failed to create context"); - ROCPROFILER_CALL( - rocprofiler_configure_callback_tracing_service(cb_data->client_ctx, - ROCPROFILER_CALLBACK_TRACING_HSA_API, - nullptr, - 0, - tool_tracing_callback, - client_data), - "callback tracing service failed to configure"); + for(auto itr : {ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API}) + { + ROCPROFILER_CALL( + rocprofiler_configure_callback_tracing_service( + cb_data->client_ctx, itr, nullptr, 0, tool_tracing_callback, client_data), + "callback tracing service failed to configure"); + } int valid_ctx = 0; ROCPROFILER_CALL(rocprofiler_context_is_valid(cb_data->client_ctx, &valid_ctx), @@ -391,13 +400,15 @@ TEST(rocprofiler_lib, buffered_external_correlation) &cb_data->client_buffer), "buffer creation failed"); - ROCPROFILER_CALL( - rocprofiler_configure_buffer_tracing_service(cb_data->client_ctx, - ROCPROFILER_BUFFER_TRACING_HSA_API, - nullptr, - 0, - cb_data->client_buffer), - "buffer tracing service failed to configure"); + for(auto itr : {ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API}) + { + ROCPROFILER_CALL(rocprofiler_configure_buffer_tracing_service( + cb_data->client_ctx, itr, nullptr, 0, cb_data->client_buffer), + "buffer tracing service failed to configure"); + } ROCPROFILER_CALL(rocprofiler_create_callback_thread(&cb_data->client_thread), "failure creating callback thread"); diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/intercept_table.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/intercept_table.cpp index e40e39c01f..78cfbbd5bd 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/intercept_table.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/intercept_table.cpp @@ -30,6 +30,7 @@ #include "lib/common/filesystem.hpp" #include "lib/common/units.hpp" #include "lib/common/utility.hpp" +#include "lib/rocprofiler-sdk/tests/common.hpp" #include #include @@ -49,58 +50,8 @@ #include #include -#define ROCPROFILER_CALL(ARG, MSG) \ - { \ - auto _status = (ARG); \ - EXPECT_EQ(_status, ROCPROFILER_STATUS_SUCCESS) \ - << MSG << " (" << _status << "=" << rocprofiler_get_status_string(_status) \ - << ") :: " << #ARG; \ - } - -#define ROCPROFILER_CALL_EXPECT(ARG, MSG, STATUS) \ - { \ - auto _status = (ARG); \ - EXPECT_EQ(_status, STATUS) << MSG << " (" << _status << "=" \ - << rocprofiler_get_status_string(_status) << ") :: " << #ARG; \ - } - namespace { -struct callback_data -{ - using callback_count_data_t = std::pair; - using callback_count_map_t = std::map; - - rocprofiler_client_id_t* client_id = nullptr; - rocprofiler_client_finalize_t client_fini_func = nullptr; - rocprofiler_context_id_t client_hsa_ctx = {}; - rocprofiler_context_id_t client_hip_ctx = {}; - rocprofiler_buffer_id_t client_buffer = {}; - rocprofiler_callback_thread_t client_thread = {}; - uint64_t client_workflow_count = {}; - uint64_t client_elapsed = {}; - int64_t current_depth = 0; - int64_t max_depth = 0; - callback_count_map_t client_callback_count = {}; -}; - -struct agent_data -{ - uint64_t agent_count = 0; - std::vector agents = {}; -}; - -using callback_kind_names_t = std::map; -using callback_kind_operation_names_t = - std::map>; -using wrap_count_t = std::pair; - -struct callback_name_info -{ - callback_kind_names_t kind_names = {}; - callback_kind_operation_names_t operation_names = {}; -}; - auto& get_preincrement() { @@ -118,65 +69,16 @@ get_postincrement() auto& get_client_callback_data() { - static auto _v = callback_data{}; + static auto _v = callback_data_ext{}; return _v; } -auto -get_callback_tracing_names() -{ - auto cb_name_info = callback_name_info{}; - // - // callback for each kind operation - // - static auto tracing_kind_operation_cb = - [](rocprofiler_callback_tracing_kind_t kindv, uint32_t operation, void* data_v) { - auto* name_info_v = static_cast(data_v); - - if(kindv == ROCPROFILER_CALLBACK_TRACING_HSA_API) - { - const char* name = nullptr; - ROCPROFILER_CALL(rocprofiler_query_callback_tracing_kind_operation_name( - kindv, operation, &name, nullptr), - "query callback tracing kind operation name"); - if(name) name_info_v->operation_names[kindv][operation] = name; - } - return 0; - }; - - // - // callback for each callback kind (i.e. domain) - // - static auto tracing_kind_cb = [](rocprofiler_callback_tracing_kind_t kind, void* data) { - // store the callback kind name - auto* name_info_v = static_cast(data); - const char* name = nullptr; - ROCPROFILER_CALL(rocprofiler_query_callback_tracing_kind_name(kind, &name, nullptr), - "query callback tracing kind operation name"); - if(name) name_info_v->kind_names[kind] = name; - - if(kind == ROCPROFILER_CALLBACK_TRACING_HSA_API) - { - ROCPROFILER_CALL(rocprofiler_iterate_callback_tracing_kind_operations( - kind, tracing_kind_operation_cb, static_cast(data)), - "iterating callback tracing kind operations"); - } - return 0; - }; - - ROCPROFILER_CALL(rocprofiler_iterate_callback_tracing_kinds(tracing_kind_cb, - static_cast(&cb_name_info)), - "iterating callback tracing kinds"); - - return cb_name_info; -} - void tool_tracing_callback(rocprofiler_callback_tracing_record_t record, rocprofiler_user_data_t* /*user_data*/, void* client_data) { - auto* cb_data = static_cast(client_data); + auto* cb_data = static_cast(client_data); static auto name_map = get_callback_tracing_names(); if(record.phase == ROCPROFILER_CALLBACK_PHASE_ENTER) @@ -201,7 +103,7 @@ generate_wrapper(const char* name, RetT (*func)(Args...)) static auto func_name = std::string_view{name}; get_client_callback_data().client_callback_count.emplace( - std::string_view{name}, callback_data::callback_count_data_t{0, 0}); + std::string_view{name}, callback_data_ext::callback_count_data_t{0, 0}); static functor_type wrapped_func = [](Args... args) -> RetT { get_client_callback_data().client_callback_count.at(func_name).first += @@ -224,7 +126,7 @@ api_registration_callback(rocprofiler_intercept_table_t type, uint64_t num_tables, void* client_data) { - auto* cb_data = static_cast(client_data); + auto* cb_data = static_cast(client_data); cb_data->client_workflow_count++; @@ -278,7 +180,7 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing) static init_func_t tool_init = [](rocprofiler_client_finalize_t fini_func, void* client_data) -> int { - auto* cb_data = static_cast(client_data); + auto* cb_data = static_cast(client_data); cb_data->client_workflow_count++; cb_data->client_fini_func = fini_func; @@ -286,19 +188,19 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing) ROCPROFILER_CALL(rocprofiler_create_context(&cb_data->client_hsa_ctx), "failed to create context"); - auto operations = std::vector{ROCPROFILER_HSA_API_ID_hsa_init, - ROCPROFILER_HSA_API_ID_hsa_iterate_agents, - ROCPROFILER_HSA_API_ID_hsa_agent_get_info, - ROCPROFILER_HSA_API_ID_hsa_shut_down}; + auto operations = std::vector{ROCPROFILER_HSA_CORE_API_ID_hsa_init, + ROCPROFILER_HSA_CORE_API_ID_hsa_iterate_agents, + ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down}; - ROCPROFILER_CALL( - rocprofiler_configure_callback_tracing_service(cb_data->client_hsa_ctx, - ROCPROFILER_CALLBACK_TRACING_HSA_API, - operations.data(), - operations.size(), - tool_tracing_callback, - client_data), - "callback tracing service failed to configure"); + ROCPROFILER_CALL(rocprofiler_configure_callback_tracing_service( + cb_data->client_hsa_ctx, + ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + operations.data(), + operations.size(), + tool_tracing_callback, + client_data), + "callback tracing service failed to configure"); int valid_ctx = 0; ROCPROFILER_CALL(rocprofiler_context_is_valid(cb_data->client_hsa_ctx, &valid_ctx), @@ -314,11 +216,11 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing) }; static fini_func_t tool_fini = [](void* client_data) -> void { - auto* cb_data = static_cast(client_data); + auto* cb_data = static_cast(client_data); ROCPROFILER_CALL(rocprofiler_stop_context(cb_data->client_hsa_ctx), "rocprofiler context stop failed"); - static_cast(client_data)->client_workflow_count++; + static_cast(client_data)->client_workflow_count++; }; static auto& cb_data = get_client_callback_data(); @@ -435,7 +337,7 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing_disable_context) static init_func_t tool_init = [](rocprofiler_client_finalize_t fini_func, void* client_data) -> int { - auto* cb_data = static_cast(client_data); + auto* cb_data = static_cast(client_data); cb_data->client_workflow_count++; cb_data->client_fini_func = fini_func; @@ -443,19 +345,19 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing_disable_context) ROCPROFILER_CALL(rocprofiler_create_context(&cb_data->client_hsa_ctx), "failed to create context"); - auto operations = std::vector{ROCPROFILER_HSA_API_ID_hsa_init, - ROCPROFILER_HSA_API_ID_hsa_iterate_agents, - ROCPROFILER_HSA_API_ID_hsa_agent_get_info, - ROCPROFILER_HSA_API_ID_hsa_shut_down}; + auto operations = std::vector{ROCPROFILER_HSA_CORE_API_ID_hsa_init, + ROCPROFILER_HSA_CORE_API_ID_hsa_iterate_agents, + ROCPROFILER_HSA_CORE_API_ID_hsa_agent_get_info, + ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down}; - ROCPROFILER_CALL( - rocprofiler_configure_callback_tracing_service(cb_data->client_hsa_ctx, - ROCPROFILER_CALLBACK_TRACING_HSA_API, - operations.data(), - operations.size(), - tool_tracing_callback, - client_data), - "callback tracing service failed to configure"); + ROCPROFILER_CALL(rocprofiler_configure_callback_tracing_service( + cb_data->client_hsa_ctx, + ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + operations.data(), + operations.size(), + tool_tracing_callback, + client_data), + "callback tracing service failed to configure"); int valid_ctx = 0; ROCPROFILER_CALL(rocprofiler_context_is_valid(cb_data->client_hsa_ctx, &valid_ctx), @@ -471,7 +373,7 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing_disable_context) }; static fini_func_t tool_fini = [](void* client_data) -> void { - auto* cb_data = static_cast(client_data); + auto* cb_data = static_cast(client_data); ROCPROFILER_CALL_EXPECT(rocprofiler_stop_context(cb_data->client_hsa_ctx), "rocprofiler context stop", ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_FOUND); @@ -480,11 +382,11 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing_disable_context) "rocprofiler context start", ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED); - static_cast(client_data)->client_workflow_count++; + static_cast(client_data)->client_workflow_count++; }; static auto& cb_data = get_client_callback_data(); - cb_data = callback_data{}; + cb_data = callback_data_ext{}; static auto cfg_result = rocprofiler_tool_configure_result_t{sizeof(rocprofiler_tool_configure_result_t), @@ -520,7 +422,7 @@ TEST(rocprofiler_lib, intercept_table_and_callback_tracing_disable_context) EXPECT_EQ(rocprofiler_force_configure(rocp_init), ROCPROFILER_STATUS_SUCCESS); hsa_iterate_agents_cb_t agent_cb = [](hsa_agent_t agent, void* data) { - auto* _data = static_cast*>(data); + auto* _data = static_cast*>(data); _data->first->agent_count++; if(int _is_active = 0; diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/naming.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/naming.cpp new file mode 100644 index 0000000000..905e1856cd --- /dev/null +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/naming.cpp @@ -0,0 +1,309 @@ +// MIT License +// +// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#include +#include +#include +#include +#include + +#include "lib/common/utility.hpp" +#include "lib/rocprofiler-sdk/hip/hip.hpp" +#include "lib/rocprofiler-sdk/hsa/hsa.hpp" +#include "lib/rocprofiler-sdk/marker/marker.hpp" +#include "lib/rocprofiler-sdk/tests/common.hpp" + +#include + +TEST(rocprofiler_lib, api_id_names) +{ + auto callback_names = get_callback_tracing_names(); + auto buffered_names = get_buffer_tracing_names(); + + EXPECT_EQ(callback_names.kind_names.size(), ROCPROFILER_CALLBACK_TRACING_LAST); + EXPECT_EQ(buffered_names.kind_names.size(), ROCPROFILER_BUFFER_TRACING_LAST); + + // HSA callback + EXPECT_EQ(callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API).size(), + ROCPROFILER_HSA_CORE_API_ID_LAST); + EXPECT_EQ( + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API).size(), + ROCPROFILER_HSA_AMD_EXT_API_ID_LAST); + EXPECT_EQ( + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API).size(), + ROCPROFILER_HSA_IMAGE_EXT_API_ID_LAST); + EXPECT_EQ( + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API).size(), + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_LAST); + + // HSA buffer + EXPECT_EQ(buffered_names.operation_names.at(ROCPROFILER_BUFFER_TRACING_HSA_CORE_API).size(), + ROCPROFILER_HSA_CORE_API_ID_LAST); + EXPECT_EQ(buffered_names.operation_names.at(ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API).size(), + ROCPROFILER_HSA_AMD_EXT_API_ID_LAST); + EXPECT_EQ( + buffered_names.operation_names.at(ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API).size(), + ROCPROFILER_HSA_IMAGE_EXT_API_ID_LAST); + EXPECT_EQ( + buffered_names.operation_names.at(ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API).size(), + ROCPROFILER_HSA_FINALIZE_EXT_API_ID_LAST); + + // HIP callback + EXPECT_EQ( + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API).size(), + ROCPROFILER_HIP_RUNTIME_API_ID_LAST); + EXPECT_EQ( + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API).size(), + ROCPROFILER_HIP_COMPILER_API_ID_LAST); + + // HIP buffer + EXPECT_EQ(buffered_names.operation_names.at(ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API).size(), + ROCPROFILER_HIP_RUNTIME_API_ID_LAST); + EXPECT_EQ(buffered_names.operation_names.at(ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API).size(), + ROCPROFILER_HIP_COMPILER_API_ID_LAST); + + // Marker callback + EXPECT_EQ( + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API).size(), + ROCPROFILER_MARKER_CORE_API_ID_LAST); + EXPECT_EQ( + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API).size(), + ROCPROFILER_MARKER_CONTROL_API_ID_LAST); + EXPECT_EQ( + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API).size(), + ROCPROFILER_MARKER_NAME_API_ID_LAST); + + // Marker buffer + EXPECT_EQ(buffered_names.operation_names.at(ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API).size(), + ROCPROFILER_MARKER_CORE_API_ID_LAST); + EXPECT_EQ( + buffered_names.operation_names.at(ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API).size(), + ROCPROFILER_MARKER_CONTROL_API_ID_LAST); + EXPECT_EQ(buffered_names.operation_names.at(ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API).size(), + ROCPROFILER_MARKER_NAME_API_ID_LAST); + + // Code object callback + EXPECT_EQ(callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT).size(), + ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT_LAST); + + { + auto hsa_core_ids = ::rocprofiler::hsa::get_ids(); + auto hsa_amd_ext_ids = ::rocprofiler::hsa::get_ids(); + auto hsa_img_ext_ids = ::rocprofiler::hsa::get_ids(); + auto hsa_fini_ext_ids = ::rocprofiler::hsa::get_ids(); + + auto hsa_core_names = ::rocprofiler::hsa::get_names(); + auto hsa_amd_ext_names = ::rocprofiler::hsa::get_names(); + auto hsa_img_ext_names = ::rocprofiler::hsa::get_names(); + auto hsa_fini_ext_names = + ::rocprofiler::hsa::get_names(); + + ASSERT_EQ(hsa_core_ids.size(), hsa_core_names.size()); + ASSERT_EQ(hsa_amd_ext_ids.size(), hsa_amd_ext_names.size()); + ASSERT_EQ(hsa_img_ext_ids.size(), hsa_img_ext_names.size()); + ASSERT_EQ(hsa_fini_ext_ids.size(), hsa_fini_ext_names.size()); + + for(auto itr : hsa_core_ids) + { + EXPECT_EQ(std::string_view{hsa_core_names.at(itr)}, + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API) + .at(itr)); + + EXPECT_EQ(itr, + ::rocprofiler::hsa::id_by_name( + hsa_core_names.at(itr))); + + EXPECT_EQ( + std::string_view{ + ::rocprofiler::hsa::name_by_id(itr)}, + std::string_view{hsa_core_names.at(itr)}); + } + + for(auto itr : hsa_amd_ext_ids) + { + EXPECT_EQ( + std::string_view{hsa_amd_ext_names.at(itr)}, + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API) + .at(itr)); + + EXPECT_EQ(itr, + ::rocprofiler::hsa::id_by_name( + hsa_amd_ext_names.at(itr))); + + EXPECT_EQ( + std::string_view{ + ::rocprofiler::hsa::name_by_id(itr)}, + std::string_view{hsa_amd_ext_names.at(itr)}); + } + + for(auto itr : hsa_img_ext_ids) + { + EXPECT_EQ( + std::string_view{hsa_img_ext_names.at(itr)}, + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API) + .at(itr)); + + EXPECT_EQ(itr, + ::rocprofiler::hsa::id_by_name( + hsa_img_ext_names.at(itr))); + + EXPECT_EQ( + std::string_view{ + ::rocprofiler::hsa::name_by_id(itr)}, + std::string_view{hsa_img_ext_names.at(itr)}); + } + + for(auto itr : hsa_fini_ext_ids) + { + EXPECT_EQ( + std::string_view{hsa_fini_ext_names.at(itr)}, + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API) + .at(itr)); + + EXPECT_EQ(itr, + ::rocprofiler::hsa::id_by_name( + hsa_fini_ext_names.at(itr))); + + EXPECT_EQ( + std::string_view{ + ::rocprofiler::hsa::name_by_id(itr)}, + std::string_view{hsa_fini_ext_names.at(itr)}); + } + } + + { + auto hip_comp_ids = ::rocprofiler::hip::get_ids(); + auto hip_run_ids = ::rocprofiler::hip::get_ids(); + + auto hip_comp_names = ::rocprofiler::hip::get_names(); + auto hip_run_names = ::rocprofiler::hip::get_names(); + + ASSERT_EQ(hip_comp_ids.size(), hip_comp_names.size()); + ASSERT_EQ(hip_run_ids.size(), hip_run_names.size()); + + for(auto itr : hip_comp_ids) + { + EXPECT_EQ( + std::string_view{hip_comp_names.at(itr)}, + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API) + .at(itr)); + + EXPECT_EQ(itr, + ::rocprofiler::hip::id_by_name( + hip_comp_names.at(itr))); + + EXPECT_EQ( + std::string_view{ + ::rocprofiler::hip::name_by_id(itr)}, + std::string_view{hip_comp_names.at(itr)}); + } + + for(auto itr : hip_run_ids) + { + EXPECT_EQ( + std::string_view{hip_run_names.at(itr)}, + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API) + .at(itr)); + + EXPECT_EQ(itr, + ::rocprofiler::hip::id_by_name( + hip_run_names.at(itr))); + + EXPECT_EQ( + std::string_view{ + ::rocprofiler::hip::name_by_id(itr)}, + std::string_view{hip_run_names.at(itr)}); + } + } + + { + auto marker_core_ids = + ::rocprofiler::marker::get_ids(); + auto marker_ctrl_ids = + ::rocprofiler::marker::get_ids(); + auto marker_name_ids = + ::rocprofiler::marker::get_ids(); + + auto marker_core_names = + ::rocprofiler::marker::get_names(); + auto marker_ctrl_names = + ::rocprofiler::marker::get_names(); + auto marker_name_names = + ::rocprofiler::marker::get_names(); + + ASSERT_EQ(marker_core_ids.size(), marker_core_names.size()); + ASSERT_EQ(marker_ctrl_ids.size(), marker_ctrl_names.size()); + ASSERT_EQ(marker_name_ids.size(), marker_name_names.size()); + + for(auto itr : marker_core_ids) + { + EXPECT_EQ( + std::string_view{marker_core_names.at(itr)}, + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API) + .at(itr)); + + EXPECT_EQ(itr, + ::rocprofiler::marker::id_by_name( + marker_core_names.at(itr))); + + EXPECT_EQ( + std::string_view{ + ::rocprofiler::marker::name_by_id(itr)}, + std::string_view{marker_core_names.at(itr)}); + } + + for(auto itr : marker_ctrl_ids) + { + EXPECT_EQ( + std::string_view{marker_ctrl_names.at(itr)}, + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API) + .at(itr)); + + EXPECT_EQ(itr, + ::rocprofiler::marker::id_by_name( + marker_ctrl_names.at(itr))); + + EXPECT_EQ( + std::string_view{ + ::rocprofiler::marker::name_by_id( + itr)}, + std::string_view{marker_ctrl_names.at(itr)}); + } + + for(auto itr : marker_name_ids) + { + EXPECT_EQ( + std::string_view{marker_name_names.at(itr)}, + callback_names.operation_names.at(ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API) + .at(itr)); + + EXPECT_EQ(itr, + ::rocprofiler::marker::id_by_name( + marker_name_names.at(itr))); + + EXPECT_EQ( + std::string_view{ + ::rocprofiler::marker::name_by_id(itr)}, + std::string_view{marker_name_names.at(itr)}); + } + } +} diff --git a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/registration.cpp b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/registration.cpp index 77b7c61a6f..be3184aa60 100644 --- a/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/registration.cpp +++ b/projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/tests/registration.cpp @@ -20,6 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +#include #include #include @@ -65,14 +66,6 @@ tool_tracing_callback(rocprofiler_callback_tracing_record_t record, static auto name_map = get_callback_tracing_names(); - EXPECT_EQ(name_map.kind_names.size(), ROCPROFILER_CALLBACK_TRACING_LAST); - EXPECT_EQ(name_map.operation_names.at(ROCPROFILER_CALLBACK_TRACING_HSA_API).size(), - ROCPROFILER_HSA_API_ID_LAST); - - std::cout << "[" << __FILE__ << ":" << __LINE__ << "] " - << name_map.operation_names[record.kind][record.operation] << "\n" - << std::flush; - cb_data->client_callback_count++; if(record.phase == ROCPROFILER_CALLBACK_PHASE_ENTER) { @@ -115,9 +108,9 @@ tool_tracing_callback(rocprofiler_callback_tracing_record_t record, ROCPROFILER_CALL(rocprofiler_iterate_callback_tracing_kind_operation_args( record, info_data_cb, static_cast(&info_data_v)), "Failure iterating trace operation args"); - if(record.kind == ROCPROFILER_CALLBACK_TRACING_HSA_API && - !(record.operation == ROCPROFILER_HSA_API_ID_hsa_init || - record.operation == ROCPROFILER_HSA_API_ID_hsa_shut_down)) + if(record.kind == ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API && + !(record.operation == ROCPROFILER_HSA_CORE_API_ID_hsa_init || + record.operation == ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down)) { EXPECT_GT(info_data_v.num_args, 0) << name_map.operation_names[record.kind][record.operation] << info_data_v.arg_ss.str(); @@ -141,13 +134,15 @@ tool_tracing_buffered(rocprofiler_context_id_t context, static auto name_map = get_buffer_tracing_names(); - EXPECT_EQ(name_map.kind_names.size(), ROCPROFILER_BUFFER_TRACING_LAST); - EXPECT_EQ(name_map.operation_names.at(ROCPROFILER_BUFFER_TRACING_HSA_API).size(), - ROCPROFILER_HSA_API_ID_LAST); - auto v_records = std::vector{}; v_records.reserve(num_headers); + static const auto supported = + std::unordered_set{ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API}; + for(size_t i = 0; i < num_headers; ++i) { auto* header = headers[i]; @@ -156,7 +151,7 @@ tool_tracing_buffered(rocprofiler_context_id_t context, auto hash = rocprofiler_record_header_compute_hash(header->category, header->kind); EXPECT_EQ(header->hash, hash); EXPECT_TRUE(header->category == ROCPROFILER_BUFFER_CATEGORY_TRACING && - header->kind == ROCPROFILER_BUFFER_TRACING_HSA_API); + supported.count(header->kind) > 0); v_records.emplace_back( static_cast(header->payload)); @@ -181,7 +176,6 @@ tool_tracing_buffered(rocprofiler_context_id_t context, static int64_t last_corr_id = -1; auto corr_id = static_cast(record->correlation_id.internal); - std::cout << info.str() << "\n" << std::flush; EXPECT_GE(context.handle, 0) << info.str(); EXPECT_GT(record->thread_id, 0) << info.str(); EXPECT_GT(record->kind, 0) << info.str(); @@ -252,14 +246,16 @@ TEST(rocprofiler_lib, callback_registration_lambda_with_result) ROCPROFILER_CALL(rocprofiler_create_context(&cb_data->client_ctx), "failed to create context"); - ROCPROFILER_CALL( - rocprofiler_configure_callback_tracing_service(cb_data->client_ctx, - ROCPROFILER_CALLBACK_TRACING_HSA_API, - nullptr, - 0, - tool_tracing_callback, - client_data), - "callback tracing service failed to configure"); + for(auto itr : {ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API}) + { + ROCPROFILER_CALL( + rocprofiler_configure_callback_tracing_service( + cb_data->client_ctx, itr, nullptr, 0, tool_tracing_callback, client_data), + "callback tracing service failed to configure"); + } int valid_ctx = 0; ROCPROFILER_CALL(rocprofiler_context_is_valid(cb_data->client_ctx, &valid_ctx), @@ -393,13 +389,15 @@ TEST(rocprofiler_lib, buffer_registration_lambda_with_result) &cb_data->client_buffer), "buffer creation failed"); - ROCPROFILER_CALL( - rocprofiler_configure_buffer_tracing_service(cb_data->client_ctx, - ROCPROFILER_BUFFER_TRACING_HSA_API, - nullptr, - 0, - cb_data->client_buffer), - "buffer tracing service failed to configure"); + for(auto itr : {ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API}) + { + ROCPROFILER_CALL(rocprofiler_configure_buffer_tracing_service( + cb_data->client_ctx, itr, nullptr, 0, cb_data->client_buffer), + "buffer tracing service failed to configure"); + } ROCPROFILER_CALL(rocprofiler_create_callback_thread(&cb_data->client_thread), "failure creating callback thread"); diff --git a/projects/rocprofiler-sdk/tests/rocprofv3/tracing/validate.py b/projects/rocprofiler-sdk/tests/rocprofv3/tracing/validate.py index 1bf22b25d9..809a411f97 100644 --- a/projects/rocprofiler-sdk/tests/rocprofv3/tracing/validate.py +++ b/projects/rocprofiler-sdk/tests/rocprofv3/tracing/validate.py @@ -8,7 +8,12 @@ def test_hsa_api_trace(hsa_input_data): functions = [] correlation_ids = [] for row in hsa_input_data: - assert row["Domain"] == "HSA_API" + assert row["Domain"] in ( + "HSA_CORE_API", + "HSA_AMD_EXT_API", + "HSA_IMAGE_EXT_API", + "HSA_FINALIZE_EXT_API", + ) assert int(row["Process_Id"]) > 0 assert int(row["Thread_Id"]) >= int(row["Process_Id"]) assert int(row["End_Timestamp"]) >= int(row["Start_Timestamp"]) diff --git a/projects/rocprofiler-sdk/tests/tools/json-tool.cpp b/projects/rocprofiler-sdk/tests/tools/json-tool.cpp index fe96c56ca2..cfe1fc95e1 100644 --- a/projects/rocprofiler-sdk/tests/tools/json-tool.cpp +++ b/projects/rocprofiler-sdk/tests/tools/json-tool.cpp @@ -129,12 +129,16 @@ callback_name_info get_callback_tracing_names() { static const auto supported = std::unordered_set{ - ROCPROFILER_CALLBACK_TRACING_HSA_API, - ROCPROFILER_CALLBACK_TRACING_HIP_API, + ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API, ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API, ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API, ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API, + ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT, }; auto cb_name_info = callback_name_info{}; @@ -187,13 +191,17 @@ buffer_name_info get_buffer_tracing_names() { static const auto supported = std::unordered_set{ - ROCPROFILER_BUFFER_TRACING_HSA_API, - ROCPROFILER_BUFFER_TRACING_HIP_API, + ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API, - ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API, ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API, - ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API}; + ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API, + ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, + }; auto cb_name_info = buffer_name_info{}; // @@ -394,7 +402,10 @@ tool_tracing_callback(rocprofiler_callback_tracing_record_t record, kernel_symbol_records.emplace_back(kernel_symbol_callback_record_t{ts, record, data_v}); } } - else if(record.kind == ROCPROFILER_CALLBACK_TRACING_HSA_API) + else if(record.kind == ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API || + record.kind == ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API || + record.kind == ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API || + record.kind == ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API) { auto* data = static_cast(record.payload); auto args = callback_arg_array_t{}; @@ -402,7 +413,8 @@ tool_tracing_callback(rocprofiler_callback_tracing_record_t record, hsa_api_cb_records.emplace_back( hsa_api_callback_record_t{ts, record, *data, std::move(args)}); } - else if(record.kind == ROCPROFILER_CALLBACK_TRACING_HIP_API) + else if(record.kind == ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API || + record.kind == ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API) { auto* data = static_cast(record.payload); auto args = callback_arg_array_t{}; @@ -470,7 +482,10 @@ tool_tracing_buffered(rocprofiler_context_id_t /*context*/, } else if(header->category == ROCPROFILER_BUFFER_CATEGORY_TRACING) { - if(header->kind == ROCPROFILER_BUFFER_TRACING_HSA_API) + if(header->kind == ROCPROFILER_BUFFER_TRACING_HSA_CORE_API || + header->kind == ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API || + header->kind == ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API || + header->kind == ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API) { auto* record = static_cast(header->payload); @@ -486,7 +501,7 @@ tool_tracing_buffered(rocprofiler_context_id_t /*context*/, marker_api_bf_records.emplace_back(*record); } - else if(header->kind == ROCPROFILER_BUFFER_TRACING_HIP_API) + else if(header->kind == ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API) { auto* record = static_cast(header->payload); @@ -625,18 +640,19 @@ tool_init(rocprofiler_client_finalize_t fini_func, void* tool_data) ROCPROFILER_CALL(rocprofiler_create_context(itr.second), "context creation"); } - ROCPROFILER_CALL( - rocprofiler_configure_callback_tracing_service(hsa_api_callback_ctx, - ROCPROFILER_CALLBACK_TRACING_HSA_API, - nullptr, - 0, - tool_tracing_callback, - nullptr), - "hsa api callback tracing service configure"); + for(auto itr : {ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, + ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API}) + { + ROCPROFILER_CALL(rocprofiler_configure_callback_tracing_service( + hsa_api_callback_ctx, itr, nullptr, 0, tool_tracing_callback, nullptr), + "hsa api callback tracing service configure"); + } ROCPROFILER_CALL( rocprofiler_configure_callback_tracing_service(hip_api_callback_ctx, - ROCPROFILER_CALLBACK_TRACING_HIP_API, + ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API, nullptr, 0, tool_tracing_callback, @@ -727,17 +743,19 @@ tool_init(rocprofiler_client_finalize_t fini_func, void* tool_data) &memory_copy_buffer), "buffer creation"); - ROCPROFILER_CALL( - rocprofiler_configure_buffer_tracing_service(hsa_api_buffered_ctx, - ROCPROFILER_BUFFER_TRACING_HSA_API, - nullptr, - 0, - hsa_api_buffered_buffer), - "buffer tracing service configure"); + for(auto itr : {ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, + ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, + ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API}) + { + ROCPROFILER_CALL(rocprofiler_configure_buffer_tracing_service( + hsa_api_buffered_ctx, itr, nullptr, 0, hsa_api_buffered_buffer), + "buffer tracing service configure"); + } ROCPROFILER_CALL( rocprofiler_configure_buffer_tracing_service(hip_api_buffered_ctx, - ROCPROFILER_BUFFER_TRACING_HIP_API, + ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, nullptr, 0, hip_api_buffered_buffer),