kfdtest: Check for Atomic Ops support before running Atomics test

If PCIe Atomics aren't supported, we shouldn't try to run a test that
tests PCIe Atomics. Check for support, and bail early if it's not there

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: Ie9aa0fed3ece07fb83a33e6cacef2961626afab4


[ROCm/ROCR-Runtime commit: f62e9b9821]
This commit is contained in:
Kent Russell
2022-03-28 15:48:09 -04:00
parent d796a6b500
commit 742dcd8c58
@@ -1518,13 +1518,15 @@ unsigned int AtomicIncThread(void* pCtx) {
TEST_F(KFDQMTest, Atomics) {
TEST_START(TESTPROFILE_RUNALL);
/* CI doesn't support Atomics. KV does, but gets its own FAMILY_KV def */
if (m_FamilyId == FAMILY_CI) {
LOG() << "Skipping test: CI doesn't support Atomics." << std::endl;
int defaultGPUNode = m_NodeInfo.HsaDefaultGPUNode();
ASSERT_GE(defaultGPUNode, 0) << "failed to get default GPU Node";
if (!hasPciAtomicsSupport(defaultGPUNode)) {
LOG() << "Skipping test: Node doesn't support Atomics." << std::endl;
return;
}
int defaultGPUNode = m_NodeInfo.HsaDefaultGPUNode();
ASSERT_GE(defaultGPUNode, 0) << "failed to get default GPU Node";
HsaMemoryBuffer isaBuf(PAGE_SIZE, defaultGPUNode, true/*zero*/, false/*local*/, true/*exec*/);
HsaMemoryBuffer destBuf(PAGE_SIZE, defaultGPUNode);