refactor: Allow for grouping BCS1+ copy engines in more engine group types

Do not group copy engines from BCS1+ in linked copy group by default.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
This commit is contained in:
Kacper Nowak
2024-01-20 01:39:14 +00:00
committed by Compute-Runtime-Automation
parent f9f9035b95
commit 6cf71cce81
6 changed files with 31 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2021-2023 Intel Corporation
* Copyright (C) 2021-2024 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -206,7 +206,12 @@ HWTEST2_F(CommandQueuePvcAndLaterTests, givenAdditionalBcsWhenCreatingCommandQue
MockClDevice clDevice{device};
MockContext context{&clDevice};
const auto familyIndex = device->getEngineGroupIndexFromEngineGroupType(EngineGroupType::linkedCopy);
const auto &productHelper = device->getExecutionEnvironment()->rootDeviceEnvironments[0]->getProductHelper();
auto engineGroupType = EngineGroupType::linkedCopy;
if (aub_stream::EngineType::ENGINE_BCS != productHelper.getDefaultCopyEngine()) {
engineGroupType = EngineGroupType::copy;
}
const auto familyIndex = device->getEngineGroupIndexFromEngineGroupType(engineGroupType);
cl_command_queue_properties queueProperties[5] = {
CL_QUEUE_FAMILY_INTEL,
familyIndex,
@@ -574,9 +579,14 @@ struct BcsCsrSelectionCommandQueueTests : ::testing::Test {
}
std::unique_ptr<MockCommandQueue> createQueueWithLinkBcsSelectedWithQueueFamilies(size_t linkBcsIndex) {
const auto &productHelper = device->getRootDeviceEnvironment().getProductHelper();
auto engineGroupType = EngineGroupType::linkedCopy;
if (aub_stream::EngineType::ENGINE_BCS != productHelper.getDefaultCopyEngine()) {
engineGroupType = EngineGroupType::copy;
}
cl_command_queue_properties queueProperties[5] = {};
queueProperties[0] = CL_QUEUE_FAMILY_INTEL;
queueProperties[1] = device->getEngineGroupIndexFromEngineGroupType(EngineGroupType::linkedCopy);
queueProperties[1] = device->getEngineGroupIndexFromEngineGroupType(engineGroupType);
queueProperties[2] = CL_QUEUE_INDEX_INTEL;
queueProperties[3] = linkBcsIndex;
auto queue = createQueue(queueProperties);