From 20f49481f23fb2e4fd580923afe1c190c41b86fa Mon Sep 17 00:00:00 2001 From: Compute-Runtime-Validation Date: Sat, 3 Sep 2022 19:53:44 +0200 Subject: [PATCH] Revert "Enable BCS split WA in OCL" This reverts commit d672920121e19a79b9b3ec0aeed06fb8c2413f3b. Signed-off-by: Compute-Runtime-Validation --- opencl/source/command_queue/command_queue.h | 1 - opencl/source/command_queue/enqueue_common.h | 3 +-- opencl/source/dll/command_queue_dll.cpp | 4 ---- .../command_queue/command_queue_hw_2_tests.cpp | 10 ---------- opencl/test/unit_test/libult/command_queue_ult.cpp | 4 ---- opencl/test/unit_test/linux/main_linux_dll.cpp | 4 ---- .../xe_hpc_core/pvc/os_agnostic_hw_info_config_pvc.inl | 5 ----- shared/test/common/base_ult_config_listener.cpp | 2 +- shared/test/common/helpers/ult_hw_config.h | 1 - shared/test/unit_test/xe_hpc_core/pvc/CMakeLists.txt | 1 - .../xe_hpc_core/pvc/excludes_xe_hpc_core_pvc.cpp | 10 ---------- .../xe_hpc_core/pvc/linux/hw_info_config_tests_pvc.cpp | 5 ----- 12 files changed, 2 insertions(+), 48 deletions(-) delete mode 100644 shared/test/unit_test/xe_hpc_core/pvc/excludes_xe_hpc_core_pvc.cpp diff --git a/opencl/source/command_queue/command_queue.h b/opencl/source/command_queue/command_queue.h index 5bbaa1e350..6ef52bab7b 100644 --- a/opencl/source/command_queue/command_queue.h +++ b/opencl/source/command_queue/command_queue.h @@ -251,7 +251,6 @@ class CommandQueue : public BaseObject<_cl_command_queue> { static bool isAssignEngineRoundRobinEnabled(); static bool isTimestampWaitEnabled(); - static bool isBlitSplitEnabled(); MOCKABLE_VIRTUAL void releaseIndirectHeap(IndirectHeap::Type heapType); diff --git a/opencl/source/command_queue/enqueue_common.h b/opencl/source/command_queue/enqueue_common.h index 7714dc9d7d..cafaa867f1 100644 --- a/opencl/source/command_queue/enqueue_common.h +++ b/opencl/source/command_queue/enqueue_common.h @@ -1105,8 +1105,7 @@ size_t CommandQueueHw::calculateHostPtrSizeForImage(const size_t *reg template bool CommandQueueHw::isSplitEnqueueBlitSupported() { - auto bcsSplit = HwInfoConfig::get(getDevice().getHardwareInfo().platform.eProductFamily)->isBlitSplitEnqueueWARequired(getDevice().getHardwareInfo()) && - CommandQueue::isBlitSplitEnabled(); + auto bcsSplit = HwInfoConfig::get(getDevice().getHardwareInfo().platform.eProductFamily)->isBlitSplitEnqueueWARequired(getDevice().getHardwareInfo()); if (DebugManager.flags.SplitBcsCopy.get() != -1) { bcsSplit = DebugManager.flags.SplitBcsCopy.get(); diff --git a/opencl/source/dll/command_queue_dll.cpp b/opencl/source/dll/command_queue_dll.cpp index cff3119119..d80b979fe8 100644 --- a/opencl/source/dll/command_queue_dll.cpp +++ b/opencl/source/dll/command_queue_dll.cpp @@ -17,8 +17,4 @@ bool CommandQueue::isTimestampWaitEnabled() { return true; } -bool CommandQueue::isBlitSplitEnabled() { - return true; -} - } // namespace NEO diff --git a/opencl/test/unit_test/command_queue/command_queue_hw_2_tests.cpp b/opencl/test/unit_test/command_queue/command_queue_hw_2_tests.cpp index bc13e66cda..d7828ffdcd 100644 --- a/opencl/test/unit_test/command_queue/command_queue_hw_2_tests.cpp +++ b/opencl/test/unit_test/command_queue/command_queue_hw_2_tests.cpp @@ -307,8 +307,6 @@ HWTEST_F(IoqCommandQueueHwBlitTest, givenSplitBcsCopyWhenCheckIsSplitEnqueueBlit DebugManagerStateRestore restorer; DebugManager.flags.SplitBcsCopy.set(1); auto *cmdQHw = static_cast *>(this->pCmdQ); - VariableBackup backup{&ultHwConfig}; - ultHwConfig.useBlitSplit = true; { EXPECT_FALSE(cmdQHw->isSplitEnqueueBlitNeeded(TransferDirection::HostToHost, 64 * MemoryConstants::megaByte, *cmdQHw->getBcsCommandStreamReceiver(aub_stream::EngineType::ENGINE_BCS))); EXPECT_FALSE(cmdQHw->isSplitEnqueueBlitNeeded(TransferDirection::LocalToLocal, 64 * MemoryConstants::megaByte, *cmdQHw->getBcsCommandStreamReceiver(aub_stream::EngineType::ENGINE_BCS))); @@ -334,14 +332,6 @@ HWTEST_F(IoqCommandQueueHwBlitTest, givenSplitBcsCopyWhenCheckIsSplitEnqueueBlit EXPECT_FALSE(cmdQHw->isSplitEnqueueBlitNeeded(TransferDirection::LocalToHost, 64 * MemoryConstants::megaByte, *cmdQHw->getBcsCommandStreamReceiver(aub_stream::EngineType::ENGINE_BCS))); EXPECT_FALSE(cmdQHw->isSplitEnqueueBlitNeeded(TransferDirection::HostToLocal, 64 * MemoryConstants::megaByte, *cmdQHw->getBcsCommandStreamReceiver(aub_stream::EngineType::ENGINE_BCS))); } - { - DebugManager.flags.SplitBcsCopy.set(-1); - ultHwConfig.useBlitSplit = false; - EXPECT_FALSE(cmdQHw->isSplitEnqueueBlitNeeded(TransferDirection::HostToHost, 64 * MemoryConstants::megaByte, *cmdQHw->getBcsCommandStreamReceiver(aub_stream::EngineType::ENGINE_BCS))); - EXPECT_FALSE(cmdQHw->isSplitEnqueueBlitNeeded(TransferDirection::LocalToLocal, 64 * MemoryConstants::megaByte, *cmdQHw->getBcsCommandStreamReceiver(aub_stream::EngineType::ENGINE_BCS))); - EXPECT_FALSE(cmdQHw->isSplitEnqueueBlitNeeded(TransferDirection::LocalToHost, 64 * MemoryConstants::megaByte, *cmdQHw->getBcsCommandStreamReceiver(aub_stream::EngineType::ENGINE_BCS))); - EXPECT_FALSE(cmdQHw->isSplitEnqueueBlitNeeded(TransferDirection::HostToLocal, 64 * MemoryConstants::megaByte, *cmdQHw->getBcsCommandStreamReceiver(aub_stream::EngineType::ENGINE_BCS))); - } } char hostPtr[16 * MemoryConstants::megaByte]; diff --git a/opencl/test/unit_test/libult/command_queue_ult.cpp b/opencl/test/unit_test/libult/command_queue_ult.cpp index 78465905ce..fce8c7a921 100644 --- a/opencl/test/unit_test/libult/command_queue_ult.cpp +++ b/opencl/test/unit_test/libult/command_queue_ult.cpp @@ -19,8 +19,4 @@ bool CommandQueue::isTimestampWaitEnabled() { return ultHwConfig.useWaitForTimestamps; } -bool CommandQueue::isBlitSplitEnabled() { - return ultHwConfig.useBlitSplit; -} - } // namespace NEO \ No newline at end of file diff --git a/opencl/test/unit_test/linux/main_linux_dll.cpp b/opencl/test/unit_test/linux/main_linux_dll.cpp index c1f6833fcf..fb5c3fab67 100644 --- a/opencl/test/unit_test/linux/main_linux_dll.cpp +++ b/opencl/test/unit_test/linux/main_linux_dll.cpp @@ -895,10 +895,6 @@ TEST(CommandQueueTest, whenCheckEngineTimestampWaitEnabledThenReturnsTrue) { EXPECT_TRUE(CommandQueue::isTimestampWaitEnabled()); } -TEST(CommandQueueTest, whenCheckBlitSplitEnabledThenReturnsTrue) { - EXPECT_TRUE(CommandQueue::isBlitSplitEnabled()); -} - TEST(PlatformsDestructor, whenGlobalPlatformsDestructorIsCalledThenGlobalPlatformsAreDestroyed) { EXPECT_NE(nullptr, platformsImpl); platformsDestructor(); diff --git a/shared/source/xe_hpc_core/pvc/os_agnostic_hw_info_config_pvc.inl b/shared/source/xe_hpc_core/pvc/os_agnostic_hw_info_config_pvc.inl index abacedff06..bc4ca63eac 100644 --- a/shared/source/xe_hpc_core/pvc/os_agnostic_hw_info_config_pvc.inl +++ b/shared/source/xe_hpc_core/pvc/os_agnostic_hw_info_config_pvc.inl @@ -165,11 +165,6 @@ bool HwInfoConfigHw::isBlitCopyRequiredForLocalMemory(const Hardware return false; } -template <> -bool HwInfoConfigHw::isBlitSplitEnqueueWARequired(const HardwareInfo &hwInfo) const { - return true; -} - template <> bool HwInfoConfigHw::isImplicitScalingSupported(const HardwareInfo &hwInfo) const { return getSteppingFromHwRevId(hwInfo) >= REVISION_B; diff --git a/shared/test/common/base_ult_config_listener.cpp b/shared/test/common/base_ult_config_listener.cpp index 1bce974bb1..ebcb1a1be7 100644 --- a/shared/test/common/base_ult_config_listener.cpp +++ b/shared/test/common/base_ult_config_listener.cpp @@ -36,7 +36,7 @@ void NEO::BaseUltConfigListener::OnTestEnd(const ::testing::TestInfo &) { // Ensure that global state is restored UltHwConfig expectedState{}; - static_assert(sizeof(UltHwConfig) == 13 * sizeof(bool), ""); // Ensure that there is no internal padding + static_assert(sizeof(UltHwConfig) == 12 * sizeof(bool), ""); // Ensure that there is no internal padding EXPECT_EQ(0, memcmp(&expectedState, &ultHwConfig, sizeof(UltHwConfig))); EXPECT_EQ(0, memcmp(&referencedHwInfo.platform, &defaultHwInfo->platform, sizeof(PLATFORM))); diff --git a/shared/test/common/helpers/ult_hw_config.h b/shared/test/common/helpers/ult_hw_config.h index cc69980ab4..d58705fd16 100644 --- a/shared/test/common/helpers/ult_hw_config.h +++ b/shared/test/common/helpers/ult_hw_config.h @@ -13,7 +13,6 @@ struct UltHwConfig { bool useMockedPrepareDeviceEnvironmentsFunc = true; bool forceOsAgnosticMemoryManager = true; bool useWaitForTimestamps = false; - bool useBlitSplit = false; bool csrFailInitDirectSubmission = false; bool csrBaseCallDirectSubmissionAvailable = false; diff --git a/shared/test/unit_test/xe_hpc_core/pvc/CMakeLists.txt b/shared/test/unit_test/xe_hpc_core/pvc/CMakeLists.txt index 9712af2065..13caa60af1 100644 --- a/shared/test/unit_test/xe_hpc_core/pvc/CMakeLists.txt +++ b/shared/test/unit_test/xe_hpc_core/pvc/CMakeLists.txt @@ -10,7 +10,6 @@ if(TESTS_PVC) ${CMAKE_CURRENT_SOURCE_DIR}/device_binary_format_ar_tests_pvc.cpp ${CMAKE_CURRENT_SOURCE_DIR}/device_tests_pvc.cpp ${CMAKE_CURRENT_SOURCE_DIR}/dispatch_walker_tests_pvc.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/excludes_xe_hpc_core_pvc.cpp ${CMAKE_CURRENT_SOURCE_DIR}/hw_info_tests_pvc.cpp ${CMAKE_CURRENT_SOURCE_DIR}/product_config_helper_tests_pvc.cpp ${CMAKE_CURRENT_SOURCE_DIR}/product_config_tests_pvc.cpp diff --git a/shared/test/unit_test/xe_hpc_core/pvc/excludes_xe_hpc_core_pvc.cpp b/shared/test/unit_test/xe_hpc_core/pvc/excludes_xe_hpc_core_pvc.cpp deleted file mode 100644 index 16da2942fe..0000000000 --- a/shared/test/unit_test/xe_hpc_core/pvc/excludes_xe_hpc_core_pvc.cpp +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (C) 2022 Intel Corporation - * - * SPDX-License-Identifier: MIT - * - */ - -#include "shared/test/common/test_macros/hw_test_base.h" - -HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfIsBlitSplitEnqueueWARequiredThenReturnFalse, IGFX_PVC); diff --git a/shared/test/unit_test/xe_hpc_core/pvc/linux/hw_info_config_tests_pvc.cpp b/shared/test/unit_test/xe_hpc_core/pvc/linux/hw_info_config_tests_pvc.cpp index c9b364bb7f..c9b8f865a1 100644 --- a/shared/test/unit_test/xe_hpc_core/pvc/linux/hw_info_config_tests_pvc.cpp +++ b/shared/test/unit_test/xe_hpc_core/pvc/linux/hw_info_config_tests_pvc.cpp @@ -83,11 +83,6 @@ PVCTEST_F(HwInfoConfigTestLinuxPvc, givenOsInterfaceIsNullWhenGetDeviceMemoryPhy EXPECT_EQ(0u, hwInfoConfig->getDeviceMemoryPhysicalSizeInBytes(nullptr, 0)); } -PVCTEST_F(HwInfoConfigTestLinuxPvc, givenHwInfoConfigWhenAskedIsBlitSplitEnqueueWARequiredThenReturnTrue) { - auto hwInfoConfig = HwInfoConfig::get(productFamily); - EXPECT_TRUE(hwInfoConfig->isBlitSplitEnqueueWARequired(pInHwInfo)); -} - PVCTEST_F(HwInfoConfigTestLinuxPvc, givenOsInterfaceIsNullWhenGetDeviceMemoryMaxBandWidthInBytesPerSecondIsCalledThenReturnZero) { auto hwInfoConfig = HwInfoConfig::get(productFamily); auto testHwInfo = *defaultHwInfo;