mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-20 00:24:58 +08:00
feature: Enabling platforms in ocloc by default
This feature enables supported platforms in ocloc even if not enabled for driver. Allows sharing single ocloc instance for multiple driver-platform configurations Related-To: NEO-10531 Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
7e6a08098b
commit
ad155da67a
@@ -489,8 +489,13 @@ endif()
|
||||
# We want to organize our IDE targets into folders
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
# Get available platfroms
|
||||
# Get available platforms
|
||||
include(platforms.cmake)
|
||||
list(LENGTH ALL_PRODUCT_FAMILY_LIST ALL_PRODUCT_FAMILY_LIST_COUNT)
|
||||
if(1 EQUAL ${ALL_PRODUCT_FAMILY_LIST_COUNT})
|
||||
SET(NEO_SINGLE_SKU_BUILD TRUE)
|
||||
message(STATUS "Single Sku Build detected")
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
set(DISABLE_WDDM_LINUX TRUE)
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
if(NEO_SKIP_BASE_PLATFORMS)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(NOT NEO_ALLOW_LEGACY_PLATFORMS_SUPPORT)
|
||||
if(WIN32)
|
||||
DISABLE_FLAGS_FOR("GEN8" "BDW")
|
||||
@@ -61,9 +65,9 @@ foreach(CORE_TYPE ${PVC_AND_LATER_CORE_TYPES})
|
||||
endforeach()
|
||||
|
||||
if(SUPPORT_ARL)
|
||||
set(SUPPORT_MTL TRUE CACHE BOOL "Support MTL/ARL devices" FORCE)
|
||||
ENABLE_ADDITIONAL_SKU("MTL")
|
||||
if(TESTS_ARL)
|
||||
set(TESTS_MTL TRUE CACHE BOOL "Tests MTL/ARL devices" FORCE)
|
||||
TEST_ADDITIONAL_SKU("MTL")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
@@ -230,6 +230,14 @@ macro(ADD_PLATFORM_FOR_CORE_TYPE LIST_TYPE CORE_TYPE PLATFORM_NAME)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(ENABLE_ADDITIONAL_SKU SKU_NAME)
|
||||
set(SUPPORT_${SKU_NAME} TRUE CACHE BOOL "Support ${SKU_NAME}" FORCE)
|
||||
endmacro()
|
||||
|
||||
macro(TEST_ADDITIONAL_SKU SKU_NAME)
|
||||
set(TESTS_${SKU_NAME} TRUE CACHE BOOL "Build ULTs for ${SKU_NAME}" FORCE)
|
||||
endmacro()
|
||||
|
||||
macro(ADD_AOT_DEFINITION CONFIG_NAME)
|
||||
list(APPEND AOT_DEFINITIONS "SUPPORT_AOT_${CONFIG_NAME}")
|
||||
endmacro()
|
||||
|
||||
@@ -171,7 +171,91 @@ else()
|
||||
)
|
||||
endif()
|
||||
|
||||
string(REPLACE ";" "," ALL_SUPPORTED_PRODUCT_FAMILIES "${ALL_SUPPORTED_PRODUCT_FAMILY}")
|
||||
set(ALL_OCLOC_PRODUCT_FAMILY "")
|
||||
set(ALL_OCLOC_PRODUCT_TO_PRODUCT_FAMILY "")
|
||||
set(OCLOC_SUPPORTED_CORE_FLAGS_DEFINITONS "")
|
||||
|
||||
get_cmake_property(OCLOC_SUPPORT_VARS VARIABLES)
|
||||
list(FILTER OCLOC_SUPPORT_VARS INCLUDE REGEX "OCLOC_SUPPORT_.+")
|
||||
foreach(OCLOC_SUPPORT_VAR ${OCLOC_SUPPORT_VARS})
|
||||
string(REPLACE "OCLOC_SUPPORT_" "SUPPORT_" SUPPORT_VAR ${OCLOC_SUPPORT_VAR})
|
||||
set(${SUPPORT_VAR} ${${OCLOC_SUPPORT_VAR}})
|
||||
endforeach()
|
||||
|
||||
macro(SET_FLAGS_FOR CORE_TYPE)
|
||||
foreach(SKU_NAME ${ARGN})
|
||||
if(SUPPORT_${SKU_NAME} OR NEO_FORCE_ENABLE_PLATFORMS_FOR_OCLOC)
|
||||
if(NOT SUPPORT_${CORE_TYPE})
|
||||
message(STATUS "Auto-Enabling ${CORE_TYPE} support for ${SKU_NAME} in ocloc")
|
||||
set(SUPPORT_${CORE_TYPE} TRUE)
|
||||
endif()
|
||||
endif()
|
||||
string(TOLOWER ${CORE_TYPE} MAP_${SKU_NAME}_CORE_lower)
|
||||
string(TOLOWER ${SKU_NAME} MAP_${SKU_NAME}_lower)
|
||||
set(MAP_${SKU_NAME}_CORE_lower "${CORE_PREFIX}${MAP_${SKU_NAME}_CORE_lower}${CORE_SUFFIX}")
|
||||
set(MAP_${SKU_NAME}_lower ${MAP_${SKU_NAME}_lower})
|
||||
endforeach()
|
||||
|
||||
if(NEO_FORCE_ENABLE_PLATFORMS_FOR_OCLOC)
|
||||
set(SUPPORT_${CORE_TYPE} TRUE)
|
||||
elseif(NOT SUPPORT_${CORE_TYPE})
|
||||
set(SUPPORT_${CORE_TYPE} ${SUPPORT_GEN_DEFAULT})
|
||||
endif()
|
||||
|
||||
if(SUPPORT_${CORE_TYPE} OR NEO_FORCE_ENABLE_PLATFORMS_FOR_OCLOC)
|
||||
list(APPEND ALL_SUPPORTED_CORE_FAMILIES ${CORE_TYPE})
|
||||
list(REMOVE_DUPLICATES ALL_SUPPORTED_CORE_FAMILIES)
|
||||
|
||||
foreach(${CORE_TYPE}_PLATFORM ${ARGN})
|
||||
if(NEO_FORCE_ENABLE_PLATFORMS_FOR_OCLOC)
|
||||
set(SUPPORT_${${CORE_TYPE}_PLATFORM} TRUE)
|
||||
elseif(NOT SUPPORT_${${CORE_TYPE}_PLATFORM})
|
||||
set(SUPPORT_${${CORE_TYPE}_PLATFORM} ${SUPPORT_PLATFORM_DEFAULT})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(ADD_PRODUCT TYPE PRODUCT ITEM)
|
||||
if(${TYPE} MATCHES "SUPPORTED")
|
||||
list(APPEND ALL_OCLOC_PRODUCT_FAMILY ${ITEM})
|
||||
list(APPEND ALL_OCLOC_PRODUCT_TO_PRODUCT_FAMILY ${PRODUCT})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(ENABLE_ADDITIONAL_SKU SKU_NAME)
|
||||
set(SUPPORT_${SKU_NAME} TRUE)
|
||||
endmacro()
|
||||
|
||||
macro(TEST_ADDITIONAL_SKU SKU_NAME)
|
||||
endmacro()
|
||||
|
||||
macro(DISABLE_WDDM_LINUX_FOR SKU_NAME)
|
||||
endmacro()
|
||||
|
||||
macro(DISABLE_FLAGS_FOR CORE_TYPE)
|
||||
set(SUPPORT_${CORE_TYPE} FALSE)
|
||||
foreach(SKU_NAME ${ARGN})
|
||||
set(SUPPORT_${SKU_NAME} FALSE)
|
||||
endforeach()
|
||||
endmacro()
|
||||
if(NOT NEO_SINGLE_SKU_BUILD)
|
||||
set(NEO_FORCE_ENABLE_PLATFORMS_FOR_OCLOC TRUE)
|
||||
endif()
|
||||
include(${NEO_SOURCE_DIR}/cmake/setup_platform_flags.cmake)
|
||||
|
||||
unset(NEO_FORCE_ENABLE_PLATFORMS_FOR_OCLOC)
|
||||
set(NEO_SKIP_BASE_PLATFORMS TRUE)
|
||||
if(NOT ${NEO_SOURCE_DIR}/cmake/setup_platform_flags.cmake MATCHES ${NEO_SOURCE_DIR}/cmake${BRANCH_DIR_SUFFIX}setup_platform_flags.cmake)
|
||||
include(${NEO_SOURCE_DIR}/cmake${BRANCH_DIR_SUFFIX}setup_platform_flags.cmake)
|
||||
endif()
|
||||
|
||||
message(STATUS "[OCLOC] All supported platforms: ${ALL_OCLOC_PRODUCT_TO_PRODUCT_FAMILY}")
|
||||
foreach(PRODUCT ${ALL_OCLOC_PRODUCT_TO_PRODUCT_FAMILY})
|
||||
add_definitions("-DSUPPORT_${PRODUCT}")
|
||||
endforeach()
|
||||
|
||||
string(REPLACE ";" "," ALL_SUPPORTED_PRODUCT_FAMILIES "${ALL_OCLOC_PRODUCT_FAMILY}")
|
||||
|
||||
set(CLOC_LIB_LIB_FLAGS_DEFINITIONS
|
||||
-DCIF_HEADERS_ONLY_BUILD
|
||||
@@ -180,9 +264,16 @@ set(CLOC_LIB_LIB_FLAGS_DEFINITIONS
|
||||
|
||||
set(NEO_SHARED_COREX_CPP_FILES
|
||||
hw_info
|
||||
enable
|
||||
)
|
||||
|
||||
macro(macro_for_each_platform)
|
||||
list(APPEND OCLOC_SUPPORTED_CORE_FLAGS_DEFINITONS "-DSUPPORT_${PLATFORM_IT}")
|
||||
if(EXISTS ${NEO_SHARED_DIRECTORY}/${CORE_TYPE_LOWER}/definitions${BRANCH_DIR_SUFFIX})
|
||||
include_directories(${NEO_SHARED_DIRECTORY}/${CORE_TYPE_LOWER}/definitions${BRANCH_DIR_SUFFIX})
|
||||
elseif(EXISTS ${NEO_SHARED_DIRECTORY}/${CORE_TYPE_LOWER}/definitions)
|
||||
include_directories(${NEO_SHARED_DIRECTORY}/${CORE_TYPE_LOWER}/definitions)
|
||||
endif()
|
||||
foreach(BRANCH_DIR ${BRANCH_DIR_LIST})
|
||||
foreach(BRANCH ${BRANCH_DIR_LIST})
|
||||
foreach(SRC_FILE ${NEO_SOURCE_DIR}/shared/source${BRANCH}${CORE_TYPE_LOWER}/definitions${BRANCH_DIR_SUFFIX}hw_info_setup_${PLATFORM_IT_LOWER}.inl
|
||||
@@ -193,11 +284,13 @@ macro(macro_for_each_platform)
|
||||
${NEO_SOURCE_DIR}/shared/source${BRANCH}${CORE_TYPE_LOWER}${BRANCH_DIR}enable_compiler_product_helper_${PLATFORM_IT_LOWER}.cpp
|
||||
${NEO_SOURCE_DIR}/shared/source/ail${BRANCH_DIR}${CORE_TYPE_LOWER}${BRANCH}${PLATFORM_IT_LOWER}/ail_configuration_${PLATFORM_IT_LOWER}.cpp
|
||||
)
|
||||
if(${SRC_FILE} IN_LIST CLOC_LIB_SRCS_LIB)
|
||||
continue()
|
||||
endif()
|
||||
if(EXISTS ${SRC_FILE})
|
||||
list(APPEND CLOC_LIB_SRCS_LIB ${SRC_FILE})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(WIN32)
|
||||
set(SRC_FILE ${NEO_SOURCE_DIR}/shared/source${BRANCH}${CORE_TYPE_LOWER}${BRANCH_DIR}windows/hw_info_extra_${PLATFORM_IT_LOWER}.cpp)
|
||||
if(EXISTS ${SRC_FILE})
|
||||
@@ -209,12 +302,12 @@ macro(macro_for_each_platform)
|
||||
list(APPEND CLOC_LIB_SRCS_LIB ${SRC_FILE})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endforeach()
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(macro_for_each_core_type)
|
||||
list(APPEND OCLOC_SUPPORTED_CORE_FLAGS_DEFINITONS "-DSUPPORT_${CORE_TYPE}")
|
||||
foreach(SRC_IT ${NEO_SHARED_COREX_CPP_FILES})
|
||||
foreach(BRANCH_DIR ${BRANCH_DIR_LIST})
|
||||
foreach(BRANCH ${BRANCH_DIR_LIST})
|
||||
@@ -266,7 +359,7 @@ endif()
|
||||
target_include_directories(${OCLOC_NAME}_lib BEFORE PRIVATE ${CLOC_LIB_INCLUDES})
|
||||
target_include_directories(${OCLOC_NAME}_lib BEFORE PRIVATE ${IGA_INCLUDE_DIR})
|
||||
|
||||
target_compile_definitions(${OCLOC_NAME}_lib PUBLIC ${CLOC_LIB_LIB_FLAGS_DEFINITIONS} ${SUPPORTED_CORE_FLAGS_DEFINITONS} DEFAULT_PLATFORM=${DEFAULT_SUPPORTED_PLATFORM}
|
||||
target_compile_definitions(${OCLOC_NAME}_lib PUBLIC ${CLOC_LIB_LIB_FLAGS_DEFINITIONS} ${OCLOC_SUPPORTED_CORE_FLAGS_DEFINITONS} DEFAULT_PLATFORM=${DEFAULT_SUPPORTED_PLATFORM}
|
||||
IGA_LIBRARY_NAME="${CMAKE_SHARED_LIBRARY_PREFIX}${IGA_LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||
${AOT_DEFINITIONS}
|
||||
)
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
#include "shared/source/helpers/product_config_helper.h"
|
||||
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
|
||||
#include "device_ids_configs.h"
|
||||
#include "hw_cmds.h"
|
||||
#include "platforms.h"
|
||||
|
||||
Reference in New Issue
Block a user