@@ -87,6 +87,65 @@ struct TestDPPLSyclQueueInterface : public ::testing::Test
8787 { }
8888};
8989
90+ TEST_F (TestDPPLSyclQueueInterface, CheckAreEq)
91+ {
92+ auto Q1 = DPPLQueueMgr_GetCurrentQueue ();
93+ auto Q2 = DPPLQueueMgr_GetCurrentQueue ();
94+ EXPECT_TRUE (DPPLQueue_AreEq (Q1, Q2));
95+
96+ auto nOclGPU = DPPLQueueMgr_GetNumQueues (DPPLSyclBEType::DPPL_OPENCL,
97+ DPPLSyclDeviceType::DPPL_GPU);
98+ auto nOclCPU = DPPLQueueMgr_GetNumQueues (DPPLSyclBEType::DPPL_OPENCL,
99+ DPPLSyclDeviceType::DPPL_CPU);
100+ {
101+ if (!nOclGPU)
102+ GTEST_SKIP_ (" No OpenCL GPUs available.\n " );
103+
104+ auto Def_Q = DPPLQueueMgr_SetAsDefaultQueue (
105+ DPPLSyclBEType::DPPL_OPENCL,
106+ DPPLSyclDeviceType::DPPL_GPU,
107+ 0
108+ );
109+ auto OclGPU_Q0 = DPPLQueueMgr_PushQueue (
110+ DPPLSyclBEType::DPPL_OPENCL,
111+ DPPLSyclDeviceType::DPPL_GPU,
112+ 0
113+ );
114+ auto OclGPU_Q1 = DPPLQueueMgr_PushQueue (
115+ DPPLSyclBEType::DPPL_OPENCL,
116+ DPPLSyclDeviceType::DPPL_GPU,
117+ 0
118+ );
119+ EXPECT_TRUE (DPPLQueue_AreEq (Def_Q, OclGPU_Q0));
120+ EXPECT_TRUE (DPPLQueue_AreEq (Def_Q, OclGPU_Q1));
121+ EXPECT_TRUE (DPPLQueue_AreEq (OclGPU_Q0, OclGPU_Q1));
122+ DPPLQueue_Delete (Def_Q);
123+ DPPLQueue_Delete (OclGPU_Q0);
124+ DPPLQueue_Delete (OclGPU_Q1);
125+ DPPLQueueMgr_PopQueue ();
126+ DPPLQueueMgr_PopQueue ();
127+ }
128+
129+ {
130+ if (!nOclGPU || !nOclCPU)
131+ GTEST_SKIP_ (" OpenCL GPUs and CPU not available.\n " );
132+ auto GPU_Q = DPPLQueueMgr_PushQueue (
133+ DPPLSyclBEType::DPPL_OPENCL,
134+ DPPLSyclDeviceType::DPPL_GPU,
135+ 0
136+ );
137+ auto CPU_Q = DPPLQueueMgr_PushQueue (
138+ DPPLSyclBEType::DPPL_OPENCL,
139+ DPPLSyclDeviceType::DPPL_CPU,
140+ 0
141+ );
142+ EXPECT_FALSE (DPPLQueue_AreEq (GPU_Q, CPU_Q));
143+ DPPLQueueMgr_PopQueue ();
144+ DPPLQueueMgr_PopQueue ();
145+ }
146+
147+ }
148+
90149TEST_F (TestDPPLSyclQueueInterface, CheckGetBackend)
91150{
92151 auto Q1 = DPPLQueueMgr_GetCurrentQueue ();
@@ -101,16 +160,19 @@ TEST_F (TestDPPLSyclQueueInterface, CheckGetBackend)
101160 auto Q = DPPLQueueMgr_PushQueue (DPPL_OPENCL, DPPL_GPU, 0 );
102161 EXPECT_TRUE (DPPLQueue_GetBackend (Q) == DPPL_OPENCL);
103162 DPPLQueue_Delete (Q);
163+ DPPLQueueMgr_PopQueue ();
104164 }
105165 if (DPPLQueueMgr_GetNumQueues (DPPL_OPENCL, DPPL_CPU)) {
106166 auto Q = DPPLQueueMgr_PushQueue (DPPL_OPENCL, DPPL_CPU, 0 );
107167 EXPECT_TRUE (DPPLQueue_GetBackend (Q) == DPPL_OPENCL);
108168 DPPLQueue_Delete (Q);
169+ DPPLQueueMgr_PopQueue ();
109170 }
110171 if (DPPLQueueMgr_GetNumQueues (DPPL_LEVEL_ZERO, DPPL_GPU)) {
111172 auto Q = DPPLQueueMgr_PushQueue (DPPL_LEVEL_ZERO, DPPL_GPU, 0 );
112173 EXPECT_TRUE (DPPLQueue_GetBackend (Q) == DPPL_LEVEL_ZERO);
113174 DPPLQueue_Delete (Q);
175+ DPPLQueueMgr_PopQueue ();
114176 }
115177}
116178
@@ -128,20 +190,23 @@ TEST_F (TestDPPLSyclQueueInterface, CheckGetContext)
128190 ASSERT_TRUE (OclGpuCtx != nullptr );
129191 DPPLQueue_Delete (Q);
130192 DPPLContext_Delete (OclGpuCtx);
193+ DPPLQueueMgr_PopQueue ();
131194 }
132195 if (DPPLQueueMgr_GetNumQueues (DPPL_OPENCL, DPPL_CPU)) {
133196 auto Q = DPPLQueueMgr_PushQueue (DPPL_OPENCL, DPPL_CPU, 0 );
134197 auto OclCpuCtx = DPPLQueue_GetContext (Q);
135198 ASSERT_TRUE (OclCpuCtx != nullptr );
136199 DPPLQueue_Delete (Q);
137200 DPPLContext_Delete (OclCpuCtx);
201+ DPPLQueueMgr_PopQueue ();
138202 }
139203 if (DPPLQueueMgr_GetNumQueues (DPPL_LEVEL_ZERO, DPPL_GPU)) {
140204 auto Q = DPPLQueueMgr_PushQueue (DPPL_LEVEL_ZERO, DPPL_GPU, 0 );
141205 auto L0Ctx = DPPLQueue_GetContext (Q);
142206 ASSERT_TRUE (Ctx != nullptr );
143207 DPPLQueue_Delete (Q);
144208 DPPLContext_Delete (L0Ctx);
209+ DPPLQueueMgr_PopQueue ();
145210 }
146211}
147212
@@ -160,6 +225,7 @@ TEST_F (TestDPPLSyclQueueInterface, CheckGetDevice)
160225 EXPECT_TRUE (DPPLDevice_IsGPU (OCLGPU_D));
161226 DPPLQueue_Delete (Q);
162227 DPPLDevice_Delete (OCLGPU_D);
228+ DPPLQueueMgr_PopQueue ();
163229 }
164230 if (DPPLQueueMgr_GetNumQueues (DPPL_OPENCL, DPPL_CPU)) {
165231 auto Q = DPPLQueueMgr_PushQueue (DPPL_OPENCL, DPPL_CPU, 0 );
@@ -168,6 +234,7 @@ TEST_F (TestDPPLSyclQueueInterface, CheckGetDevice)
168234 EXPECT_TRUE (DPPLDevice_IsCPU (OCLCPU_D));
169235 DPPLQueue_Delete (Q);
170236 DPPLDevice_Delete (OCLCPU_D);
237+ DPPLQueueMgr_PopQueue ();
171238 }
172239 if (DPPLQueueMgr_GetNumQueues (DPPL_LEVEL_ZERO, DPPL_GPU)) {
173240 auto Q = DPPLQueueMgr_PushQueue (DPPL_LEVEL_ZERO, DPPL_GPU, 0 );
@@ -176,6 +243,7 @@ TEST_F (TestDPPLSyclQueueInterface, CheckGetDevice)
176243 EXPECT_TRUE (DPPLDevice_IsGPU (L0GPU_D));
177244 DPPLQueue_Delete (Q);
178245 DPPLDevice_Delete (L0GPU_D);
246+ DPPLQueueMgr_PopQueue ();
179247 }
180248}
181249
0 commit comments