mem-ruby,gpu-compute: Allow memory reqs without inst
The GPUDynInst for sending memory requests through the CUs data port is required but only used for DPRINTFs. Relax this constraint so that the methods can be reused for requests such as probes generated by the GPU device. Change-Id: I16094e400968225596370b684d6471580888d98a
This commit is contained in:
@@ -1701,16 +1701,20 @@ ComputeUnit::DataPort::processMemReqEvent(PacketPtr pkt)
|
||||
} else if (!(sendTimingReq(pkt))) {
|
||||
retries.push_back(std::make_pair(pkt, gpuDynInst));
|
||||
|
||||
DPRINTF(GPUPort,
|
||||
"CU%d: WF[%d][%d]: index %d, addr %#x data req failed!\n",
|
||||
compute_unit->cu_id, gpuDynInst->simdId, gpuDynInst->wfSlotId,
|
||||
id, pkt->req->getPaddr());
|
||||
if (gpuDynInst) {
|
||||
DPRINTF(GPUPort,
|
||||
"CU%d: WF[%d][%d]: index %d, addr %#x data req failed!\n",
|
||||
compute_unit->cu_id, gpuDynInst->simdId,
|
||||
gpuDynInst->wfSlotId, id, pkt->req->getPaddr());
|
||||
}
|
||||
} else {
|
||||
DPRINTF(GPUPort,
|
||||
"CU%d: WF[%d][%d]: gpuDynInst: %d, index %d, addr %#x data "
|
||||
"req sent!\n", compute_unit->cu_id, gpuDynInst->simdId,
|
||||
gpuDynInst->wfSlotId, gpuDynInst->seqNum(), id,
|
||||
pkt->req->getPaddr());
|
||||
if (gpuDynInst) {
|
||||
DPRINTF(GPUPort,
|
||||
"CU%d: WF[%d][%d]: gpuDynInst: %d, index %d, addr %#x data"
|
||||
" req sent!\n", compute_unit->cu_id, gpuDynInst->simdId,
|
||||
gpuDynInst->wfSlotId, gpuDynInst->seqNum(), id,
|
||||
pkt->req->getPaddr());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user