[ROCProfiler-SDK][ROCR] HSA New API changes for HSA_AMD_EXT_API_TABLE_STEP_VERSION 8 (#1182)

* add new hsa ext api for version 8.

* use fmt instead of ostream.

* override rccl from therock

* Update rocprofiler-sdk-continuous_integration.yml

* Update rocprofiler-sdk-continuous_integration.yml

* Update rocprofiler-sdk-continuous_integration.yml

* enable rocr-build

* format

* disable att consecutive-kernels tests.

* Enable ROCR build in code coverage workflow

---------

Co-authored-by: Venkateshwar Reddy Kandula <venkateshwar.kandula1306@gmail.com>
This commit is contained in:
Venkateshwar Reddy Kandula
2025-10-06 13:09:39 -05:00
committed by GitHub
vanhempi ad78611674
commit 952d1dabe2
10 muutettua tiedostoa jossa 82 lisäystä ja 2 poistoa
@@ -55,7 +55,7 @@ env:
mi3xx_EXCLUDE_LABEL_REGEX: ""
navi4_EXCLUDE_LABEL_REGEX: ""
GLOBAL_CMAKE_OPTIONS: ""
DISABLE_ROCR_BUILD: "true"
DISABLE_ROCR_BUILD: "false"
jobs:
code-coverage:
@@ -62,7 +62,7 @@ env:
navi4_EXCLUDE_LABEL_REGEX: ""
GLOBAL_CMAKE_OPTIONS: ""
DISABLE_ROCR_BUILD: "true"
DISABLE_ROCR_BUILD: "false"
CI_MODE: ${{ github.event_name == 'schedule' && 'Nightly' || 'Continuous' }}
@@ -356,6 +356,10 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_memory_get_preferr
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x07
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_portable_export_dmabuf_v2);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x08
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ais_file_write);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ais_file_read);
# endif
#endif
#if HSA_AMD_EXT_API_TABLE_MAJOR_VERSION == 0x01
@@ -377,6 +381,8 @@ static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 72);
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 73);
# elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x07
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 74);
# elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x08
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 76);
# else
# if !defined(ROCPROFILER_UNSAFE_NO_VERSION_CHECK) && \
(defined(ROCPROFILER_CI) && ROCPROFILER_CI > 0)
@@ -121,6 +121,10 @@ typedef enum rocprofiler_hsa_amd_ext_api_id_t // NOLINT(performance-enum-size)
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x07
ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_portable_export_dmabuf_v2,
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x08
ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ais_file_write,
ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ais_file_read,
# endif
#endif
ROCPROFILER_HSA_AMD_EXT_API_ID_LAST,
@@ -1444,6 +1444,26 @@ typedef union rocprofiler_hsa_api_args_t
uint64_t flags;
} hsa_amd_portable_export_dmabuf_v2;
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x08
struct
{
hsa_amd_ais_file_handle_t handle;
void* devicePtr;
uint64_t size;
int64_t file_offset;
uint64_t* size_copied;
int32_t* status;
} hsa_amd_ais_file_write;
struct
{
hsa_amd_ais_file_handle_t handle;
void* devicePtr;
uint64_t size;
int64_t file_offset;
uint64_t* size_copied;
int32_t* status;
} hsa_amd_ais_file_read;
# endif
#endif
} rocprofiler_hsa_api_args_t;
@@ -57,6 +57,8 @@ ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 73);
ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 74);
#elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x07
ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 75);
#elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x08
ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 77);
#else
INTERNAL_CI_ROCP_SDK_ENFORCE_ABI_VERSIONING(::AmdExtTable, 0);
#endif
@@ -293,6 +295,10 @@ ROCP_SDK_ENFORCE_ABI(::AmdExtTable, hsa_amd_memory_get_preferred_copy_engine_fn,
#if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x07
ROCP_SDK_ENFORCE_ABI(::AmdExtTable, hsa_amd_portable_export_dmabuf_v2_fn, 74);
#endif
#if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x08
ROCP_SDK_ENFORCE_ABI(::AmdExtTable, hsa_amd_ais_file_write_fn, 75);
ROCP_SDK_ENFORCE_ABI(::AmdExtTable, hsa_amd_ais_file_read_fn, 76);
#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);
@@ -168,4 +168,21 @@ struct formatter<rocprofiler::hsa::rocprofiler_packet>
}
}
};
#if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x08
template <>
struct formatter<hsa_amd_ais_file_handle_t>
{
template <typename ParseContext>
constexpr auto parse(ParseContext& ctx)
{
return ctx.begin();
}
template <typename FormatContext>
auto format(hsa_amd_ais_file_handle_t const& h, FormatContext& ctx) const
{
return fmt::format_to(ctx.out(), "{{fd={}, handle={}}}", h.fd, h.handle);
}
};
#endif
} // namespace fmt
@@ -496,6 +496,28 @@ HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt,
offset,
flags)
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x08
HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt,
ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ais_file_write,
hsa_amd_ais_file_write,
hsa_amd_ais_file_write_fn,
handle,
devicePtr,
size,
file_offset,
size_copied,
status)
HSA_API_INFO_DEFINITION_V(ROCPROFILER_HSA_TABLE_ID_AmdExt,
ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_ais_file_read,
hsa_amd_ais_file_read,
hsa_amd_ais_file_read_fn,
handle,
devicePtr,
size,
file_offset,
size_copied,
status)
# endif
# endif
#elif defined(ROCPROFILER_LIB_ROCPROFILER_HSA_ASYNC_COPY_CPP_IMPL) && \
@@ -25,6 +25,7 @@
#include <rocprofiler-sdk/ext_version.h>
#include "lib/common/stringize_arg.hpp"
#include "lib/rocprofiler-sdk/hsa/details/fmt.hpp"
#include <fmt/core.h>
#include <fmt/ranges.h>
@@ -61,6 +61,10 @@ if(attdecoder_FOUND)
set(ATT_LIB --att-library-path ${attdecoder_LIB_DIR})
endif()
if(ROCPROFILER_DISABLE_UNSTABLE_CTESTS)
set(IS_DISABLED ON)
endif()
# consecutive kernel test
add_test(
NAME rocprofv3-test-att-consecutive-kernels-execute