Hello Tony Gutierrez, Alexandru Duțu,
I'd like you to do a code review. Please visit
https://gem5-review.googlesource.com/c/public/gem5/+/29970
to review the following change.
Change subject: gpu-compute: No RF scheduling in case of SKIP or EMPTY
......................................................................
gpu-compute: No RF scheduling in case of SKIP or EMPTY
In case of flat memory instructions the status for the
LM pipe execution unit is set to SKIP or EMPTY, as the bus
between the VRF and the GM and LM pipe is shared. The
destination operands should not be scheduled for the LM pipe,
event if the wave is in the dispatch list. This can lead
to deadlock in the destination cache as DCEs are reused
and the slotsAvailableForBank count gets artificially
incremented.
Change-Id: I2230c53e3bc1032d2cccbe00fab62c99ab8de6cd
---
M src/gpu-compute/schedule_stage.cc
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/gpu-compute/schedule_stage.cc
b/src/gpu-compute/schedule_stage.cc
index 0785aa0..e0600a6 100644
--- a/src/gpu-compute/schedule_stage.cc
+++ b/src/gpu-compute/schedule_stage.cc
@@ -236,9 +236,13 @@
ScheduleStage::scheduleRfDestOperands()
{
for (int j = 0; j < computeUnit.numExeUnits(); ++j) {
- if (!dispatchList->at(j).first) {
+ if (dispatchList->at(j).second == EMPTY ||
+ dispatchList->at(j).second == SKIP) {
continue;
}
+
+ assert(dispatchList->at(j).first);
+
// get the wave on dispatch list and attempt to allocate write
// resources in the RFs
Wavefront *w = dispatchList->at(j).first;
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/29970
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I2230c53e3bc1032d2cccbe00fab62c99ab8de6cd
Gerrit-Change-Number: 29970
Gerrit-PatchSet: 1
Gerrit-Owner: Anthony Gutierrez <[email protected]>
Gerrit-Reviewer: Alexandru Duțu <[email protected]>
Gerrit-Reviewer: Tony Gutierrez <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s