diff options
Diffstat (limited to 'offload/plugins-nextgen/amdgpu/src/rtl.cpp')
-rw-r--r-- | offload/plugins-nextgen/amdgpu/src/rtl.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/offload/plugins-nextgen/amdgpu/src/rtl.cpp b/offload/plugins-nextgen/amdgpu/src/rtl.cpp index d440054..f8db9bf 100644 --- a/offload/plugins-nextgen/amdgpu/src/rtl.cpp +++ b/offload/plugins-nextgen/amdgpu/src/rtl.cpp @@ -1665,6 +1665,11 @@ Error AMDGPUStreamTy::waitEvent(const AMDGPUEventTy &Event) { Error AMDGPUStreamTy::synchronizeOn(AMDGPUEventTy &Event) { std::lock_guard<std::mutex> Lock(Mutex); + // If this event was for an older sync cycle, it has already been finalized + if (Event.RecordedSyncCycle < SyncCycle) + return Plugin::success(); + assert(Event.RecordedSyncCycle == SyncCycle && "event is from the future?"); + // Wait until the requested slot has completed if (auto Err = Slots[Event.RecordedSlot].Signal->wait( StreamBusyWaitMicroseconds, &Device)) |