[SDK] Support CMake option for using internal RCCL tracing + (temporary) enable in CI (#457)

* Temp: disable RCCL tracing

* Update continuous_integration.yml

* Update continuous_integration.yml

* Update continuous_integration.yml

* Adding option to disable rccl tracing from CMake

* Update codeql.yml

* Misc updates

- ROCPROFILER_BUILD_RCCL -> ROCPROFILER_INTERNAL_RCCL_API_TRACE
- env.EXTRA_TEMP_CMAKE_OPTIONS -> env.GLOBAL_CMAKE_OPTIONS
- add (advanced) option ROCPROFILER_INTERNAL_RCCL_API_TRACE

* Fix rocprofiler::sdk::get_enum_label

- missing enum labels for HIP_RUNTIME_API_TABLE_STEP_VERSION > 8

* Update tests/rocprofv3/advanced-thread-trace/CMakeLists.txt

- improve various aspect of cmake -- particularly echoing where attdecoder_LIBRARY was found

* Use CMAKE_MESSAGE_INDENT

- add prefix to cmake messages to help indicate where messages are coming from
- make find_package(Python3 ...) QUIET for bindings

* Fix rocprofiler::sdk::get_enum_label

- handle HSA_AMD_EXT_API_TABLE_MAJOR_VERSION

* Fix rocprofv3 message for att library path

* Fix tests/rocprofv3/advanced-thread-trace/att_input.yml config

* Fix rocprofv3 check_att_capability + soversion/version library resolution

- Account for ROCPROF_ATT_LIBRARY_PATH in env in check_att_capability
- Add resolve_library_path
  - supports resolution of library names to SOVERSION and VERSION paths

* Fix python linting error (unused import)

---------

Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: aeb1621c2b]
이 커밋은 다음에 포함됨:
Elwazir, Ammar
2025-06-17 08:32:54 -05:00
커밋한 사람 GitHub
부모 1f4084c7b5
커밋 4d79e1df30
15개의 변경된 파일427개의 추가작업 그리고 210개의 파일을 삭제
+2 -1
파일 보기
@@ -23,6 +23,7 @@ env:
GPU_TARGETS: "gfx900 gfx906 gfx908 gfx90a gfx940 gfx941 gfx942 gfx1030 gfx1100 gfx1101 gfx1102"
PATH: "/usr/bin:$PATH"
EXCLUDED_PATHS: "external /tmp/build/external"
GLOBAL_CMAKE_OPTIONS: "-DROCPROFILER_INTERNAL_RCCL_API_TRACE=ON"
jobs:
analyze:
@@ -80,7 +81,7 @@ jobs:
timeout-minutes: 30
shell: bash
run: |
cmake -B /tmp/build -DCMAKE_PREFIX_PATH=/opt/rocm -DPython3_EXECUTABLE=$(which python3) .
cmake -B /tmp/build -DCMAKE_PREFIX_PATH=/opt/rocm ${{ env.GLOBAL_CMAKE_OPTIONS }} -DPython3_EXECUTABLE=$(which python3) .
cmake --build /tmp/build --target all --parallel 16
rm -rf ${EXCLUDED_PATHS}
+7
파일 보기
@@ -41,6 +41,7 @@ env:
mi325_EXCLUDE_LABEL_REGEX: "^(pc-sampling)$"
mi3xx_EXCLUDE_LABEL_REGEX: "^(pc-sampling)$"
navi4_EXCLUDE_LABEL_REGEX: "^(pc-sampling)$"
GLOBAL_CMAKE_OPTIONS: "-DROCPROFILER_INTERNAL_RCCL_API_TRACE=ON"
jobs:
core-deb:
@@ -110,6 +111,7 @@ jobs:
-DCPACK_GENERATOR='DEB;RPM;TGZ'
-DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)"
-DPython3_EXECUTABLE=$(which python3)
${{ env.GLOBAL_CMAKE_OPTIONS }}
--
-LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}"
-E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}"
@@ -237,6 +239,7 @@ jobs:
-DCPACK_GENERATOR='DEB;RPM;TGZ'
-DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)"
-DPython3_EXECUTABLE=$(which python3)
${{ env.GLOBAL_CMAKE_OPTIONS }}
--
-LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}"
-E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}"
@@ -399,6 +402,7 @@ jobs:
--
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
-DPython3_EXECUTABLE=$(which python3)
${{ env.GLOBAL_CMAKE_OPTIONS }}
--
-LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}"
-E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}"
@@ -418,6 +422,7 @@ jobs:
--
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
-DPython3_EXECUTABLE=$(which python3)
${{ env.GLOBAL_CMAKE_OPTIONS }}
--
-LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}"
-E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}"
@@ -437,6 +442,7 @@ jobs:
--
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
-DPython3_EXECUTABLE=$(which python3)
${{ env.GLOBAL_CMAKE_OPTIONS }}
--
-LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}"
-E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}"
@@ -648,6 +654,7 @@ jobs:
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
-DCMAKE_INSTALL_PREFIX="${{ env.ROCM_PATH }}"
-DPython3_EXECUTABLE=$(which python3)
${{ env.GLOBAL_CMAKE_OPTIONS }}
--
-LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}"
-E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}"
+4
파일 보기
@@ -33,6 +33,10 @@ project(
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "core")
set(PACKAGE_NAME ${PROJECT_NAME})
if(NOT PROJECT_IS_TOP_LEVEL)
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}] ")
endif()
find_package(Git)
if(Git_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
+4
파일 보기
@@ -21,6 +21,10 @@ set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "benchmark")
set(ROCPROFILER_SDK_BENCHMARK_SOURCE_DIR "${PROJECT_SOURCE_DIR}")
set(ROCPROFILER_SDK_BENCHMARK_BINARY_DIR "${PROJECT_BINARY_DIR}")
if(NOT PROJECT_IS_TOP_LEVEL)
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}] ")
endif()
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE
"Release"
+7 -25
파일 보기
@@ -11,9 +11,7 @@ function(rocprofiler_sdk_get_gfx_architectures _VAR)
set(ARG_DELIM ", ")
endif()
if(NOT DEFINED ARG_PREFIX)
set(ARG_PREFIX "[${PROJECT_NAME}] ")
endif()
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}]${ARG_PREFIX} ")
find_program(
rocminfo_EXECUTABLE
@@ -55,9 +53,7 @@ endfunction()
function(rocprofiler_sdk_pc_sampling_disabled _VAR)
cmake_parse_arguments(ARG "ECHO" "PREFIX" "" ${ARGN})
if(NOT DEFINED ARG_PREFIX)
set(ARG_PREFIX "[${PROJECT_NAME}] ")
endif()
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}]${ARG_PREFIX} ")
rocprofiler_sdk_get_gfx_architectures(rocprofiler-sdk-tests-gfx-info ECHO)
list(GET rocprofiler-sdk-tests-gfx-info 0 pc-sampling-gpu-0-gfx-info)
@@ -70,10 +66,7 @@ function(rocprofiler_sdk_pc_sampling_disabled _VAR)
FALSE
PARENT_SCOPE)
if(ARG_ECHO)
message(
STATUS
"${ARG_PREFIX}PC Sampling is enabled for ${pc-sampling-gpu-0-gfx-info}"
)
message(STATUS "PC Sampling is enabled for ${pc-sampling-gpu-0-gfx-info}")
endif()
else()
# PC sampling is disabled on this architecture.
@@ -81,10 +74,7 @@ function(rocprofiler_sdk_pc_sampling_disabled _VAR)
TRUE
PARENT_SCOPE)
if(ARG_ECHO)
message(
STATUS
"${ARG_PREFIX}PC Sampling is disabled for ${pc-sampling-gpu-0-gfx-info}"
)
message(STATUS "PC Sampling is disabled for ${pc-sampling-gpu-0-gfx-info}")
endif()
endif()
endfunction()
@@ -94,9 +84,7 @@ endfunction()
function(rocprofiler_sdk_pc_sampling_stochastic_disabled _VAR)
cmake_parse_arguments(ARG "ECHO" "PREFIX" "" ${ARGN})
if(NOT DEFINED ARG_PREFIX)
set(ARG_PREFIX "[${PROJECT_NAME}] ")
endif()
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}]${ARG_PREFIX} ")
rocprofiler_sdk_get_gfx_architectures(rocprofiler-sdk-tests-gfx-info ECHO)
list(GET rocprofiler-sdk-tests-gfx-info 0 pc-sampling-gpu-0-gfx-info)
@@ -108,10 +96,7 @@ function(rocprofiler_sdk_pc_sampling_stochastic_disabled _VAR)
FALSE
PARENT_SCOPE)
if(ARG_ECHO)
message(
STATUS
"${ARG_PREFIX}PC Sampling is enabled for ${pc-sampling-gpu-0-gfx-info}"
)
message(STATUS "PC Sampling is enabled for ${pc-sampling-gpu-0-gfx-info}")
endif()
else()
# PC sampling is disabled on this architecture.
@@ -119,10 +104,7 @@ function(rocprofiler_sdk_pc_sampling_stochastic_disabled _VAR)
TRUE
PARENT_SCOPE)
if(ARG_ECHO)
message(
STATUS
"${ARG_PREFIX}PC Sampling is disabled for ${pc-sampling-gpu-0-gfx-info}"
)
message(STATUS "PC Sampling is disabled for ${pc-sampling-gpu-0-gfx-info}")
endif()
endif()
endfunction()
+2 -1
파일 보기
@@ -318,7 +318,8 @@ find_package(
PATH_SUFFIXES
lib/cmake/rccl)
if(rccl_FOUND
if(NOT ROCPROFILER_INTERNAL_RCCL_API_TRACE
AND rccl_FOUND
AND rccl_INCLUDE_DIR
AND EXISTS "${rccl_INCLUDE_DIR}/rccl/amd_detail/api_trace.h")
set(rccl_API_TRACE_FOUND ON)
+5
파일 보기
@@ -46,6 +46,11 @@ rocprofiler_add_option(ROCPROFILER_BUILD_CODECOV
"Enable building for code coverage analysis" OFF)
rocprofiler_add_option(ROCPROFILER_BUILD_DOCS
"Enable build + install + packaging documentation" OFF)
rocprofiler_add_option(
ROCPROFILER_INTERNAL_RCCL_API_TRACE
"Use (internal) <rocprofiler-sdk/rccl/details/api_trace.h> instead of RCCL-provided <rccl/amd_detail/api_trace.h>. Note: this should never be used in production"
OFF
ADVANCED)
rocprofiler_add_option(
ROCPROFILER_BUILD_GHC_FS
+2
파일 보기
@@ -8,6 +8,8 @@ include(rocprofiler_utilities)
cmake_policy(PUSH)
cmake_policy(SET CMP0077 NEW) # option() honors normal variables
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}][external] ")
set(BUILD_TESTING OFF)
set(BUILD_SHARED_LIBS OFF)
set(BUILD_OBJECT_LIBS OFF) # Specific to PTL
+4
파일 보기
@@ -12,6 +12,10 @@ if(CMAKE_BUILD_TYPE STREQUAL "")
CACHE STRING "Build type" FORCE)
endif()
if(NOT PROJECT_IS_TOP_LEVEL)
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}] ")
endif()
include(GNUInstallDirs)
# always use lib instead of lib64
+88 -27
파일 보기
@@ -117,27 +117,84 @@ def strtobool(val):
raise ValueError(f"invalid truth value {val} (type={val_type})")
def check_att_capability(args):
def resolve_library_path(val, args, is_sdk_lib=True):
from pathlib import Path
if not isinstance(args, dotdict):
args = dotdict(args)
ROCPROF_SDK_VERSION = ".".join(CONST_VERSION_INFO["version"].split(".")[0:3])
ROCPROF_SDK_SOVERSION = CONST_VERSION_INFO["version"].split(".")[0]
# set default values
for name, value in [
["required", True],
["readlink", False],
["realpath", False],
["sdk_version", ROCPROF_SDK_VERSION],
["sdk_soversion", ROCPROF_SDK_SOVERSION],
]:
# set the attribute if it doesn't exist or value is set to None
if not hasattr(args, name) or (
hasattr(args, name) and getattr(args, name) is None
):
setattr(args, name, value)
if is_sdk_lib:
if not os.path.exists(val) and args.sdk_soversion:
val = f"{val}.{args.sdk_soversion}"
if not os.path.exists(val) and args.sdk_version:
val = f"{val}.{args.sdk_version}"
if args.required and not os.path.exists(val):
fatal_error(f"Failed to resolve path. '{val}' does not exist")
if os.path.islink(val):
if args.readlink:
lnk = Path(val).readlink()
if not lnk.is_absolute():
val = os.path.join(Path(val).parent.absolute(), lnk)
else:
val = f"{lnk}"
if args.realpath:
val = os.path.realpath(val)
else:
if args.realpath:
val = os.path.realpath(val)
return val
def check_att_capability(args, att_lib_name="librocprof-trace-decoder.so"):
ROCPROFV3_DIR = os.path.dirname(os.path.realpath(__file__))
ROCM_DIR = os.path.dirname(ROCPROFV3_DIR)
ld_library_paths = []
if args.rocm_root is not None:
ROCM_DIR = os.path.abspath(args.rocm_root)
library_paths = []
if args.att_library_path:
ld_library_paths.extend(args.att_library_path)
library_paths.extend(args.att_library_path)
else:
for itr in os.environ.get("LD_LIBRARY_PATH", "").split(":") + [f"{ROCM_DIR}/lib"]:
default_lib_path_env = os.environ.get("LD_LIBRARY_PATH", "").split(":") + [
f"{ROCM_DIR}/lib"
]
defined_att_path_env = os.environ.get("ROCPROF_ATT_LIBRARY_PATH", "").split(":")
att_paths = defined_att_path_env if defined_att_path_env else default_lib_path_env
for itr in att_paths:
# don't add duplicates
if itr not in ld_library_paths:
ld_library_paths += [itr]
if itr not in library_paths:
library_paths += [itr]
lib_att_name = "librocprof-trace-decoder.so"
for path in ld_library_paths:
for path in library_paths:
for root, dirs, files in os.walk(path, topdown=True):
for itr in files:
if lib_att_name in itr:
args.att_library_path = root
if att_lib_name in itr:
args.att_library_path = resolve_library_path(
root, args, is_sdk_lib=False
)
return True
return False
@@ -568,6 +625,18 @@ For MPI applications (or other job launchers such as SLURM), place rocprofv3 ins
metavar="PATH",
default=None,
)
advanced_options.add_argument(
"--sdk-soversion",
help="Use provided rocprofiler-sdk shared object version number when resolving library paths, e.g. `--sdk-soversion=X` for librocprofiler-sdk.so.X",
type=int,
default=None,
)
advanced_options.add_argument(
"--sdk-version",
help="Use provided rocprofiler-sdk version number when resolving library paths, e.g. `--sdk-version=X.Y.Z` for librocprofiler-sdk.so.X.Y.Z",
type=str,
default=None,
)
add_parser_bool_argument(
advanced_options,
"--readlink",
@@ -984,21 +1053,13 @@ def run(app_args, args, **kwargs):
f"{ROCM_DIR}/libexec/rocprofiler-sdk/librocprofv3-list-avail.so"
)
def resolve_path(val):
if not os.path.exists(val):
fatal_error(f"{val} does not exist")
if os.path.islink(val):
if args.readlink:
val = os.path.abspath(os.readlink(val))
if args.realpath:
val = os.path.realpath(val)
return val
ROCPROF_TOOL_LIBRARY = resolve_path(ROCPROF_TOOL_LIBRARY)
ROCPROF_SDK_LIBRARY = resolve_path(ROCPROF_SDK_LIBRARY)
ROCPROF_ROCTX_LIBRARY = resolve_path(ROCPROF_ROCTX_LIBRARY)
ROCPROF_KOKKOSP_LIBRARY = resolve_path(ROCPROF_KOKKOSP_LIBRARY)
ROCPROF_LIST_AVAIL_TOOL_LIBRARY = resolve_path(ROCPROF_LIST_AVAIL_TOOL_LIBRARY)
ROCPROF_TOOL_LIBRARY = resolve_library_path(ROCPROF_TOOL_LIBRARY, args)
ROCPROF_SDK_LIBRARY = resolve_library_path(ROCPROF_SDK_LIBRARY, args)
ROCPROF_ROCTX_LIBRARY = resolve_library_path(ROCPROF_ROCTX_LIBRARY, args)
ROCPROF_KOKKOSP_LIBRARY = resolve_library_path(ROCPROF_KOKKOSP_LIBRARY, args)
ROCPROF_LIST_AVAIL_TOOL_LIBRARY = resolve_library_path(
ROCPROF_LIST_AVAIL_TOOL_LIBRARY, args
)
prepend_preload = [itr for itr in args.preload if itr]
append_preload = [
@@ -1489,7 +1550,7 @@ def run(app_args, args, **kwargs):
)
else:
fatal_error(
"rocprof-trace-decoder library path not found in", args.att_library_path
f"rocprof-trace-decoder library path not found in {args.att_library_path}"
)
if args.att_perfcounters:
+268 -134
파일 보기
@@ -118,18 +118,19 @@ get_enum_label(EnumT val, std::index_sequence<Idx, IdxTail...>)
(void) val; // suppress unused-but-set-parameter warning
}
// clang-format off
// Table ID
ROCPROFILER_ENUM_INFO(rocprofiler_hsa_table_id_t, 0, ROCPROFILER_HSA_TABLE_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_hip_table_id_t, 0, ROCPROFILER_HIP_TABLE_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_marker_table_id_t, 0, ROCPROFILER_MARKER_TABLE_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_rccl_table_id_t, 0, ROCPROFILER_RCCL_TABLE_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_rocdecode_table_id_t, 0, ROCPROFILER_ROCDECODE_TABLE_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_rocdecode_table_id_t,
0,
ROCPROFILER_ROCDECODE_TABLE_ID_LAST,
false)
ROCPROFILER_ENUM_INFO(rocprofiler_rocjpeg_table_id_t, 0, ROCPROFILER_ROCJPEG_TABLE_ID_LAST, false)
// table enums
// rocprofiler_hsa_core_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_CORE_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_hsa_core_api_id_t, 0, ROCPROFILER_HSA_CORE_API_ID_LAST, false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_CORE_API_ID_hsa_init);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_CORE_API_ID_hsa_shut_down);
@@ -259,15 +260,18 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_CORE_API_ID_hsa_executable_iterate_progra
static_assert(ROCPROFILER_HSA_CORE_API_ID_LAST == 125);
// rocprofiler_hsa_amd_ext_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_hsa_amd_ext_api_id_t, 0, ROCPROFILER_HSA_AMD_EXT_API_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_hsa_amd_ext_api_id_t,
0,
ROCPROFILER_HSA_AMD_EXT_API_ID_LAST,
false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_coherency_get_type);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_coherency_set_type);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_set_profiler_enabled);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_async_copy_enable);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_get_dispatch_time);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_get_async_copy_time);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_convert_tick_to_system_domain);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_profiling_convert_tick_to_system_domain);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_async_handler);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_async_function);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_wait_any);
@@ -329,50 +333,60 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_get_access);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_export_shareable_handle);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_import_shareable_handle);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_retain_alloc_handle);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_get_alloc_properties_from_handle);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_get_alloc_properties_from_handle);
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x01
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agent_set_async_scratch_limit);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_agent_set_async_scratch_limit);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x02
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_get_info);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_queue_get_info);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x03
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_address_reserve_align);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_vmem_address_reserve_align);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x04
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_enable_logging);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_enable_logging);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION >= 0x05
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_wait_all);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_AMD_EXT_API_ID_hsa_amd_signal_wait_all);
# endif
#endif
#if HSA_AMD_EXT_API_TABLE_MAJOR_VERSION == 0x02
#if HSA_AMD_EXT_API_TABLE_MAJOR_VERSION == 0x01
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 55);
#elif HSA_AMD_EXT_API_TABLE_MAJOR_VERSION == 0x02
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x00
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 67);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x01
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 68);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x02
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 69);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x03
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 70);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x04
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 71);
# endif
# if HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x05
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 72);
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 67);
# elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x01
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 68);
# elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x02
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 69);
# elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x03
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 70);
# elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x04
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 71);
# elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x05
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 72);
# elif HSA_AMD_EXT_API_TABLE_STEP_VERSION == 0x06
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 73);
# else
# if !defined(ROCPROFILER_UNSAFE_NO_VERSION_CHECK) && \
(defined(ROCPROFILER_CI) && ROCPROFILER_CI > 0)
static_assert(false, "Support for new HSA_AMD_EXT_API_TABLE_STEP_VERSION enumerations is required");
# endif
# endif
#else
static_assert(ROCPROFILER_HSA_AMD_EXT_API_ID_LAST == 55);
# if !defined(ROCPROFILER_UNSAFE_NO_VERSION_CHECK) && \
(defined(ROCPROFILER_CI) && ROCPROFILER_CI > 0)
static_assert(false, "Support for HSA_AMD_EXT_API_TABLE_MAJOR_VERSION is required");
# endif
#endif
// rocprofiler_hsa_image_ext_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_IMAGE_EXT_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_hsa_image_ext_api_id_t, 0, ROCPROFILER_HSA_IMAGE_EXT_API_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_hsa_image_ext_api_id_t,
0,
ROCPROFILER_HSA_IMAGE_EXT_API_ID_LAST,
false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_get_capability);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_data_get_info);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_create);
@@ -389,8 +403,10 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_IMAGE_EXT_API_ID_hsa_ext_image_create_wit
static_assert(ROCPROFILER_HSA_IMAGE_EXT_API_ID_LAST == 13);
// rocprofiler_hsa_finalize_ext_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_FINALIZE_EXT_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_hsa_finalize_ext_api_id_t, 0, ROCPROFILER_HSA_FINALIZE_EXT_API_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_hsa_finalize_ext_api_id_t,
0,
ROCPROFILER_HSA_FINALIZE_EXT_API_ID_LAST,
false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_create);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_destroy);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_add_module);
@@ -400,8 +416,10 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_FINALIZE_EXT_API_ID_hsa_ext_program_final
static_assert(ROCPROFILER_HSA_FINALIZE_EXT_API_ID_LAST == 6);
// rocprofiler_hip_compiler_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_COMPILER_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_hip_compiler_api_id_t, 0, ROCPROFILER_HIP_COMPILER_API_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_hip_compiler_api_id_t,
0,
ROCPROFILER_HIP_COMPILER_API_ID_LAST,
false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_COMPILER_API_ID___hipPopCallConfiguration);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_COMPILER_API_ID___hipPushCallConfiguration);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_COMPILER_API_ID___hipRegisterFatBinary);
@@ -414,8 +432,10 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_COMPILER_API_ID___hipUnregisterFatBinary)
static_assert(ROCPROFILER_HIP_COMPILER_API_ID_LAST == 9);
// rocprofiler_hip_runtime_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_hip_runtime_api_id_t, 0, ROCPROFILER_HIP_RUNTIME_API_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_hip_runtime_api_id_t,
0,
ROCPROFILER_HIP_RUNTIME_API_ID_LAST,
false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipApiName);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipArray3DCreate);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipArray3DGetDescriptor);
@@ -728,13 +748,17 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLaunchKernel);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLoad);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLoadData);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleLoadDataEx);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessor);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessor);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxPotentialBlockSize);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxPotentialBlockSizeWithFlags);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleOccupancyMaxPotentialBlockSizeWithFlags);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipModuleUnload);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessor);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipOccupancyMaxPotentialBlockSize);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipPeekAtLastError);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipPointerGetAttribute);
@@ -847,12 +871,16 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGetStreamDeviceId);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvGraphAddMemsetNode);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddExternalSemaphoresWaitNode);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddExternalSemaphoresSignalNode);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExternalSemaphoresSignalNodeSetParams);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExternalSemaphoresSignalNodeSetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExternalSemaphoresWaitNodeSetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExternalSemaphoresSignalNodeGetParams);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExternalSemaphoresSignalNodeGetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExternalSemaphoresWaitNodeGetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecExternalSemaphoresSignalNodeSetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecExternalSemaphoresWaitNodeSetParams);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecExternalSemaphoresSignalNodeSetParams);
ROCPROFILER_ENUM_LABEL(
ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecExternalSemaphoresWaitNodeSetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddNode);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphInstantiateWithParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipExtGetLastError);
@@ -892,47 +920,70 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipExtHostAlloc);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipDeviceGetTexture1DLinearMaxWidth);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION >= 7
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamBatchMemOp);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipStreamBatchMemOp);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION >= 8
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddBatchMemOpNode);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphBatchMemOpNodeGetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphBatchMemOpNodeSetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecBatchMemOpNodeSetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphAddBatchMemOpNode);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphBatchMemOpNodeGetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphBatchMemOpNodeSetParams);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipGraphExecBatchMemOpNodeSetParams);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION >= 9
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipLinkAddData)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipLinkAddFile)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipLinkComplete)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipLinkCreate)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipLinkDestroy)
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION >= 10
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipEventRecordWithFlags)
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION >= 11
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipLaunchKernelExC)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipDrvLaunchKernelEx)
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION >= 12
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_RUNTIME_API_ID_hipMemGetHandleForAddressRange)
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION == 0
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 442);
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 442);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 1
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 443);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 2
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 444);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 3
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 452);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 4
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 461);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 5
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 462);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 6
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 463);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 7
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 464);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 8
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 468);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 9
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 473);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 10
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 474);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 11
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 476);
#elif HIP_RUNTIME_API_TABLE_STEP_VERSION == 12
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 477);
#else
# if !defined(ROCPROFILER_UNSAFE_NO_VERSION_CHECK) && \
(defined(ROCPROFILER_CI) && ROCPROFILER_CI > 0)
static_assert(false, "Support for new HIP_RUNTIME_API_TABLE_STEP_VERSION enumerations is required");
# endif
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION == 1
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 443);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION == 2
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 444);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION == 3
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 452);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION == 4
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 461);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION == 5
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 462);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION == 6
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 463);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION == 7
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 464);
#endif
#if HIP_RUNTIME_API_TABLE_STEP_VERSION == 8
static_assert(ROCPROFILER_HIP_RUNTIME_API_ID_LAST == 468);
#endif
// rocprofiler_marker_core_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_CORE_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_marker_core_api_id_t, 0, ROCPROFILER_MARKER_CORE_API_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_marker_core_api_id_t,
0,
ROCPROFILER_MARKER_CORE_API_ID_LAST,
false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_CORE_API_ID_roctxMarkA);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_CORE_API_ID_roctxRangePushA);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_CORE_API_ID_roctxRangePop);
@@ -942,15 +993,19 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_CORE_API_ID_roctxGetThreadId);
static_assert(ROCPROFILER_MARKER_CORE_API_ID_LAST == 6);
// rocprofiler_marker_control_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_CONTROL_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_marker_control_api_id_t, 0, ROCPROFILER_MARKER_CONTROL_API_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_marker_control_api_id_t,
0,
ROCPROFILER_MARKER_CONTROL_API_ID_LAST,
false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_CONTROL_API_ID_roctxProfilerPause);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_CONTROL_API_ID_roctxProfilerResume);
static_assert(ROCPROFILER_MARKER_CONTROL_API_ID_LAST == 2);
// rocprofiler_marker_name_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_NAME_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_marker_name_api_id_t, 0, ROCPROFILER_MARKER_NAME_API_ID_LAST, false)
ROCPROFILER_ENUM_INFO(rocprofiler_marker_name_api_id_t,
0,
ROCPROFILER_MARKER_NAME_API_ID_LAST,
false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_NAME_API_ID_roctxNameOsThread);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_NAME_API_ID_roctxNameHsaAgent);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_NAME_API_ID_roctxNameHipDevice);
@@ -958,7 +1013,6 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_NAME_API_ID_roctxNameHipStream);
static_assert(ROCPROFILER_MARKER_NAME_API_ID_LAST == 4);
// rocprofiler_ompt_operation_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_OMPT_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_ompt_operation_t, 0, ROCPROFILER_OMPT_ID_LAST, false);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_OMPT_ID_thread_begin);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_OMPT_ID_thread_end);
@@ -994,7 +1048,6 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_OMPT_ID_callback_functions);
static_assert(ROCPROFILER_OMPT_ID_LAST == 31);
// rocprofiler_rccl_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_RCCL_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_rccl_api_id_t, 0, ROCPROFILER_RCCL_API_ID_LAST, false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_RCCL_API_ID_ncclAllGather);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_RCCL_API_ID_ncclAllReduce);
@@ -1036,7 +1089,6 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_RCCL_API_ID_ncclCommDeregister);
static_assert(ROCPROFILER_RCCL_API_ID_LAST == 37);
// rocprofiler_rocdecode_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCDECODE_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_rocdecode_api_id_t, 0, ROCPROFILER_ROCDECODE_API_ID_LAST, false)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCDECODE_API_ID_rocDecCreateVideoParser);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCDECODE_API_ID_rocDecParseVideoData);
@@ -1057,14 +1109,19 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCDECODE_API_ID_rocDecGetBitstreamPicData);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCDECODE_API_ID_rocDecDestroyBitstreamReader);
#endif
#if ROCDECODE_RUNTIME_API_TABLE_STEP_VERSION == 1
#if ROCDECODE_RUNTIME_API_TABLE_STEP_VERSION == 0
static_assert(ROCPROFILER_ROCDECODE_API_ID_LAST == 11);
#elif ROCDECODE_RUNTIME_API_TABLE_STEP_VERSION == 1
static_assert(ROCPROFILER_ROCDECODE_API_ID_LAST == 16);
#else
static_assert(ROCPROFILER_ROCDECODE_API_ID_LAST == 11);
# if !defined(ROCPROFILER_UNSAFE_NO_VERSION_CHECK) && \
(defined(ROCPROFILER_CI) && ROCPROFILER_CI > 0)
static_assert(false,
"Support for new ROCDECODE_RUNTIME_API_TABLE_STEP_VERSION enumerations is required");
# endif
#endif
// rocprofiler_rocjpeg_api_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCJPEG_API_ID_NONE);
ROCPROFILER_ENUM_INFO(rocprofiler_rocjpeg_api_id_t, 0, ROCPROFILER_ROCJPEG_API_ID_LAST, false);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCJPEG_API_ID_rocJpegStreamCreate);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCJPEG_API_ID_rocJpegStreamParse);
@@ -1078,48 +1135,136 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCJPEG_API_ID_rocJpegGetErrorName);
static_assert(ROCPROFILER_ROCJPEG_API_ID_LAST == 9);
// fwd.h
ROCPROFILER_ENUM_INFO(rocprofiler_status_t, ROCPROFILER_STATUS_SUCCESS, ROCPROFILER_STATUS_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_buffer_category_t, ROCPROFILER_BUFFER_CATEGORY_NONE, ROCPROFILER_BUFFER_CATEGORY_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_agent_type_t, ROCPROFILER_AGENT_TYPE_NONE, ROCPROFILER_AGENT_TYPE_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_callback_phase_t, ROCPROFILER_CALLBACK_PHASE_NONE, ROCPROFILER_CALLBACK_PHASE_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_callback_tracing_kind_t, ROCPROFILER_CALLBACK_TRACING_NONE, ROCPROFILER_CALLBACK_TRACING_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_buffer_tracing_kind_t, ROCPROFILER_BUFFER_TRACING_NONE, ROCPROFILER_BUFFER_TRACING_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_code_object_operation_t, ROCPROFILER_CODE_OBJECT_NONE, ROCPROFILER_CODE_OBJECT_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_memory_copy_operation_t, ROCPROFILER_MEMORY_COPY_NONE, ROCPROFILER_MEMORY_COPY_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_memory_allocation_operation_t, ROCPROFILER_MEMORY_ALLOCATION_NONE, ROCPROFILER_MEMORY_ALLOCATION_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_kernel_dispatch_operation_t, ROCPROFILER_KERNEL_DISPATCH_NONE, ROCPROFILER_KERNEL_DISPATCH_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_pc_sampling_method_t, ROCPROFILER_PC_SAMPLING_METHOD_NONE, ROCPROFILER_PC_SAMPLING_METHOD_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_pc_sampling_unit_t, ROCPROFILER_PC_SAMPLING_UNIT_NONE, ROCPROFILER_PC_SAMPLING_UNIT_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_buffer_policy_t, ROCPROFILER_BUFFER_POLICY_NONE, ROCPROFILER_BUFFER_POLICY_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_page_migration_operation_t, ROCPROFILER_PAGE_MIGRATION_NONE, ROCPROFILER_PAGE_MIGRATION_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_scratch_memory_operation_t, ROCPROFILER_SCRATCH_MEMORY_NONE, ROCPROFILER_SCRATCH_MEMORY_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_scratch_alloc_flag_t, ROCPROFILER_SCRATCH_ALLOC_FLAG_NONE, HSA_AMD_EVENT_SCRATCH_ALLOC_FLAG_ALT+1, true);
ROCPROFILER_ENUM_INFO(rocprofiler_runtime_initialization_operation_t, ROCPROFILER_RUNTIME_INITIALIZATION_NONE, ROCPROFILER_RUNTIME_INITIALIZATION_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_counter_info_version_id_t, ROCPROFILER_COUNTER_INFO_VERSION_NONE, ROCPROFILER_COUNTER_INFO_VERSION_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_counter_record_kind_t, ROCPROFILER_COUNTER_RECORD_NONE, ROCPROFILER_COUNTER_RECORD_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_counter_flag_t, ROCPROFILER_COUNTER_FLAG_NONE, ROCPROFILER_COUNTER_FLAG_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_code_object_storage_type_t, ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_NONE, ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_status_t,
ROCPROFILER_STATUS_SUCCESS,
ROCPROFILER_STATUS_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_buffer_category_t,
ROCPROFILER_BUFFER_CATEGORY_NONE,
ROCPROFILER_BUFFER_CATEGORY_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_agent_type_t,
ROCPROFILER_AGENT_TYPE_NONE,
ROCPROFILER_AGENT_TYPE_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_callback_phase_t,
ROCPROFILER_CALLBACK_PHASE_NONE,
ROCPROFILER_CALLBACK_PHASE_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_callback_tracing_kind_t,
ROCPROFILER_CALLBACK_TRACING_NONE,
ROCPROFILER_CALLBACK_TRACING_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_buffer_tracing_kind_t,
ROCPROFILER_BUFFER_TRACING_NONE,
ROCPROFILER_BUFFER_TRACING_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_code_object_operation_t,
ROCPROFILER_CODE_OBJECT_NONE,
ROCPROFILER_CODE_OBJECT_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_memory_copy_operation_t,
ROCPROFILER_MEMORY_COPY_NONE,
ROCPROFILER_MEMORY_COPY_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_memory_allocation_operation_t,
ROCPROFILER_MEMORY_ALLOCATION_NONE,
ROCPROFILER_MEMORY_ALLOCATION_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_kernel_dispatch_operation_t,
ROCPROFILER_KERNEL_DISPATCH_NONE,
ROCPROFILER_KERNEL_DISPATCH_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_pc_sampling_method_t,
ROCPROFILER_PC_SAMPLING_METHOD_NONE,
ROCPROFILER_PC_SAMPLING_METHOD_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_pc_sampling_unit_t,
ROCPROFILER_PC_SAMPLING_UNIT_NONE,
ROCPROFILER_PC_SAMPLING_UNIT_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_buffer_policy_t,
ROCPROFILER_BUFFER_POLICY_NONE,
ROCPROFILER_BUFFER_POLICY_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_page_migration_operation_t,
ROCPROFILER_PAGE_MIGRATION_NONE,
ROCPROFILER_PAGE_MIGRATION_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_scratch_memory_operation_t,
ROCPROFILER_SCRATCH_MEMORY_NONE,
ROCPROFILER_SCRATCH_MEMORY_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_scratch_alloc_flag_t,
ROCPROFILER_SCRATCH_ALLOC_FLAG_NONE,
HSA_AMD_EVENT_SCRATCH_ALLOC_FLAG_ALT + 1,
true);
ROCPROFILER_ENUM_INFO(rocprofiler_runtime_initialization_operation_t,
ROCPROFILER_RUNTIME_INITIALIZATION_NONE,
ROCPROFILER_RUNTIME_INITIALIZATION_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_counter_info_version_id_t,
ROCPROFILER_COUNTER_INFO_VERSION_NONE,
ROCPROFILER_COUNTER_INFO_VERSION_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_counter_record_kind_t,
ROCPROFILER_COUNTER_RECORD_NONE,
ROCPROFILER_COUNTER_RECORD_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_counter_flag_t,
ROCPROFILER_COUNTER_FLAG_NONE,
ROCPROFILER_COUNTER_FLAG_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_code_object_storage_type_t,
ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_NONE,
ROCPROFILER_CODE_OBJECT_STORAGE_TYPE_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_runtime_library_t, ROCPROFILER_LIBRARY, details::compute_bitset_sequence_range<ROCPROFILER_LIBRARY_LAST>(), true);
ROCPROFILER_ENUM_INFO(rocprofiler_intercept_table_t, ROCPROFILER_HSA_TABLE, details::compute_bitset_sequence_range<ROCPROFILER_TABLE_LAST>(), true);
ROCPROFILER_ENUM_INFO(rocprofiler_runtime_library_t,
ROCPROFILER_LIBRARY,
details::compute_bitset_sequence_range<ROCPROFILER_LIBRARY_LAST>(),
true);
ROCPROFILER_ENUM_INFO(rocprofiler_intercept_table_t,
ROCPROFILER_HSA_TABLE,
details::compute_bitset_sequence_range<ROCPROFILER_TABLE_LAST>(),
true);
// callback_tracing.h
ROCPROFILER_ENUM_INFO(rocprofiler_pc_sampling_record_kind_t, ROCPROFILER_PC_SAMPLING_RECORD_NONE, ROCPROFILER_PC_SAMPLING_RECORD_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_pc_sampling_record_kind_t,
ROCPROFILER_PC_SAMPLING_RECORD_NONE,
ROCPROFILER_PC_SAMPLING_RECORD_LAST,
false);
// page-migration
ROCPROFILER_ENUM_INFO(rocprofiler_page_migration_trigger_t, ROCPROFILER_PAGE_MIGRATION_TRIGGER_NONE, ROCPROFILER_PAGE_MIGRATION_TRIGGER_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_page_migration_queue_suspend_trigger_t, ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_NONE, ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_page_migration_unmap_from_gpu_trigger_t, ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_NONE, ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_external_correlation_id_request_kind_t, ROCPROFILER_EXTERNAL_CORRELATION_REQUEST_NONE, ROCPROFILER_EXTERNAL_CORRELATION_REQUEST_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_page_migration_trigger_t,
ROCPROFILER_PAGE_MIGRATION_TRIGGER_NONE,
ROCPROFILER_PAGE_MIGRATION_TRIGGER_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_page_migration_queue_suspend_trigger_t,
ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_NONE,
ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_page_migration_unmap_from_gpu_trigger_t,
ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_NONE,
ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_external_correlation_id_request_kind_t,
ROCPROFILER_EXTERNAL_CORRELATION_REQUEST_NONE,
ROCPROFILER_EXTERNAL_CORRELATION_REQUEST_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_thread_trace_parameter_type_t, ROCPROFILER_THREAD_TRACE_PARAMETER_TARGET_CU, ROCPROFILER_THREAD_TRACE_PARAMETER_LAST, false);
// ROCPROFILER_ENUM_INFO(rocprofiler_thread_trace_control_flags_t, ROCPROFILER_THREAD_TRACE_CONTROL_NONE, details::compute_bitset_sequence_range<ROCPROFILER_THREAD_TRACE_CONTROL_START_AND_STOP>(), true);
ROCPROFILER_ENUM_INFO(rocprofiler_thread_trace_parameter_type_t,
ROCPROFILER_THREAD_TRACE_PARAMETER_TARGET_CU,
ROCPROFILER_THREAD_TRACE_PARAMETER_LAST,
false);
ROCPROFILER_ENUM_INFO(rocprofiler_agent_version_t, ROCPROFILER_AGENT_INFO_VERSION_NONE, ROCPROFILER_AGENT_INFO_VERSION_LAST, false);
ROCPROFILER_ENUM_INFO(rocprofiler_agent_version_t,
ROCPROFILER_AGENT_INFO_VERSION_NONE,
ROCPROFILER_AGENT_INFO_VERSION_LAST,
false);
// begin fwd.h
// rocprofiler_hsa_table_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_TABLE_ID_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_TABLE_ID_Core);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_TABLE_ID_AmdExt);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_TABLE_ID_ImageExt);
@@ -1129,30 +1274,25 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_TABLE_ID_PcSamplingExt);
static_assert(ROCPROFILER_HSA_TABLE_ID_LAST == 6);
// rocprofiler_hip_table_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_TABLE_ID_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_TABLE_ID_Compiler);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HIP_TABLE_ID_Runtime);
static_assert(ROCPROFILER_HIP_TABLE_ID_LAST == 2);
// rocprofiler_marker_table_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_TABLE_ID_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_TABLE_ID_RoctxCore);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_TABLE_ID_RoctxControl);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_TABLE_ID_RoctxName);
static_assert(ROCPROFILER_MARKER_TABLE_ID_LAST == 3);
// rocprofiler_rccl_table_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_RCCL_TABLE_ID_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_RCCL_TABLE_ID);
static_assert(ROCPROFILER_RCCL_TABLE_ID_LAST == 1);
// rocprofiler_rocdecode_table_id_t
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCDECODE_TABLE_ID_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCDECODE_TABLE_ID_CORE);
static_assert(ROCPROFILER_ROCDECODE_TABLE_ID_LAST == 1);
// rocprofiler_rocjpeg_table_id_t
// ROCPROFILER_ENUM_LABELROCPROFILER_ROCJPEG_TABLE_ID_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCJPEG_TABLE_ID_CORE);
static_assert(ROCPROFILER_ROCJPEG_TABLE_ID_LAST == 1);
@@ -1216,9 +1356,7 @@ static_assert(ROCPROFILER_AGENT_TYPE_LAST == 3);
// rocprofiler_callback_phase_t
ROCPROFILER_ENUM_LABEL(ROCPROFILER_CALLBACK_PHASE_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_CALLBACK_PHASE_ENTER);
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_CALLBACK_PHASE_LOAD); = ROCPROFILER_CALLBACK_PHASE_ENTER
ROCPROFILER_ENUM_LABEL(ROCPROFILER_CALLBACK_PHASE_EXIT);
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_CALLBACK_PHASE_UNLOAD); = ROCPROFILER_CALLBACK_PHASE_EXIT
static_assert(ROCPROFILER_CALLBACK_PHASE_LAST == 3);
// rocprofiler_callback_tracing_kind_t
@@ -1351,7 +1489,7 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_LIBRARY)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_RCCL_LIBRARY)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCDECODE_LIBRARY)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCJPEG_LIBRARY)
static_assert(ROCPROFILER_LIBRARY_LAST == ROCPROFILER_ROCJPEG_LIBRARY); // = ROCPROFILER_ROCDECODE_LIBRARY
static_assert(ROCPROFILER_LIBRARY_LAST == ROCPROFILER_ROCJPEG_LIBRARY);
// rocprofiler_intercept_table_t
ROCPROFILER_ENUM_LABEL(ROCPROFILER_HSA_TABLE)
@@ -1363,7 +1501,7 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_MARKER_NAME_TABLE)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_RCCL_TABLE)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCDECODE_TABLE)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_ROCJPEG_TABLE)
static_assert(ROCPROFILER_TABLE_LAST == ROCPROFILER_ROCJPEG_TABLE); // = ROCPROFILER_ROCDECODE_TABLE
static_assert(ROCPROFILER_TABLE_LAST == ROCPROFILER_ROCJPEG_TABLE);
// rocprofiler_runtime_initialization_operation_t
ROCPROFILER_ENUM_LABEL(ROCPROFILER_RUNTIME_INITIALIZATION_NONE);
@@ -1401,13 +1539,11 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_PC_SAMPLING_RECORD_STOCHASTIC_V0_SAMPLE);
static_assert(ROCPROFILER_PC_SAMPLING_RECORD_LAST == 4);
// page-migration
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_TRIGGER_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_TRIGGER_PREFETCH);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_TRIGGER_PAGEFAULT_GPU);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_TRIGGER_PAGEFAULT_CPU);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_TRIGGER_TTM_EVICTION);
static_assert(ROCPROFILER_PAGE_MIGRATION_TRIGGER_LAST == 4);
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_SVM);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_USERPTR);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_TTM);
@@ -1415,7 +1551,6 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_SUSPEND)
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_CRIU_CHECKPOINT);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_CRIU_RESTORE);
static_assert(ROCPROFILER_PAGE_MIGRATION_QUEUE_SUSPEND_TRIGGER_LAST == 6);
// ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_MMU_NOTIFY);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_MMU_NOTIFY_MIGRATE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU_TRIGGER_UNMAP_FROM_CPU);
@@ -1459,7 +1594,6 @@ ROCPROFILER_ENUM_LABEL(ROCPROFILER_THREAD_TRACE_CONTROL_START_AND_STOP);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_AGENT_INFO_VERSION_NONE);
ROCPROFILER_ENUM_LABEL(ROCPROFILER_AGENT_INFO_VERSION_0);
static_assert(ROCPROFILER_AGENT_INFO_VERSION_LAST == 2);
// clang-format on
} // namespace details
+1
파일 보기
@@ -2,6 +2,7 @@
# Python package
#
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}][python] ")
set(DEFAULT_PYTHON_RPATH "\$ORIGIN:\$ORIGIN/../../..:\$ORIGIN/../../../rocprofiler-sdk")
include("${CMAKE_CURRENT_LIST_DIR}/utilities.cmake")
+7 -7
파일 보기
@@ -32,10 +32,10 @@ macro(rocprofiler_find_python3 _VERSION)
rocprofiler_reset_python3_cache()
if("${_VERSION}" MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$")
find_package(Python3 ${_VERSION} EXACT ${_ARGN} REQUIRED MODULE
find_package(Python3 ${_VERSION} EXACT ${ARGN} REQUIRED MODULE
COMPONENTS Interpreter Development)
elseif("${_VERSION}" MATCHES "^([0-9]+)\\.([0-9]+)$")
find_package(Python3 ${_VERSION}.0...${_VERSION}.999 ${_ARGN} REQUIRED MODULE
find_package(Python3 ${_VERSION}.0...${_VERSION}.999 ${ARGN} REQUIRED MODULE
COMPONENTS Interpreter Development)
else()
message(
@@ -56,7 +56,7 @@ function(get_default_python_versions _VAR)
set(_PYTHON_FOUND_VERSIONS)
foreach(_VER IN LISTS ROCPROFILER_PYTHON_VERSION_CANDIDATES)
find_package(Python3 ${_VER} EXACT COMPONENTS Interpreter Development)
find_package(Python3 ${_VER} EXACT QUIET COMPONENTS Interpreter Development)
if(Python3_FOUND)
list(APPEND _PYTHON_FOUND_VERSIONS
"${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}")
@@ -84,9 +84,9 @@ endfunction()
function(rocprofiler_roctx_python_bindings _VERSION)
message(
STATUS "Creating rocprofiler-sdk roctx python bindings for python ${_VERSION}")
STATUS "Building rocprofiler-sdk roctx python bindings for python ${_VERSION}")
rocprofiler_find_python3(${_VERSION})
rocprofiler_find_python3(${_VERSION} QUIET)
set(roctx_PYTHON_INSTALL_DIRECTORY
${CMAKE_INSTALL_LIBDIR}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages/roctx
@@ -138,8 +138,8 @@ endfunction()
function(rocprofiler_rocpd_python_bindings _VERSION)
message(
STATUS "Creating rocprofiler-sdk rocpd python bindings for python ${_VERSION}")
rocprofiler_find_python3(${_VERSION})
STATUS "Building rocprofiler-sdk rocpd python bindings for python ${_VERSION}")
rocprofiler_find_python3(${_VERSION} QUIET)
set(rocpd_PYTHON_INSTALL_DIRECTORY
${CMAKE_INSTALL_LIBDIR}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages/rocpd
+2
파일 보기
@@ -37,6 +37,8 @@ set(CMAKE_INSTALL_LIBDIR "lib")
if(PROJECT_IS_TOP_LEVEL)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
else()
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}] ")
endif()
# needed for validation
+24 -15
파일 보기
@@ -25,11 +25,15 @@
#
cmake_minimum_required(VERSION 3.21.0 FATAL_ERROR)
include(FindPackageHandleStandardArgs)
project(
rocprofiler-sdk-tests-rocprofv3-att
LANGUAGES CXX
VERSION 0.0.0)
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}] ")
string(REPLACE "LD_PRELOAD=" "--preload;" PRELOAD_ARGS
"${ROCPROFILER_MEMCHECK_PRELOAD_ENV}")
@@ -40,18 +44,23 @@ find_package(rocprofiler-sdk REQUIRED)
set(IS_DISABLED ON)
set(LIB_PATH_LOC "${ROCM_PATH}/lib")
set(LIB_PATH_ENV "ROCPROF_ATT_LIBRARY_PATH=${LIB_PATH_LOC}")
find_library(
attdecoder
HINTS ${LIB_PATH_LOC}
attdecoder_LIBRARY
NAMES rocprof-trace-decoder
HINTS ${ROCM_PATH}
PATHS ${ROCM_PATH}
PATH_SUFFIXES lib
NAMES rocprof-trace-decoder)
PATH_SUFFIXES lib)
if(attdecoder)
if(attdecoder_LIBRARY)
cmake_path(GET attdecoder_LIBRARY PARENT_PATH attdecoder_LIB_DIR)
endif()
find_package_handle_standard_args(attdecoder REQUIRED_VARS attdecoder_LIB_DIR
attdecoder_LIBRARY)
if(attdecoder_FOUND)
set(IS_DISABLED OFF)
set(LIB_PATH_ENV "ROCPROF_ATT_LIBRARY_PATH=${attdecoder_LIB_DIR}")
endif()
# hsa multiqueue dependency test with lib path
@@ -62,7 +71,7 @@ add_test(
1 --att-target-cu 1 --att-shader-engine-mask 0x11 --kernel-include-regex copyD
--att-buffer-size 0x6000000 --att-simd-select 0x3 --att-serialize-all 1 -d
${CMAKE_CURRENT_BINARY_DIR}/%argt%-trace/cmd_input -o out --output-format json
${PRELOAD_ARGS} --att-library-path ${LIB_PATH_LOC} --att-activity 8 --
${PRELOAD_ARGS} --att-library-path ${attdecoder_LIB_DIR} --att-activity 8 --
$<TARGET_FILE:hsa_code_object_testapp>)
set_tests_properties(
@@ -74,14 +83,14 @@ add_test(
NAME rocprofv3-test-hsa-multiqueue-att-json-execute
COMMAND
$<TARGET_FILE:rocprofiler-sdk::rocprofv3> --log-level env --att-library-path
${LIB_PATH_LOC} -d ${CMAKE_CURRENT_BINARY_DIR}/%argt%-trace/json_input -i
${attdecoder_LIB_DIR} -d ${CMAKE_CURRENT_BINARY_DIR}/%argt%-trace/json_input -i
${CMAKE_CURRENT_BINARY_DIR}/att_input.json ${PRELOAD_ARGS} --
$<TARGET_FILE:hsa_code_object_testapp>)
set_tests_properties(
rocprofv3-test-hsa-multiqueue-att-json-execute
PROPERTIES TIMEOUT 45 LABELS "integration-tests" DISABLED ${IS_DISABLED} ENVIRONMENT
${LIB_PATH_ENV})
"${LIB_PATH_ENV}")
# validate output
add_test(
@@ -139,7 +148,7 @@ function(configure_att_input _FILENAME _OUTDIR)
${CMAKE_CURRENT_BINARY_DIR}/${_FILENAME} @ONLY)
endfunction()
configure_att_input(att_input.yml "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
configure_att_input(att_input.yml "${attdecoder_LIB_DIR}")
configure_att_input(att_input_will_fail.yml "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
# test yaml input
@@ -204,7 +213,7 @@ add_test(
set_tests_properties(
rocprofv3-test-hsa-multiqueue-att-plus-pmc-execute
PROPERTIES TIMEOUT 45 LABELS "integration-tests" DISABLED ${IS_DISABLED} ENVIRONMENT
${LIB_PATH_ENV})
"${LIB_PATH_ENV}")
# Check for conflict PMC + activity
add_test(
@@ -223,7 +232,7 @@ set_tests_properties(
DISABLED
${IS_DISABLED}
ENVIRONMENT
${LIB_PATH_ENV}
"${LIB_PATH_ENV}"
WILL_FAIL
ON)
@@ -244,6 +253,6 @@ set_tests_properties(
DISABLED
${IS_DISABLED}
ENVIRONMENT
${LIB_PATH_ENV}
"${LIB_PATH_ENV}"
WILL_FAIL
ON)