Added memory barrier on test
This commit is contained in:
parent
b0df305daf
commit
1c8d9998af
1 changed files with 12 additions and 0 deletions
|
|
@ -92,11 +92,23 @@ TEST(TestMultipleAlgoExecutions, SingleSequenceRecord)
|
||||||
std::vector<uint32_t> spirv = kp::Shader::compileSource(shader);
|
std::vector<uint32_t> spirv = kp::Shader::compileSource(shader);
|
||||||
|
|
||||||
{
|
{
|
||||||
|
// A sharedMemoryBarrier is required as the shader is not thread-safe:w
|
||||||
|
std::shared_ptr<kp::OpMemoryBarrier> shaderBarrier{
|
||||||
|
new kp::OpMemoryBarrier({ tensorA },
|
||||||
|
vk::AccessFlagBits::eTransferRead,
|
||||||
|
vk::AccessFlagBits::eShaderWrite,
|
||||||
|
vk::PipelineStageFlagBits::eComputeShader,
|
||||||
|
vk::PipelineStageFlagBits::eComputeShader)
|
||||||
|
};
|
||||||
|
|
||||||
mgr.sequence()
|
mgr.sequence()
|
||||||
->record<kp::OpTensorSyncDevice>({ tensorA })
|
->record<kp::OpTensorSyncDevice>({ tensorA })
|
||||||
->record<kp::OpAlgoDispatch>(mgr.algorithm({ tensorA }, spirv))
|
->record<kp::OpAlgoDispatch>(mgr.algorithm({ tensorA }, spirv))
|
||||||
|
->record(shaderBarrier)
|
||||||
->record<kp::OpAlgoDispatch>(mgr.algorithm({ tensorA }, spirv))
|
->record<kp::OpAlgoDispatch>(mgr.algorithm({ tensorA }, spirv))
|
||||||
|
->record(shaderBarrier)
|
||||||
->record<kp::OpAlgoDispatch>(mgr.algorithm({ tensorA }, spirv))
|
->record<kp::OpAlgoDispatch>(mgr.algorithm({ tensorA }, spirv))
|
||||||
|
->record(shaderBarrier)
|
||||||
->record<kp::OpTensorSyncLocal>({ tensorA })
|
->record<kp::OpTensorSyncLocal>({ tensorA })
|
||||||
->eval();
|
->eval();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue