P4 to Git Change 1971654 by kzhuravl@kzhuravl-spot-ocl on 2019/07/22 17:15:57
SWDEV-79445 - Bring cmake related changes from git http://git.amd.com:8080/c/compute/ec/opencl/+/229473 http://git.amd.com:8080/c/compute/ec/opencl/+/229474 http://git.amd.com:8080/c/compute/ec/opencl/+/233268 + Payam's changes for comgr Affected files ... ... //depot/stg/opencl/drivers/opencl/CMakeLists.txt#24 edit ... //depot/stg/opencl/drivers/opencl/DEB/postinst#1 add ... //depot/stg/opencl/drivers/opencl/DEB/prerm#1 add ... //depot/stg/opencl/drivers/opencl/RPM/rpm_post#1 add ... //depot/stg/opencl/drivers/opencl/RPM/rpm_postun#1 add ... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/CMakeLists.txt#18 edit ... //depot/stg/opencl/drivers/opencl/cmake/modules/FindROCR.cmake#3 edit ... //depot/stg/opencl/drivers/opencl/cmake/modules/FindROCT.cmake#1 add ... //depot/stg/opencl/drivers/opencl/runtime/CMakeLists.txt#15 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/CMakeLists.txt#20 edit
This commit is contained in:
+12
-56
@@ -55,7 +55,14 @@ include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/tools/lld/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/lib/Target/AMDGPU)
|
||||
include_directories(${CMAKE_BINARY_DIR}/compiler/llvm/lib/Target/AMDGPU)
|
||||
|
||||
add_subdirectory(compiler/driver EXCLUDE_FROM_ALL)
|
||||
if(${USE_COMGR_LIBRARY} MATCHES "yes")
|
||||
set(COMGR_DYN_DLL "yes")
|
||||
add_definitions(-DCOMGR_DYN_DLL="yes")
|
||||
include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/include)
|
||||
add_definitions(-DUSE_COMGR_LIBRARY)
|
||||
else()
|
||||
add_subdirectory(compiler/driver EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
set(BUILD_HC_LIB OFF CACHE BOOL "")
|
||||
set(ROCM_DEVICELIB_INCLUDE_TESTS OFF CACHE BOOL "")
|
||||
@@ -66,6 +73,7 @@ add_subdirectory(library/amdgcn EXCLUDE_FROM_ALL)
|
||||
|
||||
add_subdirectory(compiler/lib/loaders/elf/utils/libelf)
|
||||
|
||||
find_package(ROCT REQUIRED)
|
||||
find_package(ROCR REQUIRED)
|
||||
add_subdirectory(runtime)
|
||||
|
||||
@@ -119,50 +127,6 @@ set ( CPACK_GENERATOR RPM DEB )
|
||||
set ( CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm/opencl" )
|
||||
|
||||
## Debian package values
|
||||
file(GENERATE OUTPUT "postinst"
|
||||
CONTENT "#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
do_ldconfig() {
|
||||
echo /opt/rocm/opencl/lib/x86_64 > /etc/ld.so.conf.d/x86_64-rocm-opencl.conf && ldconfig
|
||||
mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/amdocl64.icd)
|
||||
}
|
||||
|
||||
case \"$1\" in
|
||||
configure)
|
||||
do_ldconfig
|
||||
;;
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
echo \"$1\"
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
")
|
||||
|
||||
file(GENERATE OUTPUT "prerm"
|
||||
CONTENT "#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
rm_ldconfig() {
|
||||
rm -f /etc/OpenCL/vendors/amdocl64.icd
|
||||
rm -f /etc/ld.so.conf.d/x86_64-rocm-opencl.conf && ldconfig
|
||||
}
|
||||
|
||||
case \"$1\" in
|
||||
remove)
|
||||
rm_ldconfig
|
||||
;;
|
||||
purge)
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
")
|
||||
|
||||
set ( CPACK_DEBIAN_PACKAGE_MAINTAINER "AMD" )
|
||||
set ( CPACK_DEBIAN_PACKAGE_DEPENDS "" )
|
||||
@@ -172,26 +136,18 @@ set ( CPACK_DEBIAN_applications_FILE_NAME "rocm-opencl-1.2.0.deb" )
|
||||
set ( CPACK_DEBIAN_libraries_PACKAGE_NAME "rocm-opencl-dev" )
|
||||
set ( CPACK_DEBIAN_libraries_FILE_NAME "rocm-opencl-dev-1.2.0.deb" )
|
||||
set ( CPACK_DEBIAN_libraries_PACKAGE_DEPENDS "rocm-opencl" )
|
||||
set ( CPACK_DEBIAN_applications_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_BINARY_DIR}/prerm;${CMAKE_CURRENT_BINARY_DIR}/postinst" )
|
||||
set ( CPACK_DEBIAN_applications_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEB/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEB/prerm" )
|
||||
|
||||
## RPM package values
|
||||
|
||||
file(GENERATE OUTPUT "rpm_postinst"
|
||||
CONTENT "echo /opt/rocm/opencl/lib/x86_64 > /etc/ld.so.conf.d/x86_64-rocm-opencl.conf && ldconfig;
|
||||
mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/amdocl64.icd)")
|
||||
file(GENERATE OUTPUT "rpm_prerm"
|
||||
CONTENT "rm -f /etc/OpenCL/vendors/amdocl64.icd
|
||||
rm -f /etc/ld.so.conf.d/x86_64-rocm-opencl.conf && ldconfig")
|
||||
|
||||
set ( CPACK_RPM_COMPONENT_INSTALL ON)
|
||||
set ( CPACK_RPM_applications_PACKAGE_NAME "rocm-opencl" )
|
||||
set ( CPACK_RPM_applications_FILE_NAME "rocm-opencl-1.2.0.rpm" )
|
||||
set ( CPACK_RPM_libraries_PACKAGE_NAME "rocm-opencl-devel" )
|
||||
set ( CPACK_RPM_libraries_FILE_NAME "rocm-opencl-devel-1.2.0.rpm" )
|
||||
set ( CPACK_RPM_libraries_PACKAGE_DEPENDS "rocm-opencl" )
|
||||
set ( CPACK_RPM_applications_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/rpm_postinst" )
|
||||
set ( CPACK_RPM_applications_PRE_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/rpm_prerm" )
|
||||
|
||||
set ( CPACK_RPM_applications_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" )
|
||||
set ( CPACK_RPM_applications_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" )
|
||||
|
||||
set ( CPACK_COMPONENTS_ALL applications libraries )
|
||||
include ( CPack )
|
||||
|
||||
@@ -1,23 +1,16 @@
|
||||
# - Try to find the ROCm Runtime.
|
||||
# Once done this will define
|
||||
# ROCR_FOUND - System has the ROCR installed
|
||||
# ROCR_INCLUDE_DIRS - The ROCR include directories
|
||||
# ROCR_LIBRARIES - The libraries needed to use the ROCR
|
||||
|
||||
find_path(ROCR_INCLUDE_DIR hsa.h
|
||||
HINTS /opt/rocm/include /opt/rocm/hsa/include
|
||||
PATH_SUFFIXES hsa)
|
||||
|
||||
find_library(ROCR_LIBRARY hsa-runtime64
|
||||
HINTS /opt/rocm/lib /opt/rocm/hsa/lib)
|
||||
# Try to find ROCR (Radeon Open Compute Runtime)
|
||||
#
|
||||
# Once found, this will define:
|
||||
# - ROCR_FOUND - ROCR status (found or not found)
|
||||
# - ROCR_INCLUDES - Required ROCR include directories
|
||||
# - ROCR_LIBRARIES - Required ROCR libraries
|
||||
find_path(FIND_ROCR_INCLUDES hsa.h HINTS /opt/rocm/include /opt/rocm/hsa/include PATH_SUFFIXES hsa)
|
||||
find_library(FIND_ROCR_LIBRARIES hsa-runtime64 HINTS /opt/rocm/lib /opt/rocm/hsa/lib)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set ROCR_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
find_package_handle_standard_args(ROCR DEFAULT_MSG
|
||||
ROCR_LIBRARY ROCR_INCLUDE_DIR)
|
||||
find_package_handle_standard_args(ROCR DEFAULT_MSG
|
||||
FIND_ROCR_INCLUDES FIND_ROCR_LIBRARIES)
|
||||
mark_as_advanced(FIND_ROCR_INCLUDES FIND_ROCR_LIBRARIES)
|
||||
|
||||
mark_as_advanced(ROCR_INCLUDE_DIR ROCR_LIBRARY)
|
||||
|
||||
set(ROCR_LIBRARIES ${ROCR_LIBRARY})
|
||||
set(ROCR_INCLUDE_DIRS ${ROCR_INCLUDE_DIR})
|
||||
set(ROCR_INCLUDES ${FIND_ROCR_INCLUDES})
|
||||
set(ROCR_LIBRARIES ${FIND_ROCR_LIBRARIES})
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
# Try to find ROCT (Radeon Open Compute Thunk)
|
||||
#
|
||||
# Once found, this will define:
|
||||
# - ROCT_FOUND - ROCT status (found or not found)
|
||||
# - ROCT_INCLUDES - Required ROCT include directories
|
||||
# - ROCT_LIBRARIES - Required ROCT libraries
|
||||
find_path(FIND_ROCT_INCLUDES hsakmt.h HINTS /opt/rocm/include)
|
||||
find_library(FIND_ROCT_LIBRARIES hsakmt HINTS /opt/rocm/lib)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ROCT DEFAULT_MSG
|
||||
FIND_ROCT_INCLUDES FIND_ROCT_LIBRARIES)
|
||||
mark_as_advanced(FIND_ROCT_INCLUDES FIND_ROCT_LIBRARIES)
|
||||
|
||||
set(ROCT_INCLUDES ${FIND_ROCT_INCLUDES})
|
||||
set(ROCT_LIBRARIES ${FIND_ROCT_LIBRARIES})
|
||||
@@ -7,7 +7,7 @@ if(CMAKE_BUILD_TYPE MATCHES "^Debug$")
|
||||
add_definitions(-DDEBUG)
|
||||
endif()
|
||||
|
||||
include_directories(${ROCR_INCLUDE_DIRS})
|
||||
include_directories(${ROCR_INCLUDES})
|
||||
|
||||
include_directories(${CMAKE_SOURCE_DIR}/runtime)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/api/opencl)
|
||||
@@ -29,6 +29,13 @@ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/loaders/elf/utils/libelf)
|
||||
|
||||
add_subdirectory(device/rocm)
|
||||
|
||||
if(${USE_COMGR_LIBRARY} MATCHES "yes")
|
||||
add_definitions(-DUSE_COMGR_LIBRARY -DCOMGR_DYN_DLL)
|
||||
find_package(amd_comgr REQUIRED CONFIG)
|
||||
include_directories("$<TARGET_PROPERTY:amd_comgr,INTERFACE_INCLUDE_DIRECTORIES>")
|
||||
set(COMGR_CPP device/comgrctx.cpp)
|
||||
endif()
|
||||
|
||||
add_library(oclruntime OBJECT
|
||||
thread/thread.cpp
|
||||
thread/monitor.cpp
|
||||
@@ -61,6 +68,7 @@ add_library(oclruntime OBJECT
|
||||
${CMAKE_SOURCE_DIR}/compiler/lib/loaders/elf/elf.cpp
|
||||
${CMAKE_SOURCE_DIR}/compiler/lib/loaders/elf/elf_utils.cpp
|
||||
${CMAKE_SOURCE_DIR}/compiler/tools/caching/cache.cpp
|
||||
${COMGR_CPP}
|
||||
)
|
||||
set_target_properties(oclruntime PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
|
||||
@@ -7,6 +7,12 @@ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/loaders/elf/utils/libelf)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
include_directories(${ROCM_OCL_INCLUDES})
|
||||
|
||||
if(${USE_COMGR_LIBRARY} MATCHES "yes")
|
||||
add_definitions(-DUSE_COMGR_LIBRARY -DCOMGR_DYN_DLL)
|
||||
find_package(amd_comgr REQUIRED CONFIG)
|
||||
include_directories("$<TARGET_PROPERTY:amd_comgr,INTERFACE_INCLUDE_DIRECTORIES>")
|
||||
endif()
|
||||
|
||||
add_library(oclrocm OBJECT
|
||||
roccounters.cpp
|
||||
rocprintf.cpp
|
||||
|
||||
Reference in New Issue
Block a user