SWDEV-361630 - Enable opencl build
Change-Id: I19f8aa2e8157b8bfa053c502dcd63c52f0b6f104
这个提交包含在:
+3
-26
@@ -20,36 +20,11 @@
|
||||
|
||||
project(clr)
|
||||
cmake_minimum_required(VERSION 3.16.8)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
##########
|
||||
# Defaults
|
||||
##########
|
||||
if(NOT DEFINED ROCM_PATH)
|
||||
set(ROCM_PATH "/opt/rocm" CACHE STRING "Default ROCM installation directory.")
|
||||
endif()
|
||||
message(STATUS "ROCM Installation path(ROCM_PATH): ${ROCM_PATH}")
|
||||
|
||||
if(UNIX)
|
||||
set(CLR_DEFAULT_INSTALL_PREFIX "${ROCM_PATH}")
|
||||
endif()
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
set(CMAKE_INSTALL_PREFIX ${CLR_DEFAULT_INSTALL_PREFIX} CACHE PATH "Installation path for HIP and OCL" FORCE)
|
||||
endif()
|
||||
set(CPACK_INSTALL_PREFIX ${CLR_DEFAULT_INSTALL_PREFIX} CACHE PATH "Package Installation path for HIP and OCL")
|
||||
|
||||
if(IS_ABSOLUTE ${CMAKE_INSTALL_PREFIX})
|
||||
message(STATUS "HIP and OCL will be installed in: " ${CMAKE_INSTALL_PREFIX})
|
||||
else()
|
||||
message(FATAL_ERROR "Don't know where to install HIP and OCL. Please specify absolute path using -DCMAKE_INSTALL_PREFIX")
|
||||
endif()
|
||||
|
||||
set(CPACK_SET_DESTDIR ON CACHE BOOL "Installer package will install HIP and OCL to CMAKE_INSTALL_PREFIX instead of CPACK_PACKAGING_INSTALL_PREFIX")
|
||||
if (NOT CPACK_SET_DESTDIR)
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX "${ROCM_PATH}" CACHE PATH "Default installation path of HIP and OCL installer package")
|
||||
endif()
|
||||
|
||||
option(CLR_BUILD_HIP "Build HIP" ON)
|
||||
option(CLR_BUILD_HIP "Build HIP" OFF)
|
||||
option(CLR_BUILD_OCL "Build OCL" OFF)
|
||||
|
||||
#############
|
||||
@@ -57,6 +32,8 @@ option(CLR_BUILD_OCL "Build OCL" OFF)
|
||||
#############
|
||||
if(CLR_BUILD_HIP OR CLR_BUILD_OCL)
|
||||
add_subdirectory(rocclr)
|
||||
else()
|
||||
message(FATAL_ERROR "Please enable building of one or more of the below runtimes:\n- HIP (-DCLR_BUILD_HIP=ON)\n- OpenCL (-DCLR_BUILD_OCL-ON)")
|
||||
endif()
|
||||
if(CLR_BUILD_HIP)
|
||||
add_subdirectory(hipamd)
|
||||
|
||||
@@ -14,9 +14,9 @@ set(CPACK_RPM_COMPONENT_INSTALL ON)
|
||||
|
||||
install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary)
|
||||
install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary)
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary)
|
||||
install(FILES ${opencl_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary)
|
||||
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL
|
||||
install(DIRECTORY ${opencl_SOURCE_DIR}/khronos/headers/opencl2.2/CL
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT dev
|
||||
USE_SOURCE_PERMISSIONS
|
||||
PATTERN cl_d3d10.h EXCLUDE
|
||||
@@ -25,7 +25,7 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL
|
||||
|
||||
if(BUILD_ICD)
|
||||
install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd )
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/rocm-ocl-icd COMPONENT icd)
|
||||
install(FILES ${opencl_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/rocm-ocl-icd COMPONENT icd)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ else()
|
||||
set_target_properties(cltrace PROPERTIES LINK_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/cltrace.map")
|
||||
endif()
|
||||
|
||||
target_include_directories(cltrace PRIVATE ${CMAKE_SOURCE_DIR} ${OPENCL_ICD_LOADER_HEADERS_DIR} ${ROCCLR_INCLUDE_DIR})
|
||||
target_include_directories(cltrace PRIVATE ${CMAKE_SOURCE_DIR}/opencl ${OPENCL_ICD_LOADER_HEADERS_DIR} ${ROCCLR_INCLUDE_DIR})
|
||||
|
||||
INSTALL(TARGETS cltrace
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
|
||||
@@ -46,6 +46,8 @@ include(ROCclrCompilerOptions)
|
||||
|
||||
set(ROCCLR_SRC_DIR "${CMAKE_CURRENT_LIST_DIR}/..")
|
||||
mark_as_advanced(ROCCLR_SRC_DIR)
|
||||
set(ROCCLR_INCLUDE_DIR "${ROCCLR_SRC_DIR}/include" PARENT_SCOPE)
|
||||
mark_as_advanced(ROCCLR_INCLUDE_DIR)
|
||||
|
||||
set_target_properties(rocclr PROPERTIES
|
||||
CXX_STANDARD 17
|
||||
|
||||
在新工单中引用
屏蔽一个用户