16d535ef48
* CMake support for OTF2 library * Preliminary OTF2 generation implementation * Completed OTF2 Support - HSA API - HIP API - Marker API - Async Memory Copies - Kernel Dispatch * Update lib/rocprofiler-sdk-tool/generateOTF2.cpp - fix location type for dispatches * Testing for OTF2 output * Add OTF2 to requirements.txt * Update lib/rocprofiler-sdk-tool/generateOTF2.cpp - fix getting kernel name * OTF2 testing with rocprofv3/tracing-hip-in-libraries * Format external/otf2/CMakeLists.txt * Update external/otf2/CMakeLists.txt - guard CMP0135 for cmake < 3.24 * Update lib/rocprofiler-sdk-tool/generateOTF2.cpp - fix duplicate string ref issue * Update lib/rocprofiler-sdk-tool/generateOTF2.cpp - fix header includes * Update CI workflow - sudo install pypi requirements for core-rpm for $HOME/.local installs * Update pytest_utils/otf2_reader.py - modifications for reading trace * Update pytest_utils/otf2_reader.py - misc cleanup * Update CI workflow - fix installer artifact naming * Update pytest_utils/otf2_reader.py - handle slightly overlapping kernel timestamps for MI300 * OTF2 attributes for category * Testing with OTF2Reader category attributes * Fix memory leak in OTF2 generation - leaking OTF2_AttributeList
85 baris
4.2 KiB
CMake
85 baris
4.2 KiB
CMake
#
|
|
#
|
|
# Forward declaration of all INTERFACE targets
|
|
#
|
|
#
|
|
|
|
include(rocprofiler_utilities)
|
|
|
|
#
|
|
# interfaces for build flags
|
|
#
|
|
rocprofiler_add_interface_library(
|
|
rocprofiler-headers
|
|
"Provides minimal set of include flags to compile with rocprofiler")
|
|
rocprofiler_add_interface_library(
|
|
rocprofiler-build-flags "Provides generalized build flags for rocprofiler" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-threading "Enables multithreading support"
|
|
INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-perfetto "Enables Perfetto support"
|
|
INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-otf2 "Enables OTF2 support" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-cereal "Enables Cereal support" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-compile-definitions "Compile definitions"
|
|
INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-static-libgcc
|
|
"Link to static version of libgcc" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-static-libstdcxx
|
|
"Link to static version of libstdc++" INTERNAL)
|
|
rocprofiler_add_interface_library(
|
|
rocprofiler-developer-flags "Compiler flags for developers (more warnings, etc.)"
|
|
INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-debug-flags
|
|
"Compiler flags for more debug info" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-release-flags
|
|
"Compiler flags for more debug info" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-stack-protector
|
|
"Adds stack-protector compiler flags" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-memcheck INTERFACE INTERNAL)
|
|
|
|
#
|
|
# interfaces for libraries (general)
|
|
#
|
|
rocprofiler_add_interface_library(rocprofiler-dl
|
|
"Build flags for dynamic linking library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-rt "Build flags for runtime library"
|
|
INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-atomic "atomic library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-gtest "Google Test library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-glog "Google Log library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-fmt "C++ format string library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-cxx-filesystem "C++ filesystem library"
|
|
INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-ptl "Parallel Tasking Library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-elf "ElfUtils elf library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-dw "ElfUtils dw library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-elfio "ELFIO header-only C++ library"
|
|
INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-yaml-cpp "YAML CPP Parser" INTERNAL)
|
|
|
|
#
|
|
# interface for libraries (ROCm-specific)
|
|
#
|
|
rocprofiler_add_interface_library(rocprofiler-hip "HIP library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-hsa-runtime "HSA runtime library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-amd-comgr "AMD comgr library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-hsa-aql "AQL library" INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-hsakmt "HSAKMT library for AMD KFD support"
|
|
INTERNAL)
|
|
rocprofiler_add_interface_library(rocprofiler-drm "drm (amdgpu) library" INTERNAL)
|
|
|
|
#
|
|
# "nolink" interface targets emulate another interface target but do not link to the
|
|
# library. E.g. rocprofiler-hip-nolink has the include directories, compile definitions,
|
|
# and compile options of rocprofiler-hip but does not link to the HIP runtime library
|
|
#
|
|
|
|
rocprofiler_add_interface_library(
|
|
rocprofiler-hip-nolink "rocprofiler-hip without linking to HIP library" IMPORTED)
|
|
rocprofiler_add_interface_library(
|
|
rocprofiler-hsa-runtime-nolink
|
|
"rocprofiler-hsa-runtime without linking to HSA library" IMPORTED)
|
|
rocprofiler_add_interface_library(
|
|
rocprofiler-hsakmt-nolink "rocprofiler-hsakmt without linking to HSAKMT library"
|
|
IMPORTED)
|