Bradford Beckmann has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/32862 )
Change subject: mem-ruby: remove gmTokenPort from GPUCoalescer
......................................................................
mem-ruby: remove gmTokenPort from GPUCoalescer
Change-Id: Ie774d1619ea2a69908c04564826c3bee858a5dda
---
M src/mem/ruby/system/GPUCoalescer.cc
M src/mem/ruby/system/GPUCoalescer.hh
2 files changed, 2 insertions(+), 45 deletions(-)
diff --git a/src/mem/ruby/system/GPUCoalescer.cc
b/src/mem/ruby/system/GPUCoalescer.cc
index bf6d7db..f1b0db7 100644
--- a/src/mem/ruby/system/GPUCoalescer.cc
+++ b/src/mem/ruby/system/GPUCoalescer.cc
@@ -102,7 +102,7 @@
if (iter->second.empty()) {
DPRINTF(GPUCoalescer, "Returning token seqNum %d\n",
iter->first);
instMap.erase(iter++);
- coalescer->getGMTokenPort().sendTokens(1);
+ coalescer->slave_ports[0]->sendTokens(1);
} else {
++iter;
}
@@ -161,8 +161,7 @@
issueEvent([this]{ completeIssue(); }, "Issue coalesced request",
false, Event::Progress_Event_Pri),
uncoalescedTable(this),
- deadlockCheckEvent([this]{ wakeup(); }, "GPUCoalescer deadlock
check"),
- gmTokenPort(name() + ".gmTokenPort", this)
+ deadlockCheckEvent([this]{ wakeup(); }, "GPUCoalescer deadlock
check")
{
m_store_waiting_on_load_cycles = 0;
m_store_waiting_on_store_cycles = 0;
@@ -194,17 +193,6 @@
{
}
-Port &
-GPUCoalescer::getPort(const std::string &if_name, PortID idx)
-{
- if (if_name == "gmTokenPort") {
- return gmTokenPort;
- }
-
- // delgate to RubyPort otherwise
- return RubyPort::getPort(if_name, idx);
-}
-
void
GPUCoalescer::wakeup()
{
diff --git a/src/mem/ruby/system/GPUCoalescer.hh
b/src/mem/ruby/system/GPUCoalescer.hh
index ca53c7f..882a131 100644
--- a/src/mem/ruby/system/GPUCoalescer.hh
+++ b/src/mem/ruby/system/GPUCoalescer.hh
@@ -49,7 +49,6 @@
#include "mem/ruby/protocol/RubyRequestType.hh"
#include "mem/ruby/protocol/SequencerRequestType.hh"
#include "mem/ruby/system/Sequencer.hh"
-#include "mem/token_port.hh"
class DataBlock;
class CacheMsg;
@@ -239,33 +238,10 @@
class GPUCoalescer : public RubyPort
{
public:
- class GMTokenPort : public TokenSlavePort
- {
- public:
- GMTokenPort(const std::string& name, ClockedObject *owner,
- PortID id = InvalidPortID)
- : TokenSlavePort(name, owner, id)
- { }
- ~GMTokenPort() { }
-
- protected:
- Tick recvAtomic(PacketPtr) { return Tick(0); }
- void recvFunctional(PacketPtr) { }
- bool recvTimingReq(PacketPtr) { return false; }
- AddrRangeList getAddrRanges() const
- {
- AddrRangeList ranges;
- return ranges;
- }
- };
-
typedef RubyGPUCoalescerParams Params;
GPUCoalescer(const Params *);
~GPUCoalescer();
- Port &getPort(const std::string &if_name,
- PortID idx = InvalidPortID) override;
-
// Public Methods
void wakeup(); // Used only for deadlock detection
void printRequestTable(std::stringstream& ss);
@@ -362,8 +338,6 @@
void insertKernel(int wavefront_id, PacketPtr pkt);
- GMTokenPort& getGMTokenPort() { return gmTokenPort; }
-
Stats::Histogram& getOutstandReqHist() { return m_outstandReqHist; }
Stats::Histogram& getLatencyHist() { return m_latencyHist; }
@@ -542,11 +516,6 @@
// Stats::Average avgTccToTcp;
private:
- // Token port is used to send/receive tokens to/from GPU's global
memory
- // pipeline across the port boundary. There is one per <wave size> data
- // ports in the CU.
- GMTokenPort gmTokenPort;
-
// Private copy constructor and assignment operator
GPUCoalescer(const GPUCoalescer& obj);
GPUCoalescer& operator=(const GPUCoalescer& obj);
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/32862
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: Ie774d1619ea2a69908c04564826c3bee858a5dda
Gerrit-Change-Number: 32862
Gerrit-PatchSet: 1
Gerrit-Owner: Bradford Beckmann <[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