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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Fai riferimento in un nuovo problema
Block a user