P4 to Git Change 1071782 by gandryey@gera-dev-w7 on 2014/08/29 16:43:04

ECR #304775 - Combine BUSY and DONE processing in the scheduler

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#27 edit
This commit is contained in:
foreman
2014-08-29 16:48:31 -04:00
rodzic 6f7a3b20f8
commit 87e6a3fa02
+8 -10
Wyświetl plik
@@ -166,7 +166,6 @@ const uint ResumeExecution = 0x80000000; // 0x81000000
const uint StallExecution = 0x00000000; // 0x01000000
const uint WavefrontSize = 64;
const uint MaxWaveSize = 0x400;
const uint CL_DONE = 0xffff;
static inline void
dispatch(
@@ -465,15 +464,17 @@ scheduler(
(__global AmdEvent*)queue->event_slots);
}
}
else if (slotState == AQL_WRAP_DONE) {
// Was CL_EVENT requested?
if (event != 0) {
// If state isn't DONE yet
if (event->state != CL_DONE) {
else if ((slotState == AQL_WRAP_BUSY) ||
(slotState == AQL_WRAP_DONE)) {
if (slotState == AQL_WRAP_BUSY) {
disp->state = AQL_WRAP_DONE;
if (event != 0) {
event->timer[PROFILING_COMMAND_END] =
(__hsail_get_clock() * (ulong)param->eng_clk) >> 10;
event->state = CL_DONE;
}
}
// Was CL_EVENT requested?
if (event != 0) {
// The current dispatch doesn't have any outstanding children
if (disp->child_counter == 0) {
event->timer[PROFILING_COMMAND_COMPLETE] =
@@ -500,9 +501,6 @@ scheduler(
release_slot(amask, idx);
}
}
else if (slotState == AQL_WRAP_BUSY) {
disp->state = AQL_WRAP_DONE;
}
}
barrier(CLK_GLOBAL_MEM_FENCE);