bb69467765
* Renamed agent profiling service to device counting service
Name more aptly represents what agent profiling did (device wide
counter collection). Conversion of existing user code can be
performed by the following find/sed command:
find . -type f -exec sed -i 's/rocprofiler_agent_profile_callback_t/rocprofiler_device_counting_service_callback_t/g; s/rocprofiler_configure_agent_profile_counting_service/rocprofiler_configure_device_counting_service/g; s/agent_profile.h/device_counting_service.h/g; s/rocprofiler_sample_agent_profile_counting_service/rocprofiler_sample_device_counting_service/g' {} +
* Converted dispatch profile to dispatch counting service
* Debug for functioal counters test
* Minor changes for CI
* Minor fix
* More fixes for CI
* Update evaluate_ast.cpp
---------
Co-authored-by: Benjamin Welton <ben@amd.com>
147 lines
5.3 KiB
CMake
147 lines
5.3 KiB
CMake
#
|
|
#
|
|
#
|
|
rocprofiler_activate_clang_tidy()
|
|
|
|
set(ROCPROFILER_LIB_HEADERS agent.hpp buffer.hpp external_correlation.hpp
|
|
intercept_table.hpp internal_threading.hpp registration.hpp)
|
|
set(ROCPROFILER_LIB_SOURCES
|
|
agent.cpp
|
|
buffer.cpp
|
|
buffer_tracing.cpp
|
|
device_counting_service.cpp
|
|
callback_tracing.cpp
|
|
context.cpp
|
|
counters.cpp
|
|
dispatch_profile.cpp
|
|
external_correlation.cpp
|
|
intercept_table.cpp
|
|
internal_threading.cpp
|
|
pc_sampling.cpp
|
|
profile_config.cpp
|
|
rocprofiler.cpp
|
|
registration.cpp)
|
|
|
|
# ----------------------------------------------------------------------------------------#
|
|
#
|
|
# object library allows us to compile rocprofiler code once and generate both a shared and
|
|
# static library
|
|
#
|
|
# ----------------------------------------------------------------------------------------#
|
|
|
|
add_library(rocprofiler-object-library OBJECT)
|
|
add_library(rocprofiler-sdk::rocprofiler-object-library ALIAS rocprofiler-object-library)
|
|
|
|
target_sources(rocprofiler-object-library PRIVATE ${ROCPROFILER_LIB_SOURCES}
|
|
${ROCPROFILER_LIB_HEADERS})
|
|
|
|
add_subdirectory(hsa)
|
|
add_subdirectory(hip)
|
|
add_subdirectory(code_object)
|
|
add_subdirectory(context)
|
|
add_subdirectory(counters)
|
|
add_subdirectory(aql)
|
|
add_subdirectory(pc_sampling)
|
|
add_subdirectory(marker)
|
|
add_subdirectory(thread_trace)
|
|
add_subdirectory(tracing)
|
|
add_subdirectory(kernel_dispatch)
|
|
add_subdirectory(page_migration)
|
|
add_subdirectory(rccl)
|
|
add_subdirectory(details)
|
|
|
|
target_link_libraries(
|
|
rocprofiler-object-library
|
|
PUBLIC rocprofiler-sdk::rocprofiler-headers rocprofiler-sdk::rocprofiler-hip-nolink
|
|
rocprofiler-sdk::rocprofiler-hsa-runtime-nolink
|
|
rocprofiler-sdk::rocprofiler-rccl-nolink
|
|
PRIVATE rocprofiler-sdk::rocprofiler-build-flags
|
|
rocprofiler-sdk::rocprofiler-memcheck
|
|
rocprofiler-sdk::rocprofiler-common-library
|
|
rocprofiler-sdk::rocprofiler-amd-comgr
|
|
rocprofiler-sdk::rocprofiler-hsa-aql
|
|
rocprofiler-sdk::rocprofiler-drm
|
|
rocprofiler-sdk::rocprofiler-hsakmt-nolink)
|
|
|
|
target_compile_definitions(rocprofiler-object-library PRIVATE rocprofiler_EXPORTS=1)
|
|
|
|
set_target_properties(rocprofiler-object-library PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
|
|
# ----------------------------------------------------------------------------------------#
|
|
#
|
|
# shared library
|
|
#
|
|
# ----------------------------------------------------------------------------------------#
|
|
|
|
add_library(rocprofiler-shared-library SHARED)
|
|
add_library(rocprofiler-sdk::rocprofiler-shared-library ALIAS rocprofiler-shared-library)
|
|
|
|
target_sources(
|
|
rocprofiler-shared-library
|
|
PRIVATE $<TARGET_OBJECTS:rocprofiler-sdk::rocprofiler-object-library>
|
|
shared_library.cpp)
|
|
target_link_libraries(
|
|
rocprofiler-shared-library
|
|
INTERFACE rocprofiler-sdk::rocprofiler-headers
|
|
$<BUILD_INTERFACE:rocprofiler-sdk::rocprofiler-hsa-runtime-nolink>
|
|
$<BUILD_INTERFACE:rocprofiler-sdk::rocprofiler-hip-nolink>
|
|
PRIVATE rocprofiler-sdk::rocprofiler-hsa-runtime-nolink
|
|
rocprofiler-sdk::rocprofiler-hip-nolink
|
|
rocprofiler-sdk::rocprofiler-build-flags
|
|
rocprofiler-sdk::rocprofiler-memcheck
|
|
rocprofiler-sdk::rocprofiler-common-library
|
|
rocprofiler-sdk::rocprofiler-cxx-filesystem
|
|
rocprofiler-sdk::rocprofiler-dl
|
|
rocprofiler-sdk::rocprofiler-amd-comgr
|
|
rocprofiler-sdk::rocprofiler-object-library)
|
|
|
|
set_target_properties(
|
|
rocprofiler-shared-library
|
|
PROPERTIES OUTPUT_NAME rocprofiler-sdk
|
|
SOVERSION ${PROJECT_VERSION_MAJOR}
|
|
VERSION ${PROJECT_VERSION}
|
|
BUILD_RPATH "\$ORIGIN"
|
|
INSTALL_RPATH "\$ORIGIN"
|
|
DEFINE_SYMBOL rocprofiler_EXPORTS)
|
|
|
|
add_library(rocprofiler-sdk::rocprofiler-library ALIAS rocprofiler-shared-library)
|
|
|
|
install(
|
|
TARGETS rocprofiler-shared-library
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
COMPONENT core
|
|
EXPORT rocprofiler-sdk-targets)
|
|
|
|
# ----------------------------------------------------------------------------------------#
|
|
#
|
|
# static library (only built if another target links to it)
|
|
#
|
|
# ----------------------------------------------------------------------------------------#
|
|
|
|
add_library(rocprofiler-static-library EXCLUDE_FROM_ALL STATIC)
|
|
add_library(rocprofiler-sdk::rocprofiler-static-library ALIAS rocprofiler-static-library)
|
|
|
|
target_sources(rocprofiler-static-library
|
|
PRIVATE $<TARGET_OBJECTS:rocprofiler-sdk::rocprofiler-object-library>)
|
|
target_link_libraries(
|
|
rocprofiler-static-library
|
|
PUBLIC rocprofiler-sdk::rocprofiler-headers
|
|
rocprofiler-sdk::rocprofiler-hsa-runtime-nolink
|
|
rocprofiler-sdk::rocprofiler-hip-nolink
|
|
PRIVATE rocprofiler-sdk::rocprofiler-common-library
|
|
rocprofiler-sdk::rocprofiler-object-library)
|
|
|
|
set_target_properties(
|
|
rocprofiler-static-library PROPERTIES OUTPUT_NAME rocprofiler-sdk DEFINE_SYMBOL
|
|
rocprofiler_EXPORTS)
|
|
|
|
# ----------------------------------------------------------------------------------------#
|
|
#
|
|
# testing
|
|
#
|
|
# ----------------------------------------------------------------------------------------#
|
|
|
|
if(ROCPROFILER_BUILD_TESTS)
|
|
add_subdirectory(tests)
|
|
endif()
|