mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 22:43:00 +08:00
Correct dimension order in local ids generated for implicit args
when local ids are generated by HW, use same dim order for runtime generation move common logic to separated file Related-To: NEO-5081 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
ca5a8162eb
commit
b697d75695
@@ -1,11 +1,12 @@
|
||||
#
|
||||
# Copyright (C) 2020-2021 Intel Corporation
|
||||
# Copyright (C) 2020-2022 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
target_sources(${TARGET_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/implicit_args_helper_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kernel_arg_descriptor_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kernel_arg_metadata_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kernel_descriptor_from_patchtokens_tests.cpp
|
||||
|
||||
34
shared/test/unit_test/kernel/implicit_args_helper_tests.cpp
Normal file
34
shared/test/unit_test/kernel/implicit_args_helper_tests.cpp
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (C) 2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/helpers/hw_walk_order.h"
|
||||
#include "shared/source/kernel/implicit_args.h"
|
||||
#include "shared/test/common/test_macros/test.h"
|
||||
|
||||
using namespace NEO;
|
||||
|
||||
TEST(ImplicitArgsHelperTest, whenLocalIdsAreGeneratedByRuntimeThenDimensionOrderIsTakedFromInput) {
|
||||
for (auto i = 0u; i < HwWalkOrderHelper::walkOrderPossibilties; i++) {
|
||||
uint8_t inputDimensionOrder[3] = {2, 0, 1};
|
||||
auto dimOrderForImplicitArgs = ImplicitArgsHelper::getDimensionOrderForLocalIds(inputDimensionOrder, true, i);
|
||||
EXPECT_EQ(inputDimensionOrder[0], dimOrderForImplicitArgs[0]);
|
||||
EXPECT_EQ(inputDimensionOrder[1], dimOrderForImplicitArgs[1]);
|
||||
EXPECT_EQ(inputDimensionOrder[2], dimOrderForImplicitArgs[2]);
|
||||
}
|
||||
}
|
||||
|
||||
TEST(ImplicitArgsHelperTest, givenIncorrectcInputWhenGettingDimensionOrderThenAbortIsCalled) {
|
||||
EXPECT_THROW(ImplicitArgsHelper::getDimensionOrderForLocalIds(nullptr, true, 0), std::runtime_error);
|
||||
EXPECT_THROW(ImplicitArgsHelper::getDimensionOrderForLocalIds(nullptr, false, HwWalkOrderHelper::walkOrderPossibilties), std::runtime_error);
|
||||
}
|
||||
|
||||
TEST(ImplicitArgsHelperTest, whenLocalIdsAreGeneratedByHwThenProperDimensionOrderIsReturned) {
|
||||
for (auto i = 0u; i < HwWalkOrderHelper::walkOrderPossibilties; i++) {
|
||||
auto dimOrderForImplicitArgs = ImplicitArgsHelper::getDimensionOrderForLocalIds(nullptr, false, i);
|
||||
EXPECT_EQ(HwWalkOrderHelper::compatibleDimensionOrders[i], dimOrderForImplicitArgs);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user