SWDEV-480209 - Handle GraphExec object release

=> GraphExec instance is destroyed before async launch completes,
destroy after all pending graph launches
=> Remove GraphExec destroy during next sync point(hipStreamSync,
hipDeviceSync etc..)

Change-Id: I4df682aae5787fd6e5240a7be936ce50361345d0
Этот коммит содержится в:
Anusha GodavarthySurya
2024-10-01 12:00:46 +00:00
коммит произвёл Anusha Godavarthy Surya
родитель 05d6f75830
Коммит f9f995c6d0
7 изменённых файлов: 46 добавлений и 74 удалений
-7
Просмотреть файл
@@ -82,7 +82,6 @@ void Stream::Destroy(hip::Stream* stream) {
// ================================================================================================
bool Stream::terminate() {
HostQueue::terminate();
ReleaseGraphExec(this);
return true;
}
// ================================================================================================
@@ -368,12 +367,6 @@ hipError_t hipStreamSynchronize_common(hipStream_t stream) {
}
// Wait for the current host queue
hip_stream->finish(wait_for_cpu);
if (stream == nullptr) {
// null stream will sync with other streams.
ReleaseGraphExec(hip_stream->DeviceId());
} else {
ReleaseGraphExec(hip_stream);
}
// Release freed memory for all memory pools on the device
hip_stream->GetDevice()->ReleaseFreedMemory();
return hipSuccess;