File reorganization with backward compatibility
SWDEV-291455 - Binary , header files and libraries installed in bin,include and lib folder under /opt/rocm-ver
Prebuilt ras library with updated search path
cmake config files in lib/cmake/rdc
grpc,sp3,hsaco and private libraries installed in lib/rdc
config installed in share/rdc
authentication and python_binding installed in libexec/rdc
Backward compatibility added for header files and libraries
Depends-On: I3f3d192935923f71737b3fe55ded536654a73dd7
Change-Id: Ia1a6cadc59034b155631a1ee5fdbe692d2a8a71b
[ROCm/rdc commit: 52a3463147]
This commit is contained in:
@@ -38,6 +38,8 @@ option(BUILD_RASLIB "Build targets for raslib" OFF)
|
||||
# When cmake -DBUILD_ROCRTEST=off, it will not build the librdc_rocr.so
|
||||
# which requires the Rocm run time.
|
||||
option(BUILD_ROCRTEST "Build targets for librdc_rocr.so" ON)
|
||||
#File reorganization enable/disable
|
||||
option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON)
|
||||
|
||||
if( NOT EXISTS "${CMAKE_SOURCE_DIR}/raslib/.git" AND BUILD_RASLIB)
|
||||
message( FATAL_ERROR "The git submodule raslib is not available. Please run
|
||||
@@ -211,24 +213,24 @@ set(CLIENT_COMPONENT "client")
|
||||
if(BUILD_STANDALONE)
|
||||
install(DIRECTORY ${GRPC_ROOT}/lib
|
||||
USE_SOURCE_PERMISSIONS
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/grpc
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${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_CLIENT_INSTALL_PREFIX}/${RDC}/grpc/lib
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc/lib
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
endif()
|
||||
endif()
|
||||
# Also include dev setup for people do not want to build grpc
|
||||
install(DIRECTORY ${GRPC_ROOT}/bin
|
||||
USE_SOURCE_PERMISSIONS
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/grpc
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
|
||||
install(DIRECTORY ${GRPC_ROOT}/include
|
||||
USE_SOURCE_PERMISSIONS
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/grpc
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}/grpc
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
|
||||
add_subdirectory("server")
|
||||
@@ -266,8 +268,8 @@ set(CONF_LIBS "librdc_bootstrap.so")
|
||||
configure_file(rdc-config.cmake.in
|
||||
"${PROJECT_BINARY_DIR}/rdc-config.cmake" @ONLY)
|
||||
# ... for the install tree
|
||||
set(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}${RDC_CLIENT_INSTALL_PREFIX}/rdc/include")
|
||||
set(CONF_LIB_DIR "${CMAKE_INSTALL_PREFIX}${RDC_CLIENT_INSTALL_PREFIX}/rdc/lib")
|
||||
set(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
set(CONF_LIB_DIR "${CMAKE_INSTALL_PREFIX}${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
set(CONF_LIBS "librdc_bootstrap.so")
|
||||
|
||||
configure_file(rdc-config.cmake.in
|
||||
@@ -279,10 +281,10 @@ configure_file(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_CLIENT_INSTALL_PREFIX}/${RDC}/lib/cmake" COMPONENT dev)
|
||||
DESTINATION "${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev)
|
||||
# Install the export set for use with the install-tree
|
||||
install(EXPORT rdcTargets DESTINATION
|
||||
"${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib/cmake" COMPONENT dev)
|
||||
"${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev)
|
||||
|
||||
|
||||
# License file
|
||||
@@ -291,21 +293,21 @@ install( FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${RDC_CLIENT_INSTALL_P
|
||||
|
||||
# Python binding and example
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/python_binding
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/example
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
# Prebuild packages to install
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/ras_prebuild/librdc_ras.so
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/ras_prebuild/config
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/ras_prebuild/sp3
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
|
||||
@@ -337,7 +339,10 @@ configure_file(
|
||||
configure_file(
|
||||
"${PROJECT_SOURCE_DIR}/src/RPM_postun.in"
|
||||
"${PROJECT_SOURCE_DIR}/RPM/rpm_postun" FILE_PERMISSIONS ${INST_SCR_PERM})
|
||||
|
||||
#backward compatibility for file reorganization
|
||||
if(FILE_REORG_BACKWARD_COMPATIBILITY)
|
||||
include(rdc-backward-compat.cmake)
|
||||
endif()
|
||||
if ( DEFINED ENV{ROCM_LIBPATCH_VERSION} )
|
||||
set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}" )
|
||||
message ( "Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}" )
|
||||
|
||||
@@ -159,10 +159,10 @@ endif ()
|
||||
|
||||
## Add the install directives for the runtime library.
|
||||
install(TARGETS ${CLIENT_LIB}
|
||||
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
|
||||
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(DIRECTORY ${SOURCE_DIR}/authentication
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
# Generate Doxygen documentation for client api manual
|
||||
@@ -190,10 +190,10 @@ if (DOXYGEN_FOUND AND LATEX_FOUND)
|
||||
|
||||
add_dependencies(${CLIENT_LIB} docs)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/docs/${RDC_MANUAL_NAME}.pdf
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}
|
||||
COMPONENT ${CLIENT_COMPONENT} RENAME ${RDC_MANUAL_NAME}.pdf)
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/README.md
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/docs/
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
else()
|
||||
message("Doxygen or Latex is not found. Will not generate documents.")
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
#ifndef @include_guard@
|
||||
#define @include_guard@
|
||||
|
||||
#pragma message("This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with rdc")
|
||||
@include_statements@
|
||||
|
||||
#endif
|
||||
@@ -10,8 +10,8 @@ librdc = "librdc_bootstrap.so"
|
||||
# Search librdc_bootstrap.so paths
|
||||
current_folder = os.path.dirname(os.path.realpath(__file__))
|
||||
rdc_paths = [ "", # without path
|
||||
current_folder+"/../lib/", # package installation
|
||||
current_folder+"/../lib64/", # package installation
|
||||
current_folder+"/../../../lib/", # package installation
|
||||
current_folder+"/../../../lib64/", # package installation
|
||||
current_folder+"/../build/rdc_libs/" # build from source code
|
||||
]
|
||||
|
||||
|
||||
دودویی (BIN)
فایل باینری نشان داده نشده است.
@@ -0,0 +1,80 @@
|
||||
# Copyright (c) 2022 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
|
||||
cmake_minimum_required(VERSION 3.16.8)
|
||||
|
||||
set(RDC_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
set(RDC_WRAPPER_DIR ${RDC_BUILD_DIR}/wrapper_dir)
|
||||
set(RDC_WRAPPER_INC_DIR ${RDC_WRAPPER_DIR}/include/rdc)
|
||||
set(RDC_WRAPPER_LIB_DIR ${RDC_WRAPPER_DIR}/lib)
|
||||
set(RDC_SRC_INC_DIR ${RDC_SRC_ROOT}/include/rdc)
|
||||
|
||||
#use header template file and generate wrapper header files
|
||||
function(generate_wrapper_header)
|
||||
file(MAKE_DIRECTORY ${RDC_WRAPPER_INC_DIR})
|
||||
#Only rdc.h header file used in packaging
|
||||
# set include guard
|
||||
set(include_guard "RDC_WRAPPER_INCLUDE_RDC_H")
|
||||
#set #include statement
|
||||
set(file_name "rdc.h")
|
||||
set(include_statements "#include \"../../../${CMAKE_INSTALL_INCLUDEDIR}/rdc/${file_name}\"\n")
|
||||
configure_file(${RDC_SRC_ROOT}/header_template.hpp.in ${RDC_WRAPPER_INC_DIR}/${file_name})
|
||||
endfunction()
|
||||
|
||||
#function to create symlink to libraries
|
||||
function(create_library_symlink)
|
||||
file(MAKE_DIRECTORY ${RDC_WRAPPER_LIB_DIR})
|
||||
set(LIB_RDC "librdc.so")
|
||||
set(LIB_RDC_BOOTSTRAP "librdc_bootstrap.so")
|
||||
set(LIB_RDC_CLIENT "librdc_client.so")
|
||||
set(MAJ_VERSION "${VERSION_MAJOR}")
|
||||
set(SO_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}")
|
||||
set(library_files "${LIB_RDC}" "${LIB_RDC}.${MAJ_VERSION}" "${LIB_RDC}.${SO_VERSION}")
|
||||
set(library_files "${library_files}" "${LIB_RDC_BOOTSTRAP}" "${LIB_RDC_BOOTSTRAP}.${MAJ_VERSION}" "${LIB_RDC_BOOTSTRAP}.${SO_VERSION}" )
|
||||
set(library_files "${library_files}" "${LIB_RDC_CLIENT}" "${LIB_RDC_CLIENT}.${MAJ_VERSION}" "${LIB_RDC_CLIENT}.${SO_VERSION}" )
|
||||
|
||||
foreach(file_name ${library_files})
|
||||
add_custom_target(link_${file_name} ALL
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
../../${CMAKE_INSTALL_LIBDIR}/${file_name} ${RDC_WRAPPER_LIB_DIR}/${file_name})
|
||||
endforeach()
|
||||
# Symlink for private libraries
|
||||
set(LIB_RDC_ROCR "librdc_rocr.so")
|
||||
set(LIB_RDC_RAS "librdc_ras.so")
|
||||
set(LIB_RDC_CLIENT_SMI "librdc_client_smi.so")
|
||||
set(library_files "${LIB_RDC_ROCR}" "${LIB_RDC_ROCR}.${MAJ_VERSION}" "${LIB_RDC_ROCR}.${SO_VERSION}" )
|
||||
set(library_files "${library_files}" "${LIB_RDC_CLIENT_SMI}" "${LIB_RDC_CLIENT_SMI}.${MAJ_VERSION}" "${LIB_RDC_CLIENT_SMI}.${SO_VERSION}" )
|
||||
set(library_files "${library_files}" "${LIB_RDC_RAS}")
|
||||
|
||||
foreach(file_name ${library_files})
|
||||
add_custom_target(link_${file_name} ALL
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
../../${CMAKE_INSTALL_LIBDIR}/${RDC}/${file_name} ${RDC_WRAPPER_LIB_DIR}/${file_name})
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
#Use template header file and generate wrapper header files
|
||||
generate_wrapper_header()
|
||||
install(DIRECTORY ${RDC_WRAPPER_INC_DIR} DESTINATION DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/include COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
# Create symlink to library files
|
||||
create_library_symlink()
|
||||
install(DIRECTORY ${RDC_WRAPPER_LIB_DIR} DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC} COMPONENT ${CLIENT_COMPONENT})
|
||||
@@ -68,7 +68,7 @@ set(COMMON_DIR "${PROJECT_SOURCE_DIR}/common")
|
||||
## Set RUNPATH if ROCM_RPATH is defined and passed by the environment
|
||||
## RUNPATH should help to run "rdcd" without the usage of ldconfig
|
||||
if (DEFINED ENV{ROCM_RPATH})
|
||||
set (LIB_RUNPATH "\$ORIGIN/../lib:\$ORIGIN/../lib64:\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64")
|
||||
set (LIB_RUNPATH "\$ORIGIN/../lib:\$ORIGIN/../lib64:\$ORIGIN/../lib/rdc:\$ORIGIN/../lib64/rdc:\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64:\$ORIGIN/../lib/rdc/grpc/lib:\$ORIGIN/../lib/rdc/grpc/lib64")
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-new-dtags -Wl,--no-as-needed -Wl,-z,origin")
|
||||
set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:${LIB_RUNPATH}")
|
||||
set (CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
@@ -321,29 +321,37 @@ endif ()
|
||||
target_include_directories(${BOOTSTRAP_LIB}
|
||||
PUBLIC
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
||||
"$<INSTALL_INTERFACE:${RDC_CLIENT_INSTALL_PREFIX}/rdc/include>"
|
||||
"$<INSTALL_INTERFACE:${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}>"
|
||||
)
|
||||
|
||||
## Add the install directives for the runtime library.
|
||||
if(BUILD_STANDALONE)
|
||||
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB} ${RDCCLIENT_LIB} ${DIAGNOSTIC_LIB}
|
||||
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB} ${RDCCLIENT_LIB}
|
||||
EXPORT rdcTargets
|
||||
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
|
||||
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(TARGETS ${DIAGNOSTIC_LIB}
|
||||
EXPORT rdcTargets
|
||||
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
else()
|
||||
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB} ${DIAGNOSTIC_LIB}
|
||||
install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB}
|
||||
EXPORT rdcTargets
|
||||
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
|
||||
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
install(TARGETS ${DIAGNOSTIC_LIB}
|
||||
EXPORT rdcTargets
|
||||
LIBRARY DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
endif()
|
||||
|
||||
install(FILES ${SOURCE_DIR}/include/rdc/rdc.h
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/include/rdc
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
# Install the kernel files
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/rdc_libs/rdc_modules/kernels/hsaco
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${RDC}/lib
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
|
||||
|
||||
@@ -548,6 +548,8 @@ std::string search_hsaco_full_path(const char* hsaco_file_name,
|
||||
path_to_search.push_back(std::string("./")+hsaco_file_name);
|
||||
path_to_search.push_back(app_dir+"/"+hsaco_file_name);
|
||||
path_to_search.push_back(lib_dir+"/"+hsaco_file_name);
|
||||
path_to_search.push_back(lib_dir+"/rdc/hsaco/"+ agent_name
|
||||
+ "/" + hsaco_file_name);
|
||||
path_to_search.push_back(lib_dir+"/hsaco/"+ agent_name
|
||||
+ "/" + hsaco_file_name);
|
||||
// for dev structure
|
||||
|
||||
@@ -92,8 +92,8 @@ add_executable(${RDCI_EXE} "${RDCI_SRC_LIST}")
|
||||
|
||||
## RUNPATH should help to run "rdci" without the usage of ldconfig
|
||||
if (DEFINED ENV{ROCM_RPATH})
|
||||
set(RDC_RUNPATH "\$ORIGIN:\$ORIGIN/../lib:\$ORIGIN/../lib64")
|
||||
set(GRPC_RUNPATH "\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64")
|
||||
set(RDC_RUNPATH "\$ORIGIN:\$ORIGIN/../lib:\$ORIGIN/../lib64:\$ORIGIN/../lib/rdc:\$ORIGIN/../lib64/rdc")
|
||||
set(GRPC_RUNPATH "\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64:\$ORIGIN/../lib/rdc/grpc/lib:\$ORIGIN/../lib/rdc/grpc/lib64")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--enable-new-dtags -Wl,--rpath,${RDC_RUNPATH}:${GRPC_RUNPATH} -Wl,--no-as-needed -Wl,-z,origin")
|
||||
set(CMAKE_SKIP_BUILD_RPATH TRUE)
|
||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
@@ -116,7 +116,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_CLIENT_INSTALL_PREFIX}/${RDC}/bin)
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
|
||||
@@ -89,7 +89,7 @@ link_directories(${RSMI_LIB_DIR} "${GRPC_ROOT}/lib" "${GRPC_ROOT}/lib64")
|
||||
## Set RUNPATH if ROCM_RPATH is defined and passed by the environment
|
||||
## RUNPATH should help to run "rdcd" without the usage of ldconfig
|
||||
if (DEFINED ENV{ROCM_RPATH})
|
||||
set (GRPC_RUNPATH "\$ORIGIN/../lib:\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64")
|
||||
set (GRPC_RUNPATH "\$ORIGIN/../lib:\$ORIGIN/../lib64:\$ORIGIN/../lib/rdc:\$ORIGIN/../lib64/rdc;\$ORIGIN/../grpc/lib:\$ORIGIN/../grpc/lib64:\$ORIGIN/../lib/rdc/grpc/lib:\$ORIGIN/../lib/rdc/grpc/lib64")
|
||||
set (CMAKE_EXE_LINKER_FLAGS "-Wl,--enable-new-dtags -Wl,--no-as-needed -Wl,-z,origin")
|
||||
set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:${GRPC_RUNPATH}")
|
||||
set (CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
@@ -119,10 +119,10 @@ target_link_libraries(${SERVER_DAEMON_EXE} ${RDCD_EXTRA_LIB} pthread rt grpc grp
|
||||
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_CLIENT_INSTALL_PREFIX}/rdc/bin
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
install(FILES ${PROJECT_BINARY_DIR}/${SERVICE_FILE_NAME}
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/rdc/lib
|
||||
DESTINATION ${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
|
||||
@@ -22,7 +22,7 @@ case "$1" in
|
||||
configure)
|
||||
do_create_rdc_user
|
||||
#Symlink RDC Service
|
||||
ln -s -f -r /@RDC_CLIENT_INSTALL_PREFIX@/rdc/lib/rdc.service /lib/systemd/system/rdc.service
|
||||
ln -s -f -r /@RDC_CLIENT_INSTALL_PREFIX@/lib/rdc.service /lib/systemd/system/rdc.service
|
||||
reload_systemd
|
||||
exit 0
|
||||
;;
|
||||
|
||||
@@ -19,7 +19,7 @@ reload_systemd() {
|
||||
do_create_rdc_user
|
||||
|
||||
#Symlink RDC Service
|
||||
ln -s -f -r /@RDC_CLIENT_INSTALL_PREFIX@/rdc/lib/rdc.service @DISTRO_ROOT@/rdc.service
|
||||
ln -s -f -r /@RDC_CLIENT_INSTALL_PREFIX@/lib/rdc.service @DISTRO_ROOT@/rdc.service
|
||||
|
||||
#Request systemctl to reload file since RDC is adding new file/service
|
||||
reload_systemd
|
||||
|
||||
@@ -43,8 +43,8 @@ endif()
|
||||
# Required Defines first:
|
||||
|
||||
set(RDC_CLIENT_INSTALL_PREFIX "opt/rocm")
|
||||
set(RDC_INC_DIR ${ROCM_DIR}/${RDC_CLIENT_INSTALL_PREFIX}/include)
|
||||
set(RDC_LIB_DIR ${ROCM_DIR}/${RDC_CLIENT_INSTALL_PREFIX}/rdc/lib)
|
||||
set(RDC_INC_DIR ${ROCM_DIR}/${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
|
||||
set(RDC_LIB_DIR ${ROCM_DIR}/${RDC_CLIENT_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
#
|
||||
# Determine RDC Header files are present
|
||||
@@ -155,7 +155,7 @@ aux_source_directory(${RDCTST_ROOT}/functional functionalSources)
|
||||
# to be linked against for building ROC Perf applications
|
||||
#
|
||||
|
||||
link_directories(${ROCM_DIR}/lib)
|
||||
link_directories(${ROCM_DIR}/${CMAKE_INSTALL_LIBDIR})
|
||||
#
|
||||
# Source files for building rocrtst
|
||||
#
|
||||
@@ -166,7 +166,7 @@ add_executable(${RDCTST} ${rdctstSources} ${functionalSources})
|
||||
|
||||
# Header file include path
|
||||
target_include_directories(${RDCTST} PRIVATE ${RDC_INC_DIR}
|
||||
PRIVATE ${ROCM_DIR}/include
|
||||
PRIVATE ${ROCM_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
PRIVATE ${RDCTST_ROOT}/..
|
||||
PRIVATE ${RDCTST_ROOT}/gtest/include)
|
||||
|
||||
|
||||
مرجع در شماره جدید
Block a user