feature: initial support for multitile bcs split

Related-To: NEO-14557

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski
2025-06-30 11:14:04 +00:00
committed by Compute-Runtime-Automation
parent c62c7334c9
commit 78c6751be1
16 changed files with 171 additions and 51 deletions

View File

@@ -6,6 +6,7 @@
*/
#pragma once
#include "shared/source/sku_info/sku_info_base.h"
#include "shared/source/utilities/stackvec.h"
#include <cstdint>
@@ -140,5 +141,14 @@ static constexpr uint32_t notUsed = std::numeric_limits<uint32_t>::max();
namespace TypeTraits {
template <typename T>
constexpr bool isPodV = std::is_standard_layout_v<T> && std::is_trivial_v<T> && std::is_trivially_copyable_v<T>;
}
} // namespace TypeTraits
struct BcsSplitSettings {
BcsInfoMask allEngines = {};
BcsInfoMask h2dEngines = {};
BcsInfoMask d2hEngines = {};
uint32_t minRequiredTotalCsrCount = 0;
uint32_t requiredTileCount = 0;
bool enabled = false;
};
} // namespace NEO

View File

@@ -172,6 +172,9 @@ uint32_t getBcsIndex(aub_stream::EngineType engineType) {
}
aub_stream::EngineType getBcsEngineAtIdx(uint32_t idx) {
if (idx == 0) {
return aub_stream::ENGINE_BCS;
}
return static_cast<aub_stream::EngineType>((idx - 1) + aub_stream::ENGINE_BCS1);
}