mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 15:53:45 +08:00
refactor: Introduce debug flags to manipulate event's signal visibility
-Add AbortHostSyncOnNonHostVisibleEvent which abort when waiting for non host visible event from host -Add ForceHostSignalScope which forces add or clear of host scope to event's signal scope Related-To: NEO-13441 Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
eca3d5a677
commit
f2725f217e
@@ -54,6 +54,14 @@ Event *Event::create(const EventDescriptor &eventDescriptor, Device *device, ze_
|
||||
event->eventPoolOffset = eventDescriptor.index * event->totalEventSize;
|
||||
event->hostAddressFromPool = ptrOffset(baseHostAddress, event->eventPoolOffset);
|
||||
event->signalScope = eventDescriptor.signalScope;
|
||||
|
||||
if (NEO::debugManager.flags.ForceHostSignalScope.get() == 1) {
|
||||
event->signalScope |= ZE_EVENT_SCOPE_FLAG_HOST;
|
||||
}
|
||||
if (NEO::debugManager.flags.ForceHostSignalScope.get() == 0) {
|
||||
event->signalScope &= ~ZE_EVENT_SCOPE_FLAG_HOST;
|
||||
}
|
||||
|
||||
event->waitScope = eventDescriptor.waitScope;
|
||||
event->csrs.push_back(csr);
|
||||
event->maxKernelCount = eventDescriptor.maxKernelCount;
|
||||
@@ -642,6 +650,10 @@ ze_result_t EventImp<TagSizeT>::hostSynchronize(uint64_t timeout) {
|
||||
|
||||
ze_result_t ret = ZE_RESULT_NOT_READY;
|
||||
|
||||
if (NEO::debugManager.flags.AbortHostSyncOnNonHostVisibleEvent.get()) {
|
||||
UNRECOVERABLE_IF(!this->isSignalScope(ZE_EVENT_SCOPE_FLAG_HOST));
|
||||
}
|
||||
|
||||
if (this->csrs[0]->getType() == NEO::CommandStreamReceiverType::aub) {
|
||||
this->csrs[0]->pollForAubCompletion();
|
||||
return ZE_RESULT_SUCCESS;
|
||||
|
||||
Reference in New Issue
Block a user