From abe2c4104118fd7e6e7be31d89aeae7eaa9c2d7b Mon Sep 17 00:00:00 2001 From: Alejandro Saucedo Date: Sat, 17 Oct 2020 11:57:20 +0100 Subject: [PATCH] Simplified test and shortened run time --- test/TestAsyncOperations.cpp | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/test/TestAsyncOperations.cpp b/test/TestAsyncOperations.cpp index 28dd8c144..ac7422785 100644 --- a/test/TestAsyncOperations.cpp +++ b/test/TestAsyncOperations.cpp @@ -19,8 +19,7 @@ TEST(TestAsyncOperations, TestManagerAsync) layout (local_size_x = 1) in; - layout(set = 0, binding = 0) buffer a { float pa[]; }; - layout(set = 0, binding = 1) buffer b { float pb[]; }; + layout(set = 0, binding = 0) buffer b { float pb[]; }; shared uint sharedTotal[1]; @@ -29,25 +28,12 @@ TEST(TestAsyncOperations, TestManagerAsync) sharedTotal[0] = 0; - barrier(); - memoryBarrierShared(); - for (int i = 0; i < 100000000; i++) { atomicAdd(sharedTotal[0], 1); - atomicAdd(sharedTotal[0], -1); - atomicAdd(sharedTotal[0], 1); - atomicAdd(sharedTotal[0], -1); - atomicAdd(sharedTotal[0], 1); - atomicAdd(sharedTotal[0], -1); - atomicAdd(sharedTotal[0], 1); } - barrier(); - memoryBarrierShared(); - pb[index] = sharedTotal[0]; - pa[index] = 0; } )"); @@ -57,22 +43,19 @@ TEST(TestAsyncOperations, TestManagerAsync) kp::Manager mgr; - std::vector> inputsSyncA; std::vector> inputsSyncB; for (uint32_t i = 0; i < numParallel; i++) { - inputsSyncA.push_back(std::make_shared(kp::Tensor(data))); inputsSyncB.push_back(std::make_shared(kp::Tensor(data))); } - mgr.evalOpDefault(inputsSyncA); mgr.evalOpDefault(inputsSyncB); auto startSync = std::chrono::high_resolution_clock::now(); for (uint32_t i = 0; i < numParallel; i++) { mgr.evalOpDefault>( - { inputsSyncA[i], inputsSyncB[i] }, + { inputsSyncB[i] }, std::vector(shader.begin(), shader.end())); } @@ -89,15 +72,12 @@ TEST(TestAsyncOperations, TestManagerAsync) kp::Manager mgrAsync(0, { 0, 2 }); - std::vector> inputsAsyncA; std::vector> inputsAsyncB; for (uint32_t i = 0; i < numParallel; i++) { - inputsAsyncA.push_back(std::make_shared(kp::Tensor(data))); inputsAsyncB.push_back(std::make_shared(kp::Tensor(data))); } - mgrAsync.evalOpDefault(inputsAsyncA); mgrAsync.evalOpDefault(inputsAsyncB); for (uint32_t i = 0; i < numParallel; i++) { @@ -108,7 +88,7 @@ TEST(TestAsyncOperations, TestManagerAsync) for (uint32_t i = 0; i < numParallel; i++) { mgrAsync.evalOpAsync>( - { inputsAsyncA[i], inputsAsyncB[i] }, + { inputsAsyncB[i] }, "async" + std::to_string(i), std::vector(shader.begin(), shader.end())); }