feature: Experimental support of immediate cmd list in-order execution [5/n]

Related-To: LOCI-4332

- Signal non-timestamp Walkers with in-order CL value
- Event host synchronization based on CL signal value

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2023-05-08 15:28:53 +00:00
committed by Compute-Runtime-Automation
parent 01c20212c3
commit feff1c35cc
11 changed files with 124 additions and 12 deletions

View File

@@ -52,6 +52,8 @@ struct EncodeDispatchKernelArgs {
std::list<void *> *additionalCommands = nullptr;
PreemptionMode preemptionMode = PreemptionMode::Initial;
uint32_t partitionCount = 0u;
uint32_t postSyncImmValue = 0;
bool inOrderExecEnabled = false;
bool isIndirect = false;
bool isPredicate = false;
bool isTimestampEvent = false;

View File

@@ -279,9 +279,8 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
if (args.isTimestampEvent) {
postSync.setOperation(POSTSYNC_DATA::OPERATION_WRITE_TIMESTAMP);
} else {
uint32_t stateSignaled = 0u;
postSync.setOperation(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA);
postSync.setImmediateData(stateSignaled);
postSync.setImmediateData(args.postSyncImmValue);
}
UNRECOVERABLE_IF(!(isAligned<TimestampDestinationAddressAlignment>(args.eventAddress)));
postSync.setDestinationAddress(args.eventAddress);