Improve CMake and relocate tests
- Respect CMAKE_INSTALL_PREFIX and ignore RDC_CLIENT_INSTALL_PREFIX - Move example and rdctst from rocm/bin to rocm/share/rdc - Add README for examples Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com> Change-Id: I0b1d996d206327fd1b51ac6e82d548829bdb1570
This commit is contained in:
+19
-20
@@ -87,12 +87,9 @@ set(RSMI_LIB_DIR "${ROCM_DIR}/${CMAKE_INSTALL_LIBDIR}" CACHE INTERNAL "ROCm SMI
|
||||
set(GRPC_ROOT_DEFAULT "/usr")
|
||||
set(GRPC_ROOT ${GRPC_ROOT_DEFAULT} CACHE STRING "GRPC installation directory.")
|
||||
set(GRPC_DESIRED_VERSION 1.44.0 CACHE STRING "GRPC desired package version.")
|
||||
set(RDC_ROOT_PATH "/" CACHE STRING "")
|
||||
set(RDC_CLIENT_INSTALL_PREFIX "opt/rocm" CACHE STRING "Old variable name. Used by RDC_INSTALL_PREFIX")
|
||||
mark_as_advanced(RDC_CLIENT_INSTALL_PREFIX)
|
||||
set(RDC_INSTALL_PREFIX "${RDC_CLIENT_INSTALL_PREFIX}" CACHE STRING "")
|
||||
set(RDC_SHARE_INSTALL_PREFIX "share/${RDC}" CACHE INTERNAL "Tests and Example install directory")
|
||||
|
||||
set(CMAKE_INSTALL_PREFIX ${RDC_ROOT_PATH} CACHE STRING "Default installation directory.")
|
||||
set(CMAKE_INSTALL_PREFIX ${ROCM_DIR} CACHE STRING "Default installation directory.")
|
||||
|
||||
# add package search paths
|
||||
set(CMAKE_PREFIX_PATH
|
||||
@@ -113,7 +110,7 @@ set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." CACHE STRING "")
|
||||
set(CPACK_PACKAGE_CONTACT "RDC Support <rdc.support@amd.com>" CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Radeon Data Center Tools" CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION "This package contains the AMD ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}." CACHE STRING "")
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX ${RDC_ROOT_PATH} CACHE INTERNAL "Default packaging prefix.")
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE STRING "Default packaging prefix.")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" CACHE INTERNAL "")
|
||||
set(CPACK_RPM_PACKAGE_LICENSE "MIT" CACHE INTERNAL "")
|
||||
set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators.")
|
||||
@@ -255,24 +252,24 @@ if(BUILD_STANDALONE)
|
||||
if(NOT GRPC_ROOT STREQUAL GRPC_ROOT_DEFAULT)
|
||||
install(DIRECTORY ${GRPC_ROOT}/lib
|
||||
USE_SOURCE_PERMISSIONS
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
# In SLES, The libprotobuf is created under lib64 folder, install it as well
|
||||
if(EXISTS ${GRPC_ROOT}/lib64)
|
||||
install(DIRECTORY ${GRPC_ROOT}/lib64/
|
||||
USE_SOURCE_PERMISSIONS
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc/lib
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc/lib
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
endif()
|
||||
# Also include dev setup for people do not want to build grpc
|
||||
install(DIRECTORY ${GRPC_ROOT}/bin
|
||||
USE_SOURCE_PERMISSIONS
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
|
||||
install(DIRECTORY ${GRPC_ROOT}/include
|
||||
USE_SOURCE_PERMISSIONS
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
endif()
|
||||
|
||||
@@ -296,7 +293,6 @@ endif()
|
||||
|
||||
# Folders for both standalone and embedded
|
||||
add_subdirectory("rdc_libs")
|
||||
add_subdirectory("example")
|
||||
|
||||
# Export the package for use from the build-tree
|
||||
# (this registers the build-tree with a global CMake-registry)
|
||||
@@ -309,8 +305,8 @@ set(CONF_LIBS "librdc_bootstrap.so")
|
||||
configure_file(cmake_modules/rdc-config.cmake.in
|
||||
"${PROJECT_BINARY_DIR}/rdc-config.cmake" @ONLY)
|
||||
# ... for the install tree
|
||||
set(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
set(CONF_LIB_DIR "${CMAKE_INSTALL_PREFIX}${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
set(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
set(CONF_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
|
||||
configure_file(cmake_modules/rdc-config.cmake.in
|
||||
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/rdc-config.cmake" @ONLY)
|
||||
@@ -321,29 +317,32 @@ configure_file(cmake_modules/rdc-config-version.cmake.in
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/rdc-config.cmake"
|
||||
"${PROJECT_BINARY_DIR}/rdc-config-version.cmake"
|
||||
DESTINATION "${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev)
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev)
|
||||
# Install the export set for use with the install-tree
|
||||
install(EXPORT rdcTargets DESTINATION
|
||||
"${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev)
|
||||
"${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev)
|
||||
|
||||
|
||||
# License file
|
||||
install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt COMPONENT dev)
|
||||
install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt COMPONENT dev)
|
||||
|
||||
# Python binding
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/python_binding
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/example
|
||||
DESTINATION ${RDC_SHARE_INSTALL_PREFIX}
|
||||
COMPONENT dev)
|
||||
|
||||
# Prebuild packages to install
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/ras_prebuild/librdc_ras.so
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/ras_prebuild/config
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/${RDC}
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/ras_prebuild/sp3
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
|
||||
|
||||
@@ -49,7 +49,6 @@ message("----------Proj Exe Dir: " ${PROJECT_BINARY_DIR}/bin)
|
||||
message("----------RSMI Lib Dir: " ${RSMI_LIB_DIR})
|
||||
message("----------RSMI Inc Dir: " ${RSMI_INC_DIR})
|
||||
message("---------GRPC Root Dir: " ${GRPC_ROOT})
|
||||
message("-Client Install Prefix: " ${RDC_INSTALL_PREFIX})
|
||||
message("")
|
||||
|
||||
## Include common cmake modules
|
||||
@@ -116,10 +115,10 @@ endif()
|
||||
|
||||
## Add the install directives for the runtime library.
|
||||
install(TARGETS ${CLIENT_LIB}
|
||||
LIBRARY DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/authentication
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
# Generate Doxygen documentation for client api manual
|
||||
@@ -147,10 +146,10 @@ if(DOXYGEN_FOUND AND LATEX_FOUND)
|
||||
|
||||
add_dependencies(${CLIENT_LIB} docs)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
||||
COMPONENT ${CLIENT_COMPONENT} RENAME ${RDC_MANUAL_NAME}.pdf)
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/README.md
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
else()
|
||||
message("Doxygen or Latex is not found. Will not generate documents.")
|
||||
|
||||
@@ -102,11 +102,11 @@ endfunction()
|
||||
|
||||
# Use template header file and generate wrapper header files
|
||||
generate_wrapper_header()
|
||||
install(DIRECTORY ${RDC_WRAPPER_INC_DIR} DESTINATION DESTINATION ${RDC_INSTALL_PREFIX}/${RDC}/include COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${RDC_WRAPPER_INC_DIR} DESTINATION DESTINATION ${RDC}/include COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
# Create symlink to library files
|
||||
create_library_symlink()
|
||||
install(DIRECTORY ${RDC_WRAPPER_LIB_DIR} DESTINATION ${RDC_INSTALL_PREFIX}/${RDC} COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${RDC_WRAPPER_LIB_DIR} DESTINATION ${RDC} COMPONENT ${CLIENT_COMPONENT})
|
||||
# Create symlink to library binaries
|
||||
create_binary_symlink()
|
||||
install(DIRECTORY ${RDC_WRAPPER_BIN_DIR} DESTINATION ${RDC_INSTALL_PREFIX}/${RDC} COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${RDC_WRAPPER_BIN_DIR} DESTINATION ${RDC} COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
+66
-43
@@ -18,6 +18,65 @@
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
|
||||
# WARN: This is a standalone CMake project! Do not include as a subdirectory!
|
||||
|
||||
# This project is meant to demo RDC library
|
||||
# See README.md for more information
|
||||
|
||||
#
|
||||
# Minimum version of cmake required
|
||||
#
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
option(CMAKE_VERBOSE_MAKEFILE "Enable verbose output" ON)
|
||||
option(CMAKE_EXPORT_COMPILE_COMMANDS "Export compile commands for linters and autocompleters" ON)
|
||||
|
||||
# Compiler flags
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -m64 -msse -msse2 -std=c++11 -pthread")
|
||||
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb -O0 -DDEBUG")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11 CACHE STRING "The C++ standard to use")
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.4.0)
|
||||
message("Compiler version is " ${CMAKE_CXX_COMPILER_VERSION})
|
||||
message(FATAL_ERROR "Require at least gcc-5.4.0")
|
||||
endif()
|
||||
|
||||
project(RDC_example)
|
||||
|
||||
# provides cmake_print_variables(VAR)
|
||||
include(CMakePrintHelpers)
|
||||
|
||||
# required variables
|
||||
if(DEFINED ENV{ROCM_PATH})
|
||||
set(ROCM_DIR "$ENV{ROCM_PATH}" CACHE STRING "ROCm directory.")
|
||||
else()
|
||||
set(ROCM_DIR "/opt/rocm" CACHE STRING "ROCm directory.")
|
||||
endif()
|
||||
|
||||
# add package search paths
|
||||
set(CMAKE_PREFIX_PATH
|
||||
${CMAKE_PREFIX_PATH}
|
||||
${ROCM_DIR}
|
||||
)
|
||||
set(CMAKE_LIBRARY_PATH
|
||||
${CMAKE_LIBRARY_PATH}
|
||||
${ROCM_DIR}/lib
|
||||
${ROCM_DIR}/lib64
|
||||
)
|
||||
|
||||
# RDC provides librdc_bootstrap
|
||||
find_package(rdc
|
||||
CONFIG REQUIRED)
|
||||
|
||||
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
message(" Cmake Example ")
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
@@ -27,63 +86,27 @@ message("Build Configuration:")
|
||||
message("-----------BuildType: " ${CMAKE_BUILD_TYPE})
|
||||
message("------------Compiler: " ${CMAKE_CXX_COMPILER})
|
||||
message("-------------Version: " ${CMAKE_CXX_COMPILER_VERSION})
|
||||
message("--------Proj Src Dir: " ${PROJECT_SOURCE_DIR})
|
||||
message("--------Proj Bld Dir: " ${PROJECT_BINARY_DIR})
|
||||
message("--------Proj Lib Dir: " ${PROJECT_BINARY_DIR}/lib)
|
||||
message("--------Proj Exe Dir: " ${PROJECT_BINARY_DIR}/bin)
|
||||
message("--------RSMI Lib Dir: " ${RSMI_LIB_DIR})
|
||||
message("--------RSMI Inc Dir: " ${RSMI_INC_DIR})
|
||||
message("------------ROCM_DIR: " ${ROCM_DIR})
|
||||
message("")
|
||||
|
||||
## Compiler flags
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -m64")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -std=c++11 -pthread ")
|
||||
# Use this instead of above for 32 bit
|
||||
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
|
||||
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb -O0 -DDEBUG")
|
||||
endif()
|
||||
|
||||
set(SRC_DIR "${PROJECT_SOURCE_DIR}/example")
|
||||
set(INC_DIR "${PROJECT_SOURCE_DIR}/include")
|
||||
set(LIB_BOOSTRAP_DIR "${PROJECT_BINARY_DIR}/rdc_libs")
|
||||
|
||||
include_directories(${INC_DIR})
|
||||
|
||||
set(JOBSTATS_EXAMPLE_SRC_LIST "${SRC_DIR}/job_stats_example.cc")
|
||||
message("JOBSTATS_EXAMPLE_SRC_LIST=${JOBSTATS_EXAMPLE_SRC_LIST}")
|
||||
set(JOBSTATS_EXAMPLE_SRC_LIST "job_stats_example.cc")
|
||||
cmake_print_variables(JOBSTATS_EXAMPLE_SRC_LIST)
|
||||
set(JOBSTATS_EXAMPLE_EXE "jobstats")
|
||||
|
||||
link_directories(${LIB_BOOSTRAP_DIR})
|
||||
|
||||
add_executable(${JOBSTATS_EXAMPLE_EXE} "${JOBSTATS_EXAMPLE_SRC_LIST}")
|
||||
|
||||
target_link_libraries(${JOBSTATS_EXAMPLE_EXE} pthread dl rdc_bootstrap)
|
||||
|
||||
set(FIELDVALUE_EXAMPLE_SRC_LIST "${SRC_DIR}/field_value_example.cc")
|
||||
message("FIELDVALUE_EXAMPLE_SRC_LIST=${FIELDVALUE_EXAMPLE_SRC_LIST}")
|
||||
set(FIELDVALUE_EXAMPLE_SRC_LIST "field_value_example.cc")
|
||||
cmake_print_variables(FIELDVALUE_EXAMPLE_SRC_LIST)
|
||||
set(FIELDVALUE_EXAMPLE_EXE "fieldvalue")
|
||||
|
||||
link_directories(${LIB_BOOSTRAP_DIR})
|
||||
|
||||
add_executable(${FIELDVALUE_EXAMPLE_EXE} "${FIELDVALUE_EXAMPLE_SRC_LIST}")
|
||||
|
||||
target_link_libraries(${FIELDVALUE_EXAMPLE_EXE} pthread dl rdc_bootstrap)
|
||||
|
||||
set(DIAGNOSTIC_EXAMPLE_SRC_LIST "${SRC_DIR}/diagnostic_example.cc")
|
||||
message("DIAGNOSTIC_EXAMPLE_SRC_LIST=${DIAGNOSTIC_EXAMPLE_SRC_LIST}")
|
||||
set(DIAGNOSTIC_EXAMPLE_SRC_LIST "diagnostic_example.cc")
|
||||
cmake_print_variables(DIAGNOSTIC_EXAMPLE_SRC_LIST)
|
||||
set(DIAGNOSTIC_EXAMPLE_EXE "diagnostic")
|
||||
|
||||
link_directories(${LIB_BOOSTRAP_DIR})
|
||||
|
||||
add_executable(${DIAGNOSTIC_EXAMPLE_EXE} "${DIAGNOSTIC_EXAMPLE_SRC_LIST}")
|
||||
|
||||
target_link_libraries(${DIAGNOSTIC_EXAMPLE_EXE} pthread dl rdc_bootstrap)
|
||||
|
||||
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
message(" Finished Cmake Example ")
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Examples
|
||||
|
||||
|
||||
### How to compile examples?
|
||||
|
||||
***NOTE: You have to have RDC installed somewhere.***
|
||||
|
||||
If you have rocm (and RDC) installed under `/opt/rocm` - then you can simply do:
|
||||
|
||||
```bash
|
||||
# same as 'mkdir -p build; cd build; cmake ../; cd ../'
|
||||
cmake -B build
|
||||
# same as 'cd build; make; cd ../'
|
||||
make -C build
|
||||
```
|
||||
|
||||
If you have rocm installed under a different directory, then you will have to
|
||||
add that path with one of the following ways:
|
||||
|
||||
- `cmake -DROCM_DIR=/custom/rocm/path -B build`
|
||||
- `ROCM_PATH=/custom/rocm/path cmake -B build`
|
||||
|
||||
followed by `make -C build`
|
||||
|
||||
You can also set ROCM\_PATH environment variable.
|
||||
|
||||
|
||||
### I can't find rdc!
|
||||
|
||||
- Is RDC installed?
|
||||
- Is RDC installed under `/opt/rocm`?
|
||||
- Can you find `/opt/rocm/lib/cmake/rdc/rdcTargets.cmake`?
|
||||
|
||||
|
||||
### Where is rdc?
|
||||
|
||||
```bash
|
||||
ldd build/diagnostic
|
||||
```
|
||||
|
||||
Look for `librdc_bootstrap.so`
|
||||
|
||||
|
||||
### `diagnostic` is halted, but other examples work
|
||||
|
||||
Did you wait long enough?
|
||||
|
||||
It takes a while to run. 46 seconds on my machine with 2 GPUs.
|
||||
|
||||
|
||||
### `Couldn't find the platform configure..`
|
||||
|
||||
### `Couldn't find the config for the Device...`
|
||||
|
||||
That's probably ok. The examples will still run.
|
||||
|
||||
Try to `cd` into the config directory and call these examples from there.
|
||||
@@ -115,12 +115,12 @@ export(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB} ${RDCCLIENT_LIB}
|
||||
if(BUILD_STANDALONE)
|
||||
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB} ${RDCCLIENT_LIB}
|
||||
EXPORT rdcTargets
|
||||
LIBRARY DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
else()
|
||||
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB}
|
||||
EXPORT rdcTargets
|
||||
LIBRARY DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
endif()
|
||||
|
||||
@@ -128,17 +128,17 @@ endif()
|
||||
if(RDC_LIBS_MODULES)
|
||||
install(TARGETS ${RDC_LIB_MODULES}
|
||||
EXPORT rdcTargets
|
||||
LIBRARY DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
endif()
|
||||
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/include/rdc/rdc.h
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/${RDC}
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
# Install the kernel files
|
||||
install(DIRECTORY ${SRC_DIR}/rdc_modules/kernels/hsaco
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ target_include_directories(${BOOTSTRAP_LIB} PRIVATE
|
||||
|
||||
target_include_directories(${BOOTSTRAP_LIB}
|
||||
PUBLIC
|
||||
"$<INSTALL_INTERFACE:${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
|
||||
# Set the VERSION and SOVERSION values
|
||||
set_property(TARGET ${BOOTSTRAP_LIB} PROPERTY
|
||||
|
||||
@@ -97,7 +97,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${RDCI_EXE}
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
|
||||
WORLD_READ WORLD_EXECUTE
|
||||
COMPONENT ${CLIENT_COMPONENT}
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
|
||||
@@ -34,7 +34,6 @@ message("----------Proj Exe Dir: " ${PROJECT_BINARY_DIR}/bin)
|
||||
message("----------RSMI Lib Dir: " ${RSMI_LIB_DIR})
|
||||
message("----------RSMI Inc Dir: " ${RSMI_INC_DIR})
|
||||
message("---------GRPC Root Dir: " ${GRPC_ROOT})
|
||||
message("---Server Install Path: " ${RDC_ROOT_PATH})
|
||||
message("")
|
||||
|
||||
## Compiler flags
|
||||
@@ -99,10 +98,10 @@ target_link_libraries(${SERVER_DAEMON_EXE} pthread rt gRPC::grpc++
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SERVER_DAEMON_EXE}
|
||||
PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_READ
|
||||
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
install(FILES ${PROJECT_BINARY_DIR}/${SERVICE_FILE_NAME}
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
|
||||
@@ -24,7 +24,7 @@ AmbientCapabilities=CAP_DAC_OVERRIDE
|
||||
# If we need to start anything before rdcd, use this
|
||||
# ExecStartPre=
|
||||
|
||||
ExecStart=/@RDC_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/rdcd
|
||||
ExecStart=/@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/rdcd
|
||||
|
||||
# If we need to start anything after rdcd use this
|
||||
# ExecStartPost=
|
||||
|
||||
@@ -22,7 +22,7 @@ case "$1" in
|
||||
configure)
|
||||
do_create_rdc_user
|
||||
#Symlink RDC Service
|
||||
ln -s -f -r /@RDC_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/rdc/rdc.service /lib/systemd/system/rdc.service
|
||||
ln -s -f -r /@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/rdc/rdc.service /lib/systemd/system/rdc.service
|
||||
reload_systemd
|
||||
exit 0
|
||||
;;
|
||||
|
||||
@@ -15,7 +15,7 @@ reload_systemd() {
|
||||
|
||||
rm_pyc() {
|
||||
# remove pyc file generated by python
|
||||
rm -rf /@RDC_CLIENT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@RDC@/python_binding/__pycache__
|
||||
rm -rf /@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@RDC@/python_binding/__pycache__
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
if [ $1 -le 1 ]; then
|
||||
# perform the below actions for rpm remove($1=0) or upgrade($1=1) operations
|
||||
# remove pyc file generated by python
|
||||
rm -rf /@RDC_CLIENT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@RDC@/python_binding/__pycache__
|
||||
rm -rf /@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@RDC@/python_binding/__pycache__
|
||||
fi
|
||||
|
||||
@@ -19,7 +19,7 @@ reload_systemd() {
|
||||
do_create_rdc_user
|
||||
|
||||
#Symlink RDC Service
|
||||
ln -s -f -r /@RDC_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/rdc/rdc.service @DISTRO_ROOT@/rdc.service
|
||||
ln -s -f -r /@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/rdc/rdc.service @DISTRO_ROOT@/rdc.service
|
||||
|
||||
#Request systemctl to reload file since RDC is adding new file/service
|
||||
reload_systemd
|
||||
|
||||
@@ -86,9 +86,9 @@ target_link_libraries(${RDCTST}
|
||||
PUBLIC pthread)
|
||||
|
||||
install(TARGETS ${RDCTST}
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/rdctst_tests
|
||||
DESTINATION ${RDC_SHARE_INSTALL_PREFIX}/rdctst_tests
|
||||
COMPONENT ${TESTS_COMPONENT})
|
||||
|
||||
install(FILES ${RDCTST}.exclude
|
||||
DESTINATION ${RDC_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/rdctst_tests
|
||||
DESTINATION ${RDC_SHARE_INSTALL_PREFIX}/rdctst_tests
|
||||
COMPONENT ${TESTS_COMPONENT})
|
||||
|
||||
Reference in New Issue
Block a user