diff --git a/level_zero/core/source/kernel/kernel_imp.cpp b/level_zero/core/source/kernel/kernel_imp.cpp index 5df718bd63..13ebeabf47 100644 --- a/level_zero/core/source/kernel/kernel_imp.cpp +++ b/level_zero/core/source/kernel/kernel_imp.cpp @@ -974,6 +974,7 @@ void KernelImp::createPrintfBuffer() { } void KernelImp::printPrintfOutput(bool hangDetected) { + std::lock_guard lock(this->printfLock); PrintfHandler::printOutput(kernelImmData, this->printfBuffer, module->getDevice(), hangDetected); } diff --git a/level_zero/core/source/kernel/kernel_imp.h b/level_zero/core/source/kernel/kernel_imp.h index 4c7991b774..96feb27c29 100644 --- a/level_zero/core/source/kernel/kernel_imp.h +++ b/level_zero/core/source/kernel/kernel_imp.h @@ -14,6 +14,7 @@ #include "level_zero/core/source/kernel/kernel.h" #include +#include namespace L0 { @@ -230,6 +231,7 @@ struct KernelImp : Kernel { std::unique_ptr pImplicitArgs; std::unique_ptr pExtension; + std::mutex printfLock; }; } // namespace L0