[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>
This commit is contained in:
Elwazir, Ammar
2025-06-17 08:32:54 -05:00
committed by GitHub
parent 3e43b1f019
commit aeb1621c2b
15 changed files with 427 additions and 210 deletions
+88 -27
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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