feature: gpu assert implementation

- allocate assert buffer when kernel has assert
- track assert kernels in cmdlists and cmdqueues
- check and print assert at sync calls: cmdqueue synchronize(), fence
synchronize(), event hostSynchronize(), synchronous imm cmdlists
append()

Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2023-03-13 14:14:35 +00:00
committed by Compute-Runtime-Automation
parent f57ff2913c
commit 0204761add
27 changed files with 665 additions and 13 deletions

View File

@@ -110,8 +110,11 @@ struct KernelDescriptor {
bool hasRTCalls : 1;
bool isInvalid : 1;
bool hasSample : 1;
// 3
bool usesAssert : 1;
bool reserved : 7;
};
std::array<bool, 3> packed;
std::array<bool, 4> packed;
} flags = {};
static_assert(sizeof(KernelAttributes::flags) == sizeof(KernelAttributes::flags.packed), "");
@@ -164,6 +167,7 @@ struct KernelDescriptor {
ArgDescPointer systemThreadSurfaceAddress;
ArgDescPointer syncBufferAddress;
ArgDescPointer rtDispatchGlobals;
ArgDescPointer assertBufferAddress;
CrossThreadDataOffset privateMemorySize = undefined<CrossThreadDataOffset>;
CrossThreadDataOffset maxWorkGroupSize = undefined<CrossThreadDataOffset>;
CrossThreadDataOffset simdSize = undefined<CrossThreadDataOffset>;