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:
cometido por
Kent Russell
ascendente
480618489e
cometimento
d6fcfcdccf
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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__
|
||||
|
||||
Criar uma nova questão referindo esta
Bloquear um utilizador