diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e287f2654..489211b1a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -898,6 +898,7 @@ endif() set(BIKSIM_LIB_NAME "biksim") set(BUILTINS_SOURCES_LIB_NAME "builtins_sources") set(BUILTINS_BINARIES_STATELESS_LIB_NAME "builtins_binaries_stateless") +set(BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME "builtins_binaries_stateless_heapless") set(BUILTINS_BINARIES_BINDFUL_LIB_NAME "builtins_binaries_bindful") set(BUILTINS_BINARIES_BINDLESS_LIB_NAME "builtins_binaries_bindless") set(BUILTINS_SPIRV_LIB_NAME "builtins_spirv") diff --git a/level_zero/CMakeLists.txt b/level_zero/CMakeLists.txt index 86dec8e2b8..3fa36b44ce 100644 --- a/level_zero/CMakeLists.txt +++ b/level_zero/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2023 Intel Corporation +# Copyright (C) 2020-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -313,6 +313,7 @@ if(BUILD_WITH_L0) target_sources(${TARGET_NAME_L0} PRIVATE $ + $ $ $ ) diff --git a/level_zero/core/test/aub_tests/CMakeLists.txt b/level_zero/core/test/aub_tests/CMakeLists.txt index c75a778281..d8a2354637 100644 --- a/level_zero/core/test/aub_tests/CMakeLists.txt +++ b/level_zero/core/test/aub_tests/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2021-2023 Intel Corporation +# Copyright (C) 2021-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -53,6 +53,7 @@ if(DEFINED AUB_STREAM_PROJECT_NAME) $ $ $ + $ $ $ $ diff --git a/level_zero/core/test/unit_tests/CMakeLists.txt b/level_zero/core/test/unit_tests/CMakeLists.txt index 97b1ccf88a..f6a2c8c8ce 100644 --- a/level_zero/core/test/unit_tests/CMakeLists.txt +++ b/level_zero/core/test/unit_tests/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2023 Intel Corporation +# Copyright (C) 2020-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -75,6 +75,7 @@ target_sources(${TARGET_NAME} PRIVATE $ $ $ + $ $ $ ) diff --git a/level_zero/sysman/test/unit_tests/CMakeLists.txt b/level_zero/sysman/test/unit_tests/CMakeLists.txt index 925c9e25c0..30deb94625 100644 --- a/level_zero/sysman/test/unit_tests/CMakeLists.txt +++ b/level_zero/sysman/test/unit_tests/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2023 Intel Corporation +# Copyright (C) 2023-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -74,6 +74,7 @@ target_sources(${TARGET_NAME} PRIVATE $ $ $ + $ $ $ ) diff --git a/level_zero/tools/test/unit_tests/CMakeLists.txt b/level_zero/tools/test/unit_tests/CMakeLists.txt index 6b8169f514..97e2292ce1 100644 --- a/level_zero/tools/test/unit_tests/CMakeLists.txt +++ b/level_zero/tools/test/unit_tests/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2023 Intel Corporation +# Copyright (C) 2020-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -74,6 +74,7 @@ target_sources(${TARGET_NAME} PRIVATE $ $ $ + $ $ $ ) diff --git a/manifests/manifest.yml b/manifests/manifest.yml index e47c8e9fb7..a1253713d5 100644 --- a/manifests/manifest.yml +++ b/manifests/manifest.yml @@ -42,7 +42,7 @@ components: dest_dir: kernels_bin type: git branch: kernels_bin - revision: 2249-1227 + revision: 2249-1232 kmdaf: branch: kmdaf dest_dir: kmdaf diff --git a/opencl/source/CMakeLists.txt b/opencl/source/CMakeLists.txt index bc1a4f9aba..b5a1141fb3 100644 --- a/opencl/source/CMakeLists.txt +++ b/opencl/source/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2018-2023 Intel Corporation +# Copyright (C) 2018-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -108,6 +108,7 @@ if(${GENERATE_EXECUTABLE}) $ $ $ + $ $ ) diff --git a/opencl/test/unit_test/CMakeLists.txt b/opencl/test/unit_test/CMakeLists.txt index 8a6a12a2ef..b7d55f1195 100644 --- a/opencl/test/unit_test/CMakeLists.txt +++ b/opencl/test/unit_test/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2018-2023 Intel Corporation +# Copyright (C) 2018-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -60,6 +60,7 @@ set(NEO_IGDRCL_TESTS__TARGET_OBJECTS $ $ $ + $ $ $ $ diff --git a/platforms.cmake b/platforms.cmake index 0a03450097..e43b792ee9 100644 --- a/platforms.cmake +++ b/platforms.cmake @@ -1,5 +1,5 @@ # -# Copyright (C) 2018-2023 Intel Corporation +# Copyright (C) 2018-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -238,6 +238,7 @@ INIT_LIST("PLATFORMS" "SUPPORTED_VME") INIT_LIST("PLATFORMS" "SUPPORTED_IMAGES") INIT_LIST("PLATFORMS" "SUPPORTED_AUX_TRANSLATION") INIT_LIST("PLATFORMS" "TESTED") +INIT_LIST("PLATFORMS" "SUPPORTED_HEAPLESS") INIT_PRODUCTS_LIST("TESTED") INIT_PRODUCTS_LIST("SUPPORTED") diff --git a/shared/source/built_ins/builtins_binary.cmake b/shared/source/built_ins/builtins_binary.cmake index 0a86bef39b..fb61250cbb 100644 --- a/shared/source/built_ins/builtins_binary.cmake +++ b/shared/source/built_ins/builtins_binary.cmake @@ -1,23 +1,14 @@ # -# Copyright (C) 2018-2023 Intel Corporation +# Copyright (C) 2018-2024 Intel Corporation # # SPDX-License-Identifier: MIT # -add_library(${BUILTINS_BINARIES_STATELESS_LIB_NAME} OBJECT EXCLUDE_FROM_ALL builtins_binary.cmake) -add_library(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} OBJECT EXCLUDE_FROM_ALL builtins_binary.cmake) -add_library(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} OBJECT EXCLUDE_FROM_ALL builtins_binary.cmake) -target_compile_definitions(${BUILTINS_BINARIES_STATELESS_LIB_NAME} PUBLIC MOCKABLE_VIRTUAL=) -target_compile_definitions(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} PUBLIC MOCKABLE_VIRTUAL=) -target_compile_definitions(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} PUBLIC MOCKABLE_VIRTUAL=) - -# Add builtins sources -add_subdirectory(registry) - list(APPEND ADDRESSING_MODES "stateless" "bindful" "bindless" + "stateless_heapless" ) set(GENERATED_BUILTINS @@ -53,64 +44,40 @@ set(GENERATED_BUILTINS_STATELESS "fill_buffer_stateless" ) +foreach(MODE ${ADDRESSING_MODES}) + string(TOUPPER ${MODE} MODE_UPPER_CASE) + add_library(${BUILTINS_BINARIES_${MODE_UPPER_CASE}_LIB_NAME} OBJECT EXCLUDE_FROM_ALL builtins_binary.cmake) + target_compile_definitions(${BUILTINS_BINARIES_${MODE_UPPER_CASE}_LIB_NAME} PUBLIC MOCKABLE_VIRTUAL=) +endforeach() + +# Add builtins sources +add_subdirectory(registry) + # Generate builtins cpps if(COMPILE_BUILT_INS) add_subdirectory(kernels) endif() foreach(MODE ${ADDRESSING_MODES}) + string(TOUPPER ${MODE} MODE_UPPER_CASE) + get_property(GENERATED_BUILTINS_CPPS_${MODE} GLOBAL PROPERTY GENERATED_BUILTINS_CPPS_${MODE}) source_group("generated files\\${CORE_TYPE_LOWER}" FILES GENERATED_BUILTINS_CPPS_${MODE}) + + if(COMPILE_BUILT_INS) + target_sources(${BUILTINS_BINARIES_${MODE_UPPER_CASE}_LIB_NAME} PUBLIC ${GENERATED_BUILTINS_CPPS_${MODE}}) + set_source_files_properties(${GENERATED_BUILTINS_CPPS_${MODE}} PROPERTIES GENERATED TRUE) + endif() + + set_target_properties(${BUILTINS_BINARIES_${MODE_UPPER_CASE}_LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX) + set_target_properties(${BUILTINS_BINARIES_${MODE_UPPER_CASE}_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) + set_target_properties(${BUILTINS_BINARIES_${MODE_UPPER_CASE}_LIB_NAME} PROPERTIES FOLDER "${SHARED_SOURCE_PROJECTS_FOLDER}/${SHARED_BUILTINS_PROJECTS_FOLDER}") + + target_include_directories(${BUILTINS_BINARIES_${MODE_UPPER_CASE}_LIB_NAME} PRIVATE + ${ENGINE_NODE_DIR} + ${KHRONOS_HEADERS_DIR} + ${KHRONOS_GL_HEADERS_DIR} + ${NEO__GMM_INCLUDE_DIR} + ${NEO__IGC_INCLUDE_DIR} + ) endforeach() - -if(COMPILE_BUILT_INS) - target_sources(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} PUBLIC ${GENERATED_BUILTINS_CPPS_bindful}) - set_source_files_properties(${GENERATED_BUILTINS_CPPS_bindful} PROPERTIES GENERATED TRUE) -endif() - -set_target_properties(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX) -set_target_properties(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) -set_target_properties(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} PROPERTIES FOLDER "${SHARED_SOURCE_PROJECTS_FOLDER}/${SHARED_BUILTINS_PROJECTS_FOLDER}") - -target_include_directories(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} PRIVATE - ${ENGINE_NODE_DIR} - ${KHRONOS_HEADERS_DIR} - ${KHRONOS_GL_HEADERS_DIR} - ${NEO__GMM_INCLUDE_DIR} - ${NEO__IGC_INCLUDE_DIR} -) - -if(COMPILE_BUILT_INS) - target_sources(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} PUBLIC ${GENERATED_BUILTINS_CPPS_bindless}) - set_source_files_properties(${GENERATED_BUILTINS_CPPS_bindless} PROPERTIES GENERATED TRUE) -endif() - -set_target_properties(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX) -set_target_properties(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) -set_target_properties(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} PROPERTIES FOLDER "${SHARED_SOURCE_PROJECTS_FOLDER}/${SHARED_BUILTINS_PROJECTS_FOLDER}") - -target_include_directories(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} PRIVATE - ${ENGINE_NODE_DIR} - ${KHRONOS_HEADERS_DIR} - ${KHRONOS_GL_HEADERS_DIR} - ${NEO__GMM_INCLUDE_DIR} - ${NEO__IGC_INCLUDE_DIR} -) - -if(COMPILE_BUILT_INS) - target_sources(${BUILTINS_BINARIES_STATELESS_LIB_NAME} PUBLIC ${GENERATED_BUILTINS_CPPS_stateless}) - set_source_files_properties(${GENERATED_BUILTINS_CPPS_stateless} PROPERTIES GENERATED TRUE) -endif() - -set_target_properties(${BUILTINS_BINARIES_STATELESS_LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX) -set_target_properties(${BUILTINS_BINARIES_STATELESS_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) -set_target_properties(${BUILTINS_BINARIES_STATELESS_LIB_NAME} PROPERTIES FOLDER "${SHARED_SOURCE_PROJECTS_FOLDER}/${SHARED_BUILTINS_PROJECTS_FOLDER}") - -target_include_directories(${BUILTINS_BINARIES_STATELESS_LIB_NAME} PRIVATE - ${ENGINE_NODE_DIR} - ${KHRONOS_HEADERS_DIR} - ${KHRONOS_GL_HEADERS_DIR} - ${NEO__GMM_INCLUDE_DIR} - ${NEO__IGC_INCLUDE_DIR} -) - diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt index 6c838df1de..ed85a37c52 100644 --- a/shared/source/built_ins/kernels/CMakeLists.txt +++ b/shared/source/built_ins/kernels/CMakeLists.txt @@ -8,9 +8,10 @@ add_custom_target(builtins) set_target_properties(builtins PROPERTIES FOLDER "${SHARED_SOURCE_PROJECTS_FOLDER}/${SHARED_BUILTINS_PROJECTS_FOLDER}") set(BUILTINS_OUTDIR_WITH_ARCH "${TargetDir}/built_ins/${NEO_ARCH}") add_dependencies(${BUILTINS_BINARIES_STATELESS_LIB_NAME} builtins) +add_dependencies(${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME} builtins) add_dependencies(${BUILTINS_BINARIES_BINDFUL_LIB_NAME} builtins) add_dependencies(${BUILTINS_BINARIES_BINDLESS_LIB_NAME} builtins) -add_subdirectories() + set(GENERATED_BUILTINS ${GENERATED_BUILTINS} PARENT_SCOPE) set(GENERATED_BUILTINS_AUX_TRANSLATION ${GENERATED_BUILTINS_AUX_TRANSLATION} PARENT_SCOPE) set(GENERATED_BUILTINS_IMAGES ${GENERATED_BUILTINS_IMAGES} PARENT_SCOPE) @@ -20,9 +21,12 @@ set(BUILTIN_OPTIONS_STATELESS "-cl-intel-greater-than-4GB-buffer-required") set(BUILTIN_OPTIONS_STATEFUL "-force_stos_opt") set(stateless_INTERNAL_OPTIONS "") +set(stateless_heapless_INTERNAL_OPTIONS -internal_options "") set(bindful_INTERNAL_OPTIONS "") set(bindless_INTERNAL_OPTIONS -internal_options "-cl-intel-use-bindless-mode -cl-intel-use-bindless-advanced-mode") +add_subdirectories() + if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") list(APPEND __ocloc__options__ "-D DEBUG") endif() @@ -39,7 +43,7 @@ endfunction() function(get_builtin_options core_type neo_arch mode_type) if("${neo_arch}" STREQUAL "x32") set(BUILTIN_OPTIONS "${BUILTIN_OPTIONS_STATELESS}" PARENT_SCOPE) - elseif("${mode_type}" STREQUAL "stateless") + elseif("${mode_type}" STREQUAL "stateless" OR "${mode_type}" STREQUAL "stateless_heapless") set(BUILTIN_OPTIONS "${BUILTIN_OPTIONS_STATELESS}" PARENT_SCOPE) else() set(BUILTIN_OPTIONS "${BUILTIN_OPTIONS_STATEFUL}" PARENT_SCOPE) @@ -51,7 +55,7 @@ function(get_generated_builtins core_type mode_type) # Compile all builtin kernels as stateless for XeHpc set(generated_builtins "${GENERATED_BUILTINS};${GENERATED_BUILTINS_STATELESS}" PARENT_SCOPE) set(generated_builtins_images "${GENERATED_BUILTINS_IMAGES};${GENERATED_BUILTINS_IMAGES_STATELESS}" PARENT_SCOPE) - elseif(${mode_type} STREQUAL "stateless") + elseif(${mode_type} STREQUAL "stateless" OR ${mode_type} STREQUAL "stateless_heapless") set(generated_builtins "${GENERATED_BUILTINS_STATELESS}" PARENT_SCOPE) set(generated_builtins_images "${GENERATED_BUILTINS_IMAGES_STATELESS}" PARENT_SCOPE) else() @@ -181,8 +185,12 @@ endfunction() macro(macro_for_each_platform) set(IMAGE_SUPPORT FALSE) set(AUX_TRANSLATION_SUPPORT FALSE) + set(HEAPLESS_SUPPORT FALSE) + CORE_CONTAINS_PLATFORM("SUPPORTED_IMAGES" ${CORE_TYPE} ${PLATFORM_IT} IMAGE_SUPPORT) CORE_CONTAINS_PLATFORM("SUPPORTED_AUX_TRANSLATION" ${CORE_TYPE} ${PLATFORM_IT} AUX_TRANSLATION_SUPPORT) + CORE_CONTAINS_PLATFORM("SUPPORTED_HEAPLESS" ${CORE_TYPE} ${PLATFORM_IT} HEAPLESS_SUPPORT) + get_bits_for_stateless(${CORE_TYPE} ${PLATFORM_IT}) set(target_name builtins_${PLATFORM_IT_LOWER}) add_custom_target(${target_name}) @@ -201,6 +209,10 @@ macro(macro_for_each_platform) continue() endif() + if(${MODE} STREQUAL "stateless_heapless" AND(NOT ${HEAPLESS_SUPPORT} OR ${NEO_BITS} STREQUAL "32")) + continue() + endif() + get_builtin_options(${CORE_TYPE} ${NEO_ARCH} ${MODE}) get_generated_builtins(${CORE_TYPE} ${MODE}) diff --git a/shared/test/common/test_files/CMakeLists.txt b/shared/test/common/test_files/CMakeLists.txt index 200e418dc8..7588a365fd 100644 --- a/shared/test/common/test_files/CMakeLists.txt +++ b/shared/test/common/test_files/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2023 Intel Corporation +# Copyright (C) 2020-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -52,6 +52,7 @@ file(GLOB_RECURSE TEST_KERNELS *.cl) file(GLOB_RECURSE TEST_KERNELS_IMAGES *_images.cl) add_custom_target(prepare_test_kernels_for_shared) add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_STATELESS_LIB_NAME}) +add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_STATELESS_HEAPLESS_LIB_NAME}) add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_BINDFUL_LIB_NAME}) add_dependencies(prepare_test_kernels_for_shared ${BUILTINS_BINARIES_BINDLESS_LIB_NAME}) if(TARGET ${BUILTINS_SPIRV_LIB_NAME}) diff --git a/shared/test/unit_test/CMakeLists.txt b/shared/test/unit_test/CMakeLists.txt index d6201fd61c..75c5e0c1fc 100644 --- a/shared/test/unit_test/CMakeLists.txt +++ b/shared/test/unit_test/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2019-2023 Intel Corporation +# Copyright (C) 2019-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -72,6 +72,7 @@ add_subdirectories() target_sources(neo_shared_tests PRIVATE $ $ + $ $ $ )