Use the context variant of getNullStream

Do not create a new queue to call finish in hipFree if none was
created earlier elsewhere.
Change-Id: I87bb191e6b186ddbe607ab29d11e3ae5bc2ac8e6
This commit is contained in:
Saleel Kudchadker
2020-02-25 00:09:49 -08:00
والد 2203093159
کامیت 631fd65be4
2فایلهای تغییر یافته به همراه6 افزوده شده و 2 حذف شده
+1
مشاهده پرونده
@@ -103,6 +103,7 @@ amd::HostQueue* getNullStream(Device& dev) {
}
return stream->second;
}
amd::HostQueue* getNullStream(amd::Context& ctx) {
for (auto& it : g_nullStreams) {
if (it.first->asContext() == &ctx) {
+5 -2
مشاهده پرونده
@@ -224,8 +224,11 @@ hipError_t hipFree(void* ptr) {
}
if (amd::SvmBuffer::malloced(ptr)) {
hip::syncStreams();
for (size_t i=0; i<g_devices.size(); ++i) {
hip::getNullStream(*g_devices[i])->finish();
for (auto& dev : g_devices) {
amd::HostQueue* queue = hip::getNullStream(*dev->asContext());
if (queue != nullptr) {
queue->finish();
}
}
amd::SvmBuffer::free(*hip::getCurrentDevice()->asContext(), ptr);
HIP_RETURN(hipSuccess);