2
0

kfdtest: add function to determine XGMI link to cpu

Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Change-Id: I7650f7857f0eecd2ad587634ae11c1cf5116bd97


[ROCm/ROCR-Runtime commit: 198b5bd450]
Este cometimento está contido em:
Eric Huang
2020-08-27 17:17:43 -04:00
cometido por Kent Russell
ascendente 480618489e
cometimento d6fcfcdccf
2 ficheiros modificados com 28 adições e 0 eliminações
+23
Ver ficheiro
@@ -663,3 +663,26 @@ int HsaNodeInfo::FindAccessiblePeers(std::vector<HSAuint32> *peers, HSAuint32 ds
return peers->size();
}
const bool HsaNodeInfo::IsNodeXGMItoCPU(int node) const {
const HsaNodeProperties *pNodeProperties;
bool ret = false;
pNodeProperties = GetNodeProperties(node);
if (pNodeProperties && pNodeProperties->NumIOLinks) {
HsaIoLinkProperties *IolinkProperties = new HsaIoLinkProperties[pNodeProperties->NumIOLinks];
EXPECT_SUCCESS(hsaKmtGetNodeIoLinkProperties(node, pNodeProperties->NumIOLinks, IolinkProperties));
for (int linkId = 0; linkId < pNodeProperties->NumIOLinks; linkId++) {
EXPECT_EQ(node, IolinkProperties[linkId].NodeFrom);
const HsaNodeProperties *pNodeProperties0 =
GetNodeProperties(IolinkProperties[linkId].NodeTo);
if (pNodeProperties0->NumFComputeCores == 0 &&
IolinkProperties[linkId].IoLinkType == HSA_IOLINK_TYPE_XGMI)
ret = true;
}
delete [] IolinkProperties;
}
return ret;
}
+5
Ver ficheiro
@@ -196,6 +196,11 @@ class HsaNodeInfo {
const bool AreGPUNodesXGMI(int node0, int node1) const;
int FindAccessiblePeers(std::vector<HSAuint32> *peers, HSAuint32 dstNode,
bool bidirectional) const;
/* @brief: to determine if the node is XGMI-linked to CPU
* @param: node index of the node we are looking at
* @return: bool true or false
*/
const bool IsNodeXGMItoCPU(int node) const;
};
#endif // __KFD__TEST__UTIL__H__