From 1c8d9998af85c19ba3c4645065f7473662789ef1 Mon Sep 17 00:00:00 2001 From: Alejandro Saucedo Date: Sun, 28 Mar 2021 09:12:27 +0100 Subject: [PATCH 1/2] Added memory barrier on test --- test/TestMultipleAlgoExecutions.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/TestMultipleAlgoExecutions.cpp b/test/TestMultipleAlgoExecutions.cpp index 932661dd..f826c3fa 100644 --- a/test/TestMultipleAlgoExecutions.cpp +++ b/test/TestMultipleAlgoExecutions.cpp @@ -92,11 +92,23 @@ TEST(TestMultipleAlgoExecutions, SingleSequenceRecord) std::vector spirv = kp::Shader::compileSource(shader); { + // A sharedMemoryBarrier is required as the shader is not thread-safe:w + std::shared_ptr shaderBarrier{ + new kp::OpMemoryBarrier({ tensorA }, + vk::AccessFlagBits::eTransferRead, + vk::AccessFlagBits::eShaderWrite, + vk::PipelineStageFlagBits::eComputeShader, + vk::PipelineStageFlagBits::eComputeShader) + }; + mgr.sequence() ->record({ tensorA }) ->record(mgr.algorithm({ tensorA }, spirv)) + ->record(shaderBarrier) ->record(mgr.algorithm({ tensorA }, spirv)) + ->record(shaderBarrier) ->record(mgr.algorithm({ tensorA }, spirv)) + ->record(shaderBarrier) ->record({ tensorA }) ->eval(); } From 7a27244256de94a0438bb34fa3084104628c5404 Mon Sep 17 00:00:00 2001 From: Alejandro Saucedo Date: Sun, 28 Mar 2021 09:19:22 +0100 Subject: [PATCH 2/2] Removed extra barrier --- test/TestMultipleAlgoExecutions.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/test/TestMultipleAlgoExecutions.cpp b/test/TestMultipleAlgoExecutions.cpp index f826c3fa..df4af2f0 100644 --- a/test/TestMultipleAlgoExecutions.cpp +++ b/test/TestMultipleAlgoExecutions.cpp @@ -108,7 +108,6 @@ TEST(TestMultipleAlgoExecutions, SingleSequenceRecord) ->record(mgr.algorithm({ tensorA }, spirv)) ->record(shaderBarrier) ->record(mgr.algorithm({ tensorA }, spirv)) - ->record(shaderBarrier) ->record({ tensorA }) ->eval(); }