Add direct dispatch simple hack for testing

The hack dosn't really track the commands status. It may be not
necessary for HIP, but will cause early resource release.

Change-Id: I791ad36dd8abd3b6b3d2c9b16a210a555c08ca64


[ROCm/clr commit: 532f0ae951]
Этот коммит содержится в:
German Andryeyev
2020-11-06 17:36:49 -05:00
родитель f4c4323f8e
Коммит a7adace36e
2 изменённых файлов: 18 добавлений и 2 удалений
+16 -2
Просмотреть файл
@@ -258,8 +258,22 @@ void Command::enqueue() {
}
ClPrint(LOG_DEBUG, LOG_CMD, "command is enqueued: %p", this);
queue_->append(*this);
queue_->flush();
if (AMD_DIRECT_DISPATCH) {
if (type() == CL_COMMAND_MARKER || type() == 0) {
setStatus(CL_SUBMITTED);
queue_->vdev()->flush();
retain();
setStatus(CL_COMPLETE);
} else {
setStatus(CL_SUBMITTED);
submit(*queue_->vdev());
retain();
setStatus(CL_COMPLETE);
}
} else {
queue_->append(*this);
queue_->flush();
}
if ((queue_->device().settings().waitCommand_ && (type_ != 0)) ||
((commandWaitBits_ & 0x2) != 0)) {
awaitCompletion();
+2
Просмотреть файл
@@ -231,6 +231,8 @@ release(uint, HIP_HOST_COHERENT, 0, \
release(uint, AMD_OPT_FLUSH, 1, \
"Kernel flush option , 0x0 = Use system-scope fence operations." \
"0x1 = Use device-scope fence operations when possible.") \
release(bool, AMD_DIRECT_DISPATCH, false, \
"Enable direct kernel dispatch.") \
release(uint, HIP_HIDDEN_FREE_MEM, 0, \
"Reserve free mem reporting in Mb" \
"0 = Disable") \