P4 to Git Change 1552198 by skudchad@skudchad_rocm on 2018/05/08 18:57:32

SWDEV-145570 - [HIP] - Synchronize the legacy default stream with other blocking streams as per the spec.

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/14796/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_context.cpp#11 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_internal.hpp#10 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_stream.cpp#5 edit
This commit is contained in:
foreman
2018-05-08 19:04:35 -04:00
parent 434912d2ca
commit 813c770d73
3 ha cambiato i file con 31 aggiunte e 15 eliminazioni
+8 -3
Vedi File
@@ -24,8 +24,6 @@ THE SOFTWARE.
#include "hip_internal.hpp"
#include "platform/runtime.hpp"
#include "utils/versions.hpp"
#include <stack>
#include <thread>
std::vector<amd::Context*> g_devices;
@@ -35,7 +33,7 @@ thread_local amd::Context* g_context = nullptr;
thread_local std::stack<amd::Context*> g_ctxtStack;
std::once_flag g_ihipInitialized;
std::map<amd::Context*,amd::HostQueue*> g_nullStreams;
std::map<amd::Context*, amd::HostQueue*> g_nullStreams;
void init() {
if (!amd::Runtime::initialized()) {
@@ -66,6 +64,12 @@ void setCurrentContext(unsigned int index) {
g_context = g_devices[index];
}
void syncStreams() {
for (const auto& it : streamSet) {
it->finish();
}
}
amd::HostQueue* getNullStream() {
auto stream = g_nullStreams.find(getCurrentContext());
if (stream == g_nullStreams.end()) {
@@ -76,6 +80,7 @@ amd::HostQueue* getNullStream() {
g_nullStreams[getCurrentContext()] = queue;
return queue;
}
syncStreams();
return stream->second;
}