diff --git a/projects/rocr-runtime/libhsakmt/tests/kfdtest/src/KFDSVMEvictTest.cpp b/projects/rocr-runtime/libhsakmt/tests/kfdtest/src/KFDSVMEvictTest.cpp index 63c667f070..dc115e5697 100644 --- a/projects/rocr-runtime/libhsakmt/tests/kfdtest/src/KFDSVMEvictTest.cpp +++ b/projects/rocr-runtime/libhsakmt/tests/kfdtest/src/KFDSVMEvictTest.cpp @@ -31,7 +31,7 @@ #include "SDMAQueue.hpp" #include "Dispatch.hpp" -#define N_PROCESSES (4) /* number of processes running in parallel, at least 2 */ +#define N_PROCESSES (2) /* number of processes running in parallel, at least 2 */ #define ALLOCATE_BUF_SIZE_MB (64) #define ALLOCATE_RETRY_TIMES (3) #define MAX_WAVEFRONTS (512) @@ -320,6 +320,14 @@ TEST_P(KFDSVMEvictTest, QueueTest) { return; } + uint32_t cu_num = pNodeProperties->NumFComputeCores / pNodeProperties->NumSIMDPerCU; + uint32_t wave_num = MIN(cu_num * 40, + (pNodeProperties->NumShaderBanks / pNodeProperties->NumArrays) * 512); + if (wave_num < count * N_PROCESSES) { + LOG() << std::hex << "Test is skipped, wave_num " << wave_num << " not enough" << std::endl; + return; + } + HSAuint32 i; HSAuint64 vramSize = GetVramSize(defaultGPUNode);