fix: report number of XeLink hops

Also fix one ASAN + LTO failure

Related-To: GSD-7126

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
This commit is contained in:
Wenbin Lu
2024-03-07 23:29:04 +00:00
committed by Compute-Runtime-Automation
parent b44725b371
commit 0ba501f7e0
2 changed files with 55 additions and 44 deletions

View File

@@ -95,12 +95,13 @@ void FabricEdge::createEdgesFromVertices(const std::vector<FabricVertex *> &vert
if (currVertexIndex != vertexBIndex) {
if (toVisitIaf.size() + toVisitMdfi.size() != 0) {
toVisit = toVisitMdfi;
toVisit.insert(toVisit.end(), toVisitMdfi.begin(), toVisitMdfi.end());
toVisit.insert(toVisit.end(), toVisitIaf.begin(), toVisitIaf.end());
} else {
break;
}
} else {
bool hasMdfi = false;
std::string path = "";
ze_fabric_edge_exp_properties_t properties = {};
properties.stype = ZE_STRUCTURE_TYPE_FABRIC_EDGE_EXP_PROPERTIES;
@@ -109,8 +110,8 @@ void FabricEdge::createEdgesFromVertices(const std::vector<FabricVertex *> &vert
memset(properties.model, 0, ZE_MAX_FABRIC_EDGE_MODEL_EXP_SIZE);
properties.bandwidth = std::numeric_limits<uint32_t>::max();
properties.bandwidthUnit = ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC;
properties.latency = std::numeric_limits<uint32_t>::max();
properties.latencyUnit = ZE_LATENCY_UNIT_UNKNOWN;
properties.latency = 0;
properties.latencyUnit = ZE_LATENCY_UNIT_HOP;
properties.duplexity = ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX;
while (true) {
@@ -124,9 +125,15 @@ void FabricEdge::createEdgesFromVertices(const std::vector<FabricVertex *> &vert
}
UNRECOVERABLE_IF(currEdgeProperty == nullptr);
path = std::string(currEdgeProperty->model) + path;
if ((strncmp(currEdgeProperty->model, "XeLink", 7) == 0) &&
(currEdgeProperty->bandwidth < properties.bandwidth)) {
properties.bandwidth = currEdgeProperty->bandwidth;
if (strncmp(currEdgeProperty->model, "XeLink", 7) == 0) {
if (currEdgeProperty->bandwidth < properties.bandwidth) {
properties.bandwidth = currEdgeProperty->bandwidth;
}
properties.latency += currEdgeProperty->latency;
}
if (strncmp(currEdgeProperty->model, "MDFI", 5) == 0) {
hasMdfi = true;
}
currVertexIndex = parentIndex;
@@ -138,6 +145,10 @@ void FabricEdge::createEdgesFromVertices(const std::vector<FabricVertex *> &vert
path = '-' + path;
}
}
if (hasMdfi) {
properties.latency = 0;
properties.latencyUnit = ZE_LATENCY_UNIT_UNKNOWN;
}
indirectEdges.push_back(create(allVertices[vertexAIndex], allVertices[vertexBIndex], properties));
break;
}

View File

@@ -286,7 +286,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenMultipleDevicesAndSubDevicesThenMultiHopE
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 17u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -299,7 +299,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenMultipleDevicesAndSubDevicesThenMultiHopE
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 15u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -312,7 +312,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenMultipleDevicesAndSubDevicesThenMultiHopE
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 15u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -325,7 +325,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenMultipleDevicesAndSubDevicesThenMultiHopE
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 17u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -541,8 +541,8 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_EQ(edgeProperties.latency, 2u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_HOP);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -557,8 +557,8 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_EQ(edgeProperties.latency, 2u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_HOP);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -624,7 +624,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -637,8 +637,8 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_EQ(edgeProperties.latency, 2u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_HOP);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -650,7 +650,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -663,7 +663,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 4u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -676,8 +676,8 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_EQ(edgeProperties.latency, 2u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_HOP);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -689,7 +689,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -702,7 +702,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -715,7 +715,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 4u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -782,8 +782,8 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_EQ(edgeProperties.latency, 2u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_HOP);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -795,7 +795,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -808,7 +808,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -821,8 +821,8 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_EQ(edgeProperties.latency, 2u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_HOP);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -834,7 +834,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 4u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -847,7 +847,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -860,7 +860,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -873,7 +873,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 4u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -966,7 +966,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -979,7 +979,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -992,7 +992,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -1005,7 +1005,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink-XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -1018,7 +1018,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 4u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -1031,8 +1031,8 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_EQ(edgeProperties.latency, 2u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_HOP);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -1044,7 +1044,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "XeLink-XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -1057,7 +1057,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 4u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);
@@ -1070,7 +1070,7 @@ TEST_F(FabricMultiHopEdgeFixture, GivenSubDeviceChainConnectedThroughMDFIAndIAFT
EXPECT_EQ(ZE_RESULT_SUCCESS, L0::zeFabricEdgeGetPropertiesExp(edges[0], &edgeProperties));
EXPECT_EQ(edgeProperties.bandwidth, 3u);
EXPECT_EQ(edgeProperties.bandwidthUnit, ZE_BANDWIDTH_UNIT_BYTES_PER_NANOSEC);
EXPECT_EQ(edgeProperties.latency, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(edgeProperties.latency, 0u);
EXPECT_EQ(edgeProperties.latencyUnit, ZE_LATENCY_UNIT_UNKNOWN);
EXPECT_STREQ(edgeProperties.model, "MDFI-XeLink-MDFI");
EXPECT_EQ(edgeProperties.duplexity, ZE_FABRIC_EDGE_EXP_DUPLEXITY_FULL_DUPLEX);