diff --git a/source/include/rocprofiler-sdk/hsa/amd_ext_api_id.h b/source/include/rocprofiler-sdk/hsa/amd_ext_api_id.h index ae95d45599..e2febb03e7 100644 --- a/source/include/rocprofiler-sdk/hsa/amd_ext_api_id.h +++ b/source/include/rocprofiler-sdk/hsa/amd_ext_api_id.h @@ -115,6 +115,9 @@ typedef enum rocprofiler_hsa_amd_ext_api_id_t // NOLINT(performance-enum-size) # if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x05 ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_wait_all, # endif +# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x06 + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_get_preferred_copy_engine, +# endif #endif ROCPROFILER_HSA_AMD_EXT_API_ID_LAST, diff --git a/source/include/rocprofiler-sdk/hsa/api_args.h b/source/include/rocprofiler-sdk/hsa/api_args.h index bfc70c8c0d..62bffba3ff 100644 --- a/source/include/rocprofiler-sdk/hsa/api_args.h +++ b/source/include/rocprofiler-sdk/hsa/api_args.h @@ -1426,6 +1426,14 @@ typedef union rocprofiler_hsa_api_args_t hsa_signal_value_t* satisfying_values; } hsa_amd_signal_wait_all; # endif +# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x06 + struct + { + hsa_agent_t dst_agent; + hsa_agent_t src_agent; + uint32_t* recommended_ids_mask; + } hsa_amd_memory_get_preferred_copy_engine; +# endif #endif } rocprofiler_hsa_api_args_t; diff --git a/source/lib/rocprofiler-sdk/hsa/abi.cpp b/source/lib/rocprofiler-sdk/hsa/abi.cpp index b1dc079cdc..d9da99bbfa 100644 --- a/source/lib/rocprofiler-sdk/hsa/abi.cpp +++ b/source/lib/rocprofiler-sdk/hsa/abi.cpp @@ -53,6 +53,8 @@ ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 71); ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 72); #elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x05 ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 73); +#elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x06 +ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 74); #else INTERNAL_CI_ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 0); #endif @@ -283,6 +285,9 @@ ROCP_SDK_ENFORCE_ABI(::AmdExtTable, hsa_amd_enable_logging_fn, 71); #if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x05 ROCP_SDK_ENFORCE_ABI(::AmdExtTable, hsa_amd_signal_wait_all_fn, 72); #endif +#if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x06 +ROCP_SDK_ENFORCE_ABI(::AmdExtTable, hsa_amd_memory_get_preferred_copy_engine_fn, 73); +#endif ROCP_SDK_ENFORCE_ABI(::ImageExtTable, hsa_ext_image_get_capability_fn, 1); ROCP_SDK_ENFORCE_ABI(::ImageExtTable, hsa_ext_image_data_get_info_fn, 2); diff --git a/source/lib/rocprofiler-sdk/hsa/hsa.def.cpp b/source/lib/rocprofiler-sdk/hsa/hsa.def.cpp index 8562a73ebb..4f09d0eda4 100644 --- a/source/lib/rocprofiler-sdk/hsa/hsa.def.cpp +++ b/source/lib/rocprofiler-sdk/hsa/hsa.def.cpp @@ -476,6 +476,15 @@ HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, wait_hint, satisfying_values) # endif +# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x06 +HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt, + ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_get_preferred_copy_engine, + hsa_amd_memory_get_preferred_copy_engine, + hsa_amd_memory_get_preferred_copy_engine_fn, + dst_agent, + src_agent, + recommended_ids_mask) +# endif # endif #elif defined(ROCPROFILER_LIB_ROCPROFILER_HSA_ASYNC_COPY_CPP_IMPL) && \