Generate revision-specific kernels for L0

Resolves: NEO-6504

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
This commit is contained in:
Igor Venevtsev
2022-03-02 19:31:16 +00:00
committed by Compute-Runtime-Automation
parent 38086029ed
commit 2263fe59ec
12 changed files with 65 additions and 61 deletions

View File

@@ -24,18 +24,20 @@ set(TEST_KERNEL_BINDLESS
set(l0_test_kernels_outputs)
macro(macro_for_each_core_type)
foreach(PLATFORM_TYPE ${PLATFORM_TYPES})
if(${CORE_TYPE}_HAS_${PLATFORM_TYPE})
get_family_name_with_type(${CORE_TYPE} ${PLATFORM_TYPE})
string(TOLOWER ${PLATFORM_TYPE} PLATFORM_TYPE_LOWER)
set(PLATFORM_LOWER ${DEFAULT_SUPPORTED_${CORE_TYPE}_${PLATFORM_TYPE}_PLATFORM})
string(TOLOWER ${CORE_TYPE} CORE_TYPE_LOWER)
level_zero_generate_kernels(l0_test_kernel_outputs ${PLATFORM_LOWER} ${family_name_with_type} "-g" ${TEST_MODULES})
foreach(REVISION_ID ${${PLATFORM_TYPE}_${CORE_TYPE}_REVISIONS})
if(${CORE_TYPE}_HAS_${PLATFORM_TYPE})
get_family_name_with_type(${CORE_TYPE} ${PLATFORM_TYPE})
string(TOLOWER ${PLATFORM_TYPE} PLATFORM_TYPE_LOWER)
set(PLATFORM_LOWER ${DEFAULT_SUPPORTED_${CORE_TYPE}_${PLATFORM_TYPE}_PLATFORM})
string(TOLOWER ${CORE_TYPE} CORE_TYPE_LOWER)
level_zero_generate_kernels(l0_test_kernel_outputs ${PLATFORM_LOWER} ${family_name_with_type} ${REVISION_ID} "-g" ${TEST_MODULES})
#skip Gen8 bindless kernel generation
if(NOT ("${CORE_TYPE_LOWER}" STREQUAL "gen8"))
level_zero_generate_kernels_with_internal_options(l0_bindless_test_kernel_outputs ${PLATFORM_LOWER} ${family_name_with_type} "bindless" "-g" ${TEST_KERNEL_BINDLESS_internal_options} ${TEST_KERNEL_BINDLESS})
#skip Gen8 bindless kernel generation
if(NOT ("${CORE_TYPE_LOWER}" STREQUAL "gen8"))
level_zero_generate_kernels_with_internal_options(l0_bindless_test_kernel_outputs ${PLATFORM_LOWER} ${family_name_with_type} "bindless" ${REVISION_ID} "-g" ${TEST_KERNEL_BINDLESS_internal_options} ${TEST_KERNEL_BINDLESS})
endif()
endif()
endif()
endforeach()
endforeach()
endmacro()
apply_macro_for_each_core_type("TESTED")
@@ -63,4 +65,4 @@ set_target_properties(l0_libult PROPERTIES FOLDER ${TARGET_NAME_L0})
set_property(TARGET l0_libult APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS} ${TSAN_FLAGS})
target_include_directories(l0_libult PRIVATE $<TARGET_PROPERTY:${L0_MOCKABLE_LIB_NAME},INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_definitions(l0_libult PRIVATE $<TARGET_PROPERTY:${L0_MOCKABLE_LIB_NAME},INTERFACE_COMPILE_DEFINITIONS>)
create_project_source_tree(l0_libult)
create_project_source_tree(l0_libult)

View File

@@ -4,11 +4,11 @@
# SPDX-License-Identifier: MIT
#
function(level_zero_generate_kernels target_list platform_name suffix options)
function(level_zero_generate_kernels target_list platform_name suffix revision_id options)
list(APPEND results copy_compiler_files)
set(outputdir "${TargetDir}/level_zero/${suffix}/test_files/${NEO_ARCH}/")
set(outputdir "${TargetDir}/level_zero/${suffix}/${revision_id}/test_files/${NEO_ARCH}/")
foreach(filepath ${ARGN})
get_filename_component(filename ${filepath} NAME)
@@ -26,9 +26,9 @@ function(level_zero_generate_kernels target_list platform_name suffix options)
)
add_custom_command(
COMMAND echo generate ${ocloc_cmd_prefix} -q -file ${absolute_filepath} -device ${platform_name} -out_dir ${outputdir} -options "${options}"
COMMAND echo generate ${ocloc_cmd_prefix} -q -file ${absolute_filepath} -device ${platform_name} -out_dir ${outputdir} -revision_id ${revision_id} -options "${options}"
OUTPUT ${output_files}
COMMAND ${ocloc_cmd_prefix} -q -file ${absolute_filepath} -device ${platform_name} -out_dir ${outputdir} -options "${options}"
COMMAND ${ocloc_cmd_prefix} -q -file ${absolute_filepath} -device ${platform_name} -out_dir ${outputdir} -revision_id ${revision_id} -options "${options}"
WORKING_DIRECTORY ${workdir}
DEPENDS ${filepath} ocloc
)
@@ -51,11 +51,11 @@ function(level_zero_generate_kernels target_list platform_name suffix options)
set(${target_list} ${${target_list}} PARENT_SCOPE)
endfunction()
function(level_zero_generate_kernels_with_internal_options target_list platform_name suffix prefix options internal_options)
function(level_zero_generate_kernels_with_internal_options target_list platform_name suffix prefix revision_id options internal_options)
list(APPEND results copy_compiler_files)
set(outputdir "${TargetDir}/level_zero/${suffix}/test_files/${NEO_ARCH}/")
set(outputdir "${TargetDir}/level_zero/${suffix}/${revision_id}/test_files/${NEO_ARCH}/")
foreach(filepath ${ARGN})
get_filename_component(filename ${filepath} NAME)
@@ -78,9 +78,9 @@ function(level_zero_generate_kernels_with_internal_options target_list platform_
string(CONCAT internal_options \" ${internal_options} \" )
add_custom_command(
COMMAND echo generate ${ocloc_cmd_prefix} -q -file ${absolute_filepath} -device ${platform_name} -out_dir ${outputdir} ${output_name} -options ${options} -internal_options ${internal_options} , workdir is ${workdir}
COMMAND echo generate ${ocloc_cmd_prefix} -q -file ${absolute_filepath} -device ${platform_name} -out_dir ${outputdir} ${output_name} -revision_id ${revision_id} -options ${options} -internal_options ${internal_options} , workdir is ${workdir}
OUTPUT ${output_files}
COMMAND ${ocloc_cmd_prefix} -q -file ${absolute_filepath} -device ${platform_name} -out_dir ${outputdir} ${output_name} -options ${options} -internal_options ${internal_options}
COMMAND ${ocloc_cmd_prefix} -q -file ${absolute_filepath} -device ${platform_name} -out_dir ${outputdir} ${output_name} -revision_id ${revision_id} -options ${options} -internal_options ${internal_options}
WORKING_DIRECTORY ${workdir}
DEPENDS ${filepath} ocloc
)