From e526cc470b7afca1d725a2601f3d91e40e5e43b7 Mon Sep 17 00:00:00 2001 From: Compute-Runtime-Validation Date: Thu, 3 Mar 2022 15:32:46 +0100 Subject: [PATCH] Revert "Add multithread enqueue blit OOQ test" This reverts commit 0919cad8858075b5271abd7a32471205d3bc7e24. Signed-off-by: Compute-Runtime-Validation --- opencl/source/command_queue/enqueue_common.h | 2 +- .../command_queue/ooq_task_tests_mt.cpp | 74 ------------------- 2 files changed, 1 insertion(+), 75 deletions(-) diff --git a/opencl/source/command_queue/enqueue_common.h b/opencl/source/command_queue/enqueue_common.h index 5cca6147ec..016bcded4a 100644 --- a/opencl/source/command_queue/enqueue_common.h +++ b/opencl/source/command_queue/enqueue_common.h @@ -127,6 +127,7 @@ void CommandQueueHw::enqueueHandler(Surface **surfacesForResidency, TagNodeBase *hwTimeStamps = nullptr; CommandStreamReceiver &computeCommandStreamReceiver = getGpgpuCommandStreamReceiver(); + auto commandStreamReceiverOwnership = computeCommandStreamReceiver.obtainUniqueOwnership(); EventBuilder eventBuilder; setupEvent(eventBuilder, event, commandType); @@ -136,7 +137,6 @@ void CommandQueueHw::enqueueHandler(Surface **surfacesForResidency, std::unique_ptr blockedCommandsData; std::unique_ptr printfHandler; TakeOwnershipWrapper> queueOwnership(*this); - auto commandStreamReceiverOwnership = computeCommandStreamReceiver.obtainUniqueOwnership(); auto blockQueue = false; auto taskLevel = 0u; diff --git a/opencl/test/unit_test/mt_tests/command_queue/ooq_task_tests_mt.cpp b/opencl/test/unit_test/mt_tests/command_queue/ooq_task_tests_mt.cpp index d4e34cd2f2..e2e45ff7dc 100644 --- a/opencl/test/unit_test/mt_tests/command_queue/ooq_task_tests_mt.cpp +++ b/opencl/test/unit_test/mt_tests/command_queue/ooq_task_tests_mt.cpp @@ -8,8 +8,6 @@ #include "opencl/test/unit_test/command_queue/enqueue_fixture.h" #include "opencl/test/unit_test/fixtures/hello_world_fixture.h" -#include - using namespace NEO; struct OOQFixtureFactory : public HelloWorldFixtureFactory { @@ -91,76 +89,4 @@ TEST_F(OOQTaskTestsMt, GivenBlockedOnUserEventWhenEnqueingMarkerThenSuccessIsRet retVal = clReleaseEvent(userEvent); EXPECT_EQ(CL_SUCCESS, retVal); -} - -TEST_F(OOQTaskTestsMt, givenBlitterWhenEnqueueCopyAndKernelUsingMultipleThreadsThenSuccessReturned) { - auto hwInfo = *defaultHwInfo; - hwInfo.capabilityTable.blitterOperationsSupported = true; - REQUIRE_FULL_BLITTER_OR_SKIP(&hwInfo); - - DebugManagerStateRestore restorer; - DebugManager.flags.EnableBlitterForEnqueueOperations.set(1); - DebugManager.flags.DoCpuCopyOnReadBuffer.set(0); - DebugManager.flags.DoCpuCopyOnWriteBuffer.set(0); - - constexpr uint32_t numThreads = 32; - std::atomic_uint32_t barrier = numThreads; - std::array, numThreads> threads; - - auto device = MockClDevice::createWithNewExecutionEnvironment(&hwInfo, rootDeviceIndex); - MockClDevice clDevice(device); - auto cmdQ = createCommandQueue(&clDevice, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE); - EXPECT_EQ(cmdQ->taskCount, 0u); - EXPECT_EQ(cmdQ->getGpgpuCommandStreamReceiver().peekTaskCount(), 0u); - EXPECT_EQ(cmdQ->peekBcsTaskCount(aub_stream::EngineType::ENGINE_BCS), 0u); - auto buffer = std::unique_ptr(BufferHelper<>::create()); - - for (auto &thread : threads) { - thread = std::async(std::launch::async, [&]() { - auto alignedReadPtr = alignedMalloc(BufferDefaults::sizeInBytes, MemoryConstants::cacheLineSize); - barrier.fetch_sub(1u); - while (barrier.load() != 0u) { - std::this_thread::yield(); - } - - auto retVal = EnqueueWriteBufferHelper<>::enqueueWriteBuffer(cmdQ, - buffer.get(), - CL_TRUE, - 0, - BufferDefaults::sizeInBytes, - alignedReadPtr, - nullptr, - 0, - nullptr, - nullptr); - EXPECT_EQ(CL_SUCCESS, retVal); - - size_t workSize[] = {64}; - retVal = EnqueueKernelHelper<>::enqueueKernel(cmdQ, KernelFixture::pKernel, 1, nullptr, workSize, workSize, 0, nullptr, nullptr); - EXPECT_EQ(CL_SUCCESS, retVal); - - retVal = EnqueueReadBufferHelper<>::enqueueReadBuffer(cmdQ, - buffer.get(), - CL_TRUE, - 0, - BufferDefaults::sizeInBytes, - alignedReadPtr, - nullptr, - 0, - nullptr, - nullptr); - EXPECT_EQ(CL_SUCCESS, retVal); - - alignedFree(alignedReadPtr); - }); - } - for (auto &thread : threads) { - thread.get(); - } - - EXPECT_NE(cmdQ->taskCount, 0u); - EXPECT_NE(cmdQ->getGpgpuCommandStreamReceiver().peekTaskCount(), 0u); - EXPECT_EQ(cmdQ->peekBcsTaskCount(aub_stream::EngineType::ENGINE_BCS), 2 * numThreads); - - clReleaseCommandQueue(cmdQ); } \ No newline at end of file