bool cedeSIMD(int simdId, int wfSlotId);
template<typename c0, typename c1> void doSmReturn(GPUDynInstPtr gpuDynInst);
- virtual void init();
+ virtual void init() override;
void sendRequest(GPUDynInstPtr gpuDynInst, int index, PacketPtr pkt);
void sendSyncRequest(GPUDynInstPtr gpuDynInst, int index, PacketPtr pkt);
void injectGlobalMemFence(GPUDynInstPtr gpuDynInst,
int glbMemInstAvail;
void
- regStats();
+ regStats() override;
LdsState &
getLds() const
~GpuDispatcher() { }
void exec();
- virtual void serialize(CheckpointOut &cp) const;
- virtual void unserialize(CheckpointIn &cp);
+ virtual void serialize(CheckpointOut &cp) const override;
+ virtual void unserialize(CheckpointIn &cp) override;
void notifyWgCompl(Wavefront *w);
void scheduleDispatch();
void accessUserVar(BaseCPU *cpu, uint64_t addr, int val, int off);
Port &getPort(const std::string &if_name,
PortID idx=InvalidPortID) override;
- AddrRangeList getAddrRanges() const;
- Tick read(PacketPtr pkt);
- Tick write(PacketPtr pkt);
+ AddrRangeList getAddrRanges() const override;
+ Tick read(PacketPtr pkt) override;
+ Tick write(PacketPtr pkt) override;
// helper functions to retrieve/set GPU attributes
int getNumCUs();
// the avg. over all pages.
Stats::Scalar avgReuseDistance;
- void regStats();
+ void regStats() override;
void updatePageFootprint(Addr virt_page_addr);
void printAccessPattern();
TlbEntry *insert(Addr vpn, TlbEntry &entry);
// Checkpointing
- virtual void serialize(CheckpointOut& cp) const;
- virtual void unserialize(CheckpointIn& cp);
+ virtual void serialize(CheckpointOut& cp) const override;
+ virtual void unserialize(CheckpointIn& cp) override;
void issueTranslation();
enum tlbOutcome {TLB_HIT, TLB_MISS, PAGE_WALK, MISS_RETURN};
bool tlbLookup(const RequestPtr &req,
bool canCoalesce(PacketPtr pkt1, PacketPtr pkt2);
void updatePhysAddresses(PacketPtr pkt);
- void regStats();
+ void regStats() override;
// Clock related functions. Maps to-and-from
// Simulation ticks and object clocks.