GPUCoalescer.hh (11689:9d19bb965564) GPUCoalescer.hh (11900:0787df49546b)
1/*
2 * Copyright (c) 2013-2015 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

--- 35 unchanged lines hidden (view full) ---

44#include "mem/protocol/HSASegment.hh"
45#include "mem/protocol/PrefetchBit.hh"
46#include "mem/protocol/RubyAccessMode.hh"
47#include "mem/protocol/RubyRequestType.hh"
48#include "mem/protocol/SequencerRequestType.hh"
49#include "mem/request.hh"
50#include "mem/ruby/common/Address.hh"
51#include "mem/ruby/common/Consumer.hh"
1/*
2 * Copyright (c) 2013-2015 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

--- 35 unchanged lines hidden (view full) ---

44#include "mem/protocol/HSASegment.hh"
45#include "mem/protocol/PrefetchBit.hh"
46#include "mem/protocol/RubyAccessMode.hh"
47#include "mem/protocol/RubyRequestType.hh"
48#include "mem/protocol/SequencerRequestType.hh"
49#include "mem/request.hh"
50#include "mem/ruby/common/Address.hh"
51#include "mem/ruby/common/Consumer.hh"
52#include "mem/ruby/system/RubyPort.hh"
52#include "mem/ruby/system/Sequencer.hh"
53
54class DataBlock;
55class CacheMsg;
56class MachineID;
57class CacheMemory;
58
59class RubyGPUCoalescerParams;
60

--- 189 unchanged lines hidden (view full) ---

250
251
252 RequestStatus getRequestStatus(PacketPtr pkt,
253 RubyRequestType request_type);
254 bool insertRequest(PacketPtr pkt, RubyRequestType request_type);
255
256 bool handleLlsc(Addr address, GPUCoalescerRequest* request);
257
53
54class DataBlock;
55class CacheMsg;
56class MachineID;
57class CacheMemory;
58
59class RubyGPUCoalescerParams;
60

--- 189 unchanged lines hidden (view full) ---

250
251
252 RequestStatus getRequestStatus(PacketPtr pkt,
253 RubyRequestType request_type);
254 bool insertRequest(PacketPtr pkt, RubyRequestType request_type);
255
256 bool handleLlsc(Addr address, GPUCoalescerRequest* request);
257
258 // Private copy constructor and assignment operator
259 GPUCoalescer(const GPUCoalescer& obj);
260 GPUCoalescer& operator=(const GPUCoalescer& obj);
261
262 class IssueEvent : public Event
263 {
264 private:
265 GPUCoalescer *seq;
266 public:
267 IssueEvent(GPUCoalescer *_seq);
268 void process();
269 const char *description() const;

--- 95 unchanged lines hidden (view full) ---

365 std::vector<Stats::Histogram *> m_missMachLatencyHist;
366 std::vector< std::vector<Stats::Histogram *> > m_missTypeMachLatencyHist;
367
368 //! Histograms for recording the breakdown of miss latency
369 std::vector<Stats::Histogram *> m_IssueToInitialDelayHist;
370 std::vector<Stats::Histogram *> m_InitialToForwardDelayHist;
371 std::vector<Stats::Histogram *> m_ForwardToFirstResponseDelayHist;
372 std::vector<Stats::Histogram *> m_FirstResponseToCompletionDelayHist;
258 class IssueEvent : public Event
259 {
260 private:
261 GPUCoalescer *seq;
262 public:
263 IssueEvent(GPUCoalescer *_seq);
264 void process();
265 const char *description() const;

--- 95 unchanged lines hidden (view full) ---

361 std::vector<Stats::Histogram *> m_missMachLatencyHist;
362 std::vector< std::vector<Stats::Histogram *> > m_missTypeMachLatencyHist;
363
364 //! Histograms for recording the breakdown of miss latency
365 std::vector<Stats::Histogram *> m_IssueToInitialDelayHist;
366 std::vector<Stats::Histogram *> m_InitialToForwardDelayHist;
367 std::vector<Stats::Histogram *> m_ForwardToFirstResponseDelayHist;
368 std::vector<Stats::Histogram *> m_FirstResponseToCompletionDelayHist;
369
370private:
371 // Private copy constructor and assignment operator
372 GPUCoalescer(const GPUCoalescer& obj);
373 GPUCoalescer& operator=(const GPUCoalescer& obj);
373};
374
375inline std::ostream&
376operator<<(std::ostream& out, const GPUCoalescer& obj)
377{
378 obj.print(out);
379 out << std::flush;
380 return out;
381}
382
383#endif // __MEM_RUBY_SYSTEM_GPU_COALESCER_HH__
384
374};
375
376inline std::ostream&
377operator<<(std::ostream& out, const GPUCoalescer& obj)
378{
379 obj.print(out);
380 out << std::flush;
381 return out;
382}
383
384#endif // __MEM_RUBY_SYSTEM_GPU_COALESCER_HH__
385