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
Этот коммит содержится в:
German Andryeyev committed 2020-04-24 14:40:43 -04:00
1 родитель 0bec17a266
Коммит f7f7337bae
6 files changed
+95 -134

No files matched your search

+6 -12
Просмотреть файл
@@ -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;
}
};