# Node ID 7c6b7fbc0073f28332c39dbdb1ec116608e66733 # Parent 9b3faddc9c0b3a4fc47be011965af918b23bf695 diff --git a/configs/ruby/GPU_RfO.py b/configs/ruby/GPU_RfO.py --- a/configs/ruby/GPU_RfO.py +++ b/configs/ruby/GPU_RfO.py @@ -349,28 +349,6 @@ self.resourceStalls = options.no_resource_stalls self.replacement_policy = PseudoLRUReplacementPolicy() -class L3Cntrl(L3Cache_Controller, CntrlBase): - def create(self, options, ruby_system, system): - self.version = self.versionCount() - self.L3cache = L3Cache() - self.L3cache.create(options, ruby_system, system) - - self.l3_response_latency = max(self.L3cache.dataAccessLatency, - self.L3cache.tagAccessLatency) - self.ruby_system = ruby_system - - if options.recycle_latency: - self.recycle_latency = options.recycle_latency - - def connectWireBuffers(self, req_to_dir, resp_to_dir, l3_unblock_to_dir, - req_to_l3, probe_to_l3, resp_to_l3): - self.reqToDir = req_to_dir - self.respToDir = resp_to_dir - self.l3UnblockToDir = l3_unblock_to_dir - self.reqToL3 = req_to_l3 - self.probeToL3 = probe_to_l3 - self.respToL3 = resp_to_l3 - class DirMem(RubyDirectoryMemory, CntrlBase): def create(self, options, ruby_system, system): self.version = self.versionCount() @@ -449,13 +427,10 @@ # must be listed before the directory nodes and directory nodes before # dma nodes, etc. # - cp_cntrl_nodes = [] tcp_cntrl_nodes = [] - sqc_cntrl_nodes = [] tcc_cntrl_nodes = [] tccdir_cntrl_nodes = [] dir_cntrl_nodes = [] - l3_cntrl_nodes = [] # # Must create the individual controllers before the network to ensure the diff --git a/configs/ruby/GPU_VIPER.py b/configs/ruby/GPU_VIPER.py --- a/configs/ruby/GPU_VIPER.py +++ b/configs/ruby/GPU_VIPER.py @@ -290,27 +290,6 @@ self.resourceStalls = False self.replacement_policy = PseudoLRUReplacementPolicy() -class L3Cntrl(L3Cache_Controller, CntrlBase): - def create(self, options, ruby_system, system): - self.version = self.versionCount() - self.L3cache = L3Cache() - self.L3cache.create(options, ruby_system, system) - - self.l3_response_latency = max(self.L3cache.dataAccessLatency, self.L3cache.tagAccessLatency) - self.ruby_system = ruby_system - - if options.recycle_latency: - self.recycle_latency = options.recycle_latency - - def connectWireBuffers(self, req_to_dir, resp_to_dir, l3_unblock_to_dir, - req_to_l3, probe_to_l3, resp_to_l3): - self.reqToDir = req_to_dir - self.respToDir = resp_to_dir - self.l3UnblockToDir = l3_unblock_to_dir - self.reqToL3 = req_to_l3 - self.probeToL3 = probe_to_l3 - self.respToL3 = resp_to_l3 - class DirMem(RubyDirectoryMemory, CntrlBase): def create(self, options, ruby_system, system): self.version = self.versionCount() @@ -402,12 +381,9 @@ # must be listed before the directory nodes and directory nodes before # dma nodes, etc. # - cp_cntrl_nodes = [] tcp_cntrl_nodes = [] - sqc_cntrl_nodes = [] tcc_cntrl_nodes = [] dir_cntrl_nodes = [] - l3_cntrl_nodes = [] # # Must create the individual controllers before the network to ensure the diff --git a/configs/ruby/GPU_VIPER_Baseline.py b/configs/ruby/GPU_VIPER_Baseline.py --- a/configs/ruby/GPU_VIPER_Baseline.py +++ b/configs/ruby/GPU_VIPER_Baseline.py @@ -269,26 +269,6 @@ self.start_index_bit = 6 + int(math.log(options.blocks_per_region, 2)) self.replacement_policy = PseudoLRUReplacementPolicy() -class L3Cntrl(L3Cache_Controller, CntrlBase): - def create(self, options, ruby_system, system): - self.version = self.versionCount() - self.L3cache = L3Cache() - self.L3cache.create(options, ruby_system, system) - self.l3_response_latency = \ - max(self.L3cache.dataAccessLatency, self.L3cache.tagAccessLatency) - self.ruby_system = ruby_system - if options.recycle_latency: - self.recycle_latency = options.recycle_latency - - def connectWireBuffers(self, req_to_dir, resp_to_dir, l3_unblock_to_dir, - req_to_l3, probe_to_l3, resp_to_l3): - self.reqToDir = req_to_dir - self.respToDir = resp_to_dir - self.l3UnblockToDir = l3_unblock_to_dir - self.reqToL3 = req_to_l3 - self.probeToL3 = probe_to_l3 - self.respToL3 = resp_to_l3 - class DirMem(RubyDirectoryMemory, CntrlBase): def create(self, options, ruby_system, system): self.version = self.versionCount() @@ -386,12 +366,9 @@ # must be listed before the directory nodes and directory nodes before # dma nodes, etc. # - cp_cntrl_nodes = [] tcp_cntrl_nodes = [] - sqc_cntrl_nodes = [] tcc_cntrl_nodes = [] dir_cntrl_nodes = [] - l3_cntrl_nodes = [] # # Must create the individual controllers before the network to ensure the diff --git a/configs/ruby/GPU_VIPER_Region.py b/configs/ruby/GPU_VIPER_Region.py --- a/configs/ruby/GPU_VIPER_Region.py +++ b/configs/ruby/GPU_VIPER_Region.py @@ -250,26 +250,6 @@ self.resourceStalls = False self.replacement_policy = PseudoLRUReplacementPolicy(assoc = self.assoc) -class L3Cntrl(L3Cache_Controller, CntrlBase): - def create(self, options, ruby_system, system): - self.version = self.versionCount() - self.L3cache = L3Cache() - self.L3cache.create(options, ruby_system, system) - self.l3_response_latency = \ - max(self.L3cache.dataAccessLatency, self.L3cache.tagAccessLatency) - self.ruby_system = ruby_system - if options.recycle_latency: - self.recycle_latency = options.recycle_latency - - def connectWireBuffers(self, req_to_dir, resp_to_dir, l3_unblock_to_dir, - req_to_l3, probe_to_l3, resp_to_l3): - self.reqToDir = req_to_dir - self.respToDir = resp_to_dir - self.l3UnblockToDir = l3_unblock_to_dir - self.reqToL3 = req_to_l3 - self.probeToL3 = probe_to_l3 - self.respToL3 = resp_to_l3 - # Directory memory: Directory memory of infinite size which is # used by directory controller to store the "states" of the # state machine. The state machine is implemented per cache block diff --git a/configs/ruby/MOESI_AMD_Base.py b/configs/ruby/MOESI_AMD_Base.py --- a/configs/ruby/MOESI_AMD_Base.py +++ b/configs/ruby/MOESI_AMD_Base.py @@ -144,28 +144,6 @@ self.resourceStalls = options.no_resource_stalls self.replacement_policy = PseudoLRUReplacementPolicy() -class L3Cntrl(L3Cache_Controller, CntrlBase): - def create(self, options, ruby_system, system): - self.version = self.versionCount() - self.L3cache = L3Cache() - self.L3cache.create(options, ruby_system, system) - - self.l3_response_latency = max(self.L3cache.dataAccessLatency, - self.L3cache.tagAccessLatency) - self.ruby_system = ruby_system - - if options.recycle_latency: - self.recycle_latency = options.recycle_latency - - def connectWireBuffers(self, req_to_dir, resp_to_dir, l3_unblock_to_dir, - req_to_l3, probe_to_l3, resp_to_l3): - self.reqToDir = req_to_dir - self.respToDir = resp_to_dir - self.l3UnblockToDir = l3_unblock_to_dir - self.reqToL3 = req_to_l3 - self.probeToL3 = probe_to_l3 - self.respToL3 = resp_to_l3 - class DirMem(RubyDirectoryMemory, CntrlBase): def create(self, options, ruby_system, system): self.version = self.versionCount() @@ -225,18 +203,6 @@ cpu_sequencers = [] - # - # The ruby network creation expects the list of nodes in the system to - # be consistent with the NetDest list. Therefore the l1 controller - # nodes must be listed before the directory nodes and directory nodes - # before dma nodes, etc. - # - l1_cntrl_nodes = [] - l3_cntrl_nodes = [] - dir_cntrl_nodes = [] - - control_count = 0 - block_size_bits = int(math.log(options.cacheline_size, 2)) dir_num_bits = int(math.log(options.num_dirs, 2))