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:
foreman
2019-07-22 17:19:35 -04:00
parent 615e8b4809
commit b21a094a92
5 changed files with 56 additions and 77 deletions
+12 -56
View File
@@ -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 )
+13 -20
View File
@@ -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})
+16
View File
@@ -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})
+9 -1
View File
@@ -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