861a843ed7
This commit adds integration with ROCmTools Additional changes: - Fix DEB and RPM installation issue when systemd is not present - Fix typos in rdc.h - Wrap negative values in parentheses in rdc.h - CMAKE: Improve rocm_smi searching - README: Improve formatting, add info about ROCmTools Metrics added: 700-714 Metrics can be listed with `rdci dmon --list-all` Majority of the metrics are only supported by Instict (MI) series GPUs 700 RDC_FI_PROF_ELAPSED_CYCLES should be available on most devices See README for more information Change-Id: I907d3eacdc92fc5588ca6c76c2fa1ce0ad900770 Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
55 lines
2.1 KiB
CMake
55 lines
2.1 KiB
CMake
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
|
message(" Cmake RDC Lib-ROCP ")
|
|
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
|
|
|
set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
|
set(INC_DIR "${PROJECT_SOURCE_DIR}/include/rdc_modules/rdc_rocp")
|
|
|
|
set(RDC_ROCP_LIB_COMPONENT "lib${RDC_ROCP_LIB}")
|
|
set(RDC_ROCP_LIB_SRC_LIST
|
|
"${BOOTSTRAP_LIB_SRC_DIR}/RdcLogger.cc"
|
|
"${SRC_DIR}/RdcTelemetryLib.cc"
|
|
"${SRC_DIR}/RdcRocpBase.cc")
|
|
set(RDC_ROCP_LIB_INC_LIST
|
|
"${PROJECT_SOURCE_DIR}/include/rdc/rdc.h"
|
|
"${RDC_LIB_INC_DIR}/RdcDiagnosticLibInterface.h"
|
|
"${RDC_LIB_INC_DIR}/rdc_common.h"
|
|
"${RDC_LIB_INC_DIR}/RdcLogger.h"
|
|
"${INC_DIR}/RdcTelemetryLib.h"
|
|
"${INC_DIR}/RdcRocpBase.h")
|
|
|
|
if(BUILD_ROCPTEST)
|
|
message("Build librdc_rocp.so is enabled, make sure ROCmTools is installed.")
|
|
|
|
message("RDC_ROCP_LIB_INC_LIST=${RDC_ROCP_LIB_INC_LIST}")
|
|
|
|
set(ROCMTOOLS_LIB rocmtools::rocmtools)
|
|
# below provides rocmtools::rocmtools package
|
|
include(Findrocmtools)
|
|
|
|
set(HSA_LIB "hsa-runtime64")
|
|
set(RDC_LIB_MODULES ${RDC_LIB_MODULES} ${RDC_ROCP_LIB} PARENT_SCOPE)
|
|
add_library(${RDC_ROCP_LIB} SHARED ${RDC_ROCP_LIB_SRC_LIST} ${RDC_ROCP_LIB_INC_LIST})
|
|
target_link_libraries(${RDC_ROCP_LIB} ${RDC_LIB} ${BOOTSTRAP_LIB} ${HSA_LIB} ${ROCMTOOLS_LIB} pthread dl)
|
|
target_include_directories(${RDC_ROCP_LIB} PRIVATE
|
|
"${PROJECT_SOURCE_DIR}"
|
|
"${PROJECT_SOURCE_DIR}/include"
|
|
"${COMMON_DIR}"
|
|
"${RSMI_INC_DIR}"
|
|
"${ROCM_DIR}/include"
|
|
"${ROCM_DIR}/include/hsa")
|
|
|
|
# Set the VERSION and SOVERSION values
|
|
set_property(TARGET ${RDC_ROCP_LIB} PROPERTY
|
|
SOVERSION "${VERSION_MAJOR}")
|
|
set_property(TARGET ${RDC_ROCP_LIB} PROPERTY
|
|
VERSION "${SO_VERSION_STRING}")
|
|
|
|
# If the library is a release, strip the target library
|
|
if("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
|
add_custom_command(
|
|
TARGET ${RDC_ROCP_LIB}
|
|
POST_BUILD COMMAND ${CMAKE_STRIP} ${RDC_ROCP_LIB_COMPONENT}.so)
|
|
endif()
|
|
endif()
|