SWDEV-232918

hipEventRecord is much slower in hipclang/vdi

- Make sure default streams don't sync each other.
- Add null stream into the list of default streams.
- Code clean-up to simplify queue look-up.

Change-Id: I36e1fc8d86a600e3dce806694d95d146ed8afd03


[ROCm/hip commit: f7f7337bae]
This commit is contained in:
German Andryeyev
2020-04-23 16:54:48 -04:00
parent c7a4cfc114
commit 0aea572bff
6 changed files with 95 additions and 134 deletions
+6 -12
View File
@@ -24,20 +24,14 @@
namespace hip {
amd::HostQueue* Device::defaultStream() {
if (defaultStream_ == nullptr) {
const cl_command_queue_properties properties = CL_QUEUE_PROFILING_ENABLE;
defaultStream_ = new amd::HostQueue(*asContext(), *devices()[0], properties,
amd::CommandQueue::RealTimeDisabled,
amd::CommandQueue::Priority::Normal);
if ((defaultStream_ == nullptr) ||
!defaultStream_->create()) {
return nullptr;
}
amd::HostQueue* Device::NullStream() {
amd::HostQueue* null_queue = null_stream_.asHostQueue();
if (null_queue == nullptr) {
return nullptr;
}
// Wait for all active streams before executing commands on the default
iHipWaitActiveStreams(defaultStream_);
return defaultStream_;
iHipWaitActiveStreams(null_queue);
return null_queue;
}
};