/* * Copyright (C) 2025 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include "shared/source/helpers/topology_map.h" #include #include namespace NEO { struct TopologyBitmap { std::span dssGeometry; std::span dssCompute; std::span l3Banks; std::span eu; // shared by all subslices }; struct TopologyInfo { int sliceCount; int subSliceCount; int euCount; int l3BankCount; }; struct TopologyLimits { int maxSlices; int maxSubSlicesPerSlice; int maxEusPerSubSlice; }; TopologyInfo getTopologyInfo(const TopologyBitmap &topologyBitmap, const TopologyLimits &topologyLimits, TopologyMapping &topologyMapping); TopologyInfo getTopologyInfoMultiTile(const std::span &topologyBitmap, const TopologyLimits &topologyLimits, TopologyMap &topologyMap); } // namespace NEO