From d9ceb6a3a38581f72b0eb443b736a23a30bc82ec Mon Sep 17 00:00:00 2001 From: Maneesh Gupta Date: Mon, 20 Mar 2023 05:34:13 +0000 Subject: [PATCH] SWDEV-361630 - Enable opencl build Change-Id: I19f8aa2e8157b8bfa053c502dcd63c52f0b6f104 --- CMakeLists.txt | 29 +++-------------------------- opencl/packaging/CMakeLists.txt | 6 +++--- opencl/tools/cltrace/CMakeLists.txt | 2 +- rocclr/cmake/ROCclr.cmake | 2 ++ 4 files changed, 9 insertions(+), 30 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c32344fc9c..448acedc11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/opencl/packaging/CMakeLists.txt b/opencl/packaging/CMakeLists.txt index a703f58a15..2bc01bc2ea 100644 --- a/opencl/packaging/CMakeLists.txt +++ b/opencl/packaging/CMakeLists.txt @@ -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() diff --git a/opencl/tools/cltrace/CMakeLists.txt b/opencl/tools/cltrace/CMakeLists.txt index 263f9ae289..b162b4fb2d 100644 --- a/opencl/tools/cltrace/CMakeLists.txt +++ b/opencl/tools/cltrace/CMakeLists.txt @@ -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} diff --git a/rocclr/cmake/ROCclr.cmake b/rocclr/cmake/ROCclr.cmake index 3b842b7dfd..0ef537771f 100644 --- a/rocclr/cmake/ROCclr.cmake +++ b/rocclr/cmake/ROCclr.cmake @@ -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