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
This commit is contained in:
German Andryeyev
2020-11-06 17:36:49 -05:00
والد 2ee2392f63
کامیت 532f0ae951
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") \