mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-19 16:24:18 +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
|
# We want to organize our IDE targets into folders
|
||||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||||
|
|
||||||
# Get available platfroms
|
# Get available platforms
|
||||||
include(platforms.cmake)
|
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)
|
if(WIN32)
|
||||||
set(DISABLE_WDDM_LINUX TRUE)
|
set(DISABLE_WDDM_LINUX TRUE)
|
||||||
|
|||||||
@@ -4,6 +4,10 @@
|
|||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
#
|
#
|
||||||
|
|
||||||
|
if(NEO_SKIP_BASE_PLATFORMS)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT NEO_ALLOW_LEGACY_PLATFORMS_SUPPORT)
|
if(NOT NEO_ALLOW_LEGACY_PLATFORMS_SUPPORT)
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
DISABLE_FLAGS_FOR("GEN8" "BDW")
|
DISABLE_FLAGS_FOR("GEN8" "BDW")
|
||||||
@@ -61,9 +65,9 @@ foreach(CORE_TYPE ${PVC_AND_LATER_CORE_TYPES})
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(SUPPORT_ARL)
|
if(SUPPORT_ARL)
|
||||||
set(SUPPORT_MTL TRUE CACHE BOOL "Support MTL/ARL devices" FORCE)
|
ENABLE_ADDITIONAL_SKU("MTL")
|
||||||
if(TESTS_ARL)
|
if(TESTS_ARL)
|
||||||
set(TESTS_MTL TRUE CACHE BOOL "Tests MTL/ARL devices" FORCE)
|
TEST_ADDITIONAL_SKU("MTL")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -230,6 +230,14 @@ macro(ADD_PLATFORM_FOR_CORE_TYPE LIST_TYPE CORE_TYPE PLATFORM_NAME)
|
|||||||
endif()
|
endif()
|
||||||
endmacro()
|
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)
|
macro(ADD_AOT_DEFINITION CONFIG_NAME)
|
||||||
list(APPEND AOT_DEFINITIONS "SUPPORT_AOT_${CONFIG_NAME}")
|
list(APPEND AOT_DEFINITIONS "SUPPORT_AOT_${CONFIG_NAME}")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|||||||
@@ -171,7 +171,91 @@ else()
|
|||||||
)
|
)
|
||||||
endif()
|
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
|
set(CLOC_LIB_LIB_FLAGS_DEFINITIONS
|
||||||
-DCIF_HEADERS_ONLY_BUILD
|
-DCIF_HEADERS_ONLY_BUILD
|
||||||
@@ -180,9 +264,16 @@ set(CLOC_LIB_LIB_FLAGS_DEFINITIONS
|
|||||||
|
|
||||||
set(NEO_SHARED_COREX_CPP_FILES
|
set(NEO_SHARED_COREX_CPP_FILES
|
||||||
hw_info
|
hw_info
|
||||||
|
enable
|
||||||
)
|
)
|
||||||
|
|
||||||
macro(macro_for_each_platform)
|
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_DIR ${BRANCH_DIR_LIST})
|
||||||
foreach(BRANCH ${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
|
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${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
|
${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})
|
if(EXISTS ${SRC_FILE})
|
||||||
list(APPEND CLOC_LIB_SRCS_LIB ${SRC_FILE})
|
list(APPEND CLOC_LIB_SRCS_LIB ${SRC_FILE})
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(SRC_FILE ${NEO_SOURCE_DIR}/shared/source${BRANCH}${CORE_TYPE_LOWER}${BRANCH_DIR}windows/hw_info_extra_${PLATFORM_IT_LOWER}.cpp)
|
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})
|
if(EXISTS ${SRC_FILE})
|
||||||
@@ -209,12 +302,12 @@ macro(macro_for_each_platform)
|
|||||||
list(APPEND CLOC_LIB_SRCS_LIB ${SRC_FILE})
|
list(APPEND CLOC_LIB_SRCS_LIB ${SRC_FILE})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endforeach()
|
endforeach()
|
||||||
endforeach()
|
endforeach()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(macro_for_each_core_type)
|
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(SRC_IT ${NEO_SHARED_COREX_CPP_FILES})
|
||||||
foreach(BRANCH_DIR ${BRANCH_DIR_LIST})
|
foreach(BRANCH_DIR ${BRANCH_DIR_LIST})
|
||||||
foreach(BRANCH ${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 ${CLOC_LIB_INCLUDES})
|
||||||
target_include_directories(${OCLOC_NAME}_lib BEFORE PRIVATE ${IGA_INCLUDE_DIR})
|
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}"
|
IGA_LIBRARY_NAME="${CMAKE_SHARED_LIBRARY_PREFIX}${IGA_LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||||
${AOT_DEFINITIONS}
|
${AOT_DEFINITIONS}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
#include "shared/source/helpers/product_config_helper.h"
|
#include "shared/source/helpers/product_config_helper.h"
|
||||||
|
|
||||||
|
#include "shared/source/helpers/hw_info.h"
|
||||||
|
|
||||||
#include "device_ids_configs.h"
|
#include "device_ids_configs.h"
|
||||||
#include "hw_cmds.h"
|
#include "hw_cmds.h"
|
||||||
#include "platforms.h"
|
#include "platforms.h"
|
||||||
|
|||||||
Reference in New Issue
Block a user