Files
rocm-systems/rdc_libs/rdc_modules/rdc_rocr/CMakeLists.txt
T
Galantsev, Dmitrii 861a843ed7 Add rocmtools support
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>
2022-12-16 12:19:59 -06:00

62 lines
2.3 KiB
CMake

message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
message(" Cmake RDC Lib-ROCR ")
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(INC_DIR "${PROJECT_SOURCE_DIR}/include/rdc_modules/rdc_rocr")
set(RDC_ROCR_LIB_COMPONENT "lib${RDC_ROCR_LIB}")
set(RDC_ROCR_LIB_SRC_LIST
"${BOOTSTRAP_LIB_SRC_DIR}/RdcLogger.cc"
"${SRC_DIR}/ComputeQueueTest.cc"
"${SRC_DIR}/MemoryAccess.cc"
"${SRC_DIR}/MemoryTest.cc"
"${SRC_DIR}/RdcDiagnosticLib.cc"
"${SRC_DIR}/RdcRocrBase.cc"
"${SRC_DIR}/TestBase.cc"
"${SRC_DIR}/base_rocr_utils.cc"
"${SRC_DIR}/common.cc")
set(RDC_ROCR_LIB_INC_LIST
"${INC_DIR}/MemoryAccess.h"
"${INC_DIR}/MemoryTest.h"
"${INC_DIR}/RdcDiagnosticLib.h"
"${INC_DIR}/RdcRocrBase.h"
"${INC_DIR}/TestBase.h"
"${INC_DIR}/base_rocr_utils.h"
"${INC_DIR}/common.h"
"${PROJECT_SOURCE_DIR}/include/rdc/rdc.h"
"${RDC_LIB_INC_DIR}/RdcDiagnosticLibInterface.h"
"${RDC_LIB_INC_DIR}/RdcLogger.h"
"${RDC_LIB_INC_DIR}/rdc_common.h")
if(BUILD_ROCRTEST)
message("Build librdc_rocr.so is enabled, make sure the Rocm run time is installed.")
message("RDC_ROCR_LIB_INC_LIST=${RDC_ROCR_LIB_INC_LIST}")
set(HSA_LIB "hsa-runtime64")
set(RDC_LIB_MODULES ${RDC_LIB_MODULES} ${RDC_ROCR_LIB} PARENT_SCOPE)
add_library(${RDC_ROCR_LIB} SHARED ${RDC_ROCR_LIB_SRC_LIST} ${RDC_ROCR_LIB_INC_LIST})
target_link_libraries(${RDC_ROCR_LIB} ${RDC_LIB} ${BOOTSTRAP_LIB} ${HSA_LIB} pthread dl)
target_include_directories(${RDC_ROCR_LIB} PRIVATE
"${PROJECT_SOURCE_DIR}"
"${PROJECT_SOURCE_DIR}/include"
"${COMMON_DIR}"
"${RSMI_INC_DIR}"
"${ROCM_DIR}/include")
# Set the VERSION and SOVERSION values
set_property(TARGET ${RDC_ROCR_LIB} PROPERTY
SOVERSION "${VERSION_MAJOR}")
set_property(TARGET ${RDC_ROCR_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_ROCR_LIB}
POST_BUILD COMMAND ${CMAKE_STRIP} ${RDC_ROCR_LIB_COMPONENT}.so)
endif()
endif()