# Node ID 5103da28c1da89765d87baa966d6961d6e6d7a0b # Parent 7c6b7fbc0073f28332c39dbdb1ec116608e66733 diff --git a/configs/ruby/CntrlBase.py b/configs/ruby/CntrlBase.py --- a/configs/ruby/CntrlBase.py +++ b/configs/ruby/CntrlBase.py @@ -46,3 +46,9 @@ def versionCount(cls): cls._version += 1 # Use count for this particular type return cls._version - 1 + + @classmethod + def resetBase(cls): + cls._version = 0 + cls._cntrls = 0 + cls._seqs = 0 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 @@ -40,30 +40,10 @@ from Ruby import create_topology from Ruby import send_evicts +from CntrlBase import * from Cluster import Cluster from Crossbar import Crossbar -class CntrlBase: - _seqs = 0 - @classmethod - def seqCount(cls): - # Use SeqCount not class since we need global count - CntrlBase._seqs += 1 - return CntrlBase._seqs - 1 - - _cntrls = 0 - @classmethod - def cntrlCount(cls): - # Use CntlCount not class since we need global count - CntrlBase._cntrls += 1 - return CntrlBase._cntrls - 1 - - _version = 0 - @classmethod - def versionCount(cls): - cls._version += 1 # Use count for this particular type - return cls._version - 1 - class TccDirCache(RubyCache): size = "512kB" assoc = 16 @@ -746,4 +726,12 @@ ruby_system.network.number_of_virtual_networks = 10 + CPCntrl.resetBase() + TCPCntrl.resetBase() + SQCCntrl.resetBase() + TCCCntrl.resetBase() + TCCDirCntrl.resetBase() + DirMem.resetBase() + DirCntrl.resetBase() + return (cpu_sequencers, dir_cntrl_nodes, mainCluster) 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 @@ -40,30 +40,10 @@ from Ruby import create_topology from Ruby import send_evicts +from CntrlBase import * from Cluster import Cluster from Crossbar import Crossbar -class CntrlBase: - _seqs = 0 - @classmethod - def seqCount(cls): - # Use SeqCount not class since we need global count - CntrlBase._seqs += 1 - return CntrlBase._seqs - 1 - - _cntrls = 0 - @classmethod - def cntrlCount(cls): - # Use CntlCount not class since we need global count - CntrlBase._cntrls += 1 - return CntrlBase._cntrls - 1 - - _version = 0 - @classmethod - def versionCount(cls): - cls._version += 1 # Use count for this particular type - return cls._version - 1 - class L1Cache(RubyCache): resourceStalls = False dataArrayBanks = 2 @@ -659,4 +639,11 @@ ruby_system.network.number_of_virtual_networks = 10 + CPCntrl.resetBase() + TCPCntrl.resetBase() + SQCCntrl.resetBase() + TCCCntrl.resetBase() + DirMem.resetBase() + DirCntrl.resetBase() + return (cpu_sequencers, dir_cntrl_nodes, mainCluster) 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 @@ -40,30 +40,10 @@ from Ruby import create_topology from Ruby import send_evicts +from CntrlBase import * from Cluster import Cluster from Crossbar import Crossbar -class CntrlBase: - _seqs = 0 - @classmethod - def seqCount(cls): - # Use SeqCount not class since we need global count - CntrlBase._seqs += 1 - return CntrlBase._seqs - 1 - - _cntrls = 0 - @classmethod - def cntrlCount(cls): - # Use CntlCount not class since we need global count - CntrlBase._cntrls += 1 - return CntrlBase._cntrls - 1 - - _version = 0 - @classmethod - def versionCount(cls): - cls._version += 1 # Use count for this particular type - return cls._version - 1 - class L1Cache(RubyCache): resourceStalls = False dataArrayBanks = 2 @@ -571,4 +551,11 @@ ruby_system.network.number_of_virtual_networks = 10 + CPCntrl.resetBase() + TCPCntrl.resetBase() + SQCCntrl.resetBase() + TCCCntrl.resetBase() + DirMem.resetBase() + DirCntrl.resetBase() + return (cpu_sequencers, dir_cntrl_nodes, mainCluster) 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 @@ -39,29 +39,9 @@ from m5.defines import buildEnv from Ruby import send_evicts +from CntrlBase import * from Cluster import Cluster -class CntrlBase: - _seqs = 0 - @classmethod - def seqCount(cls): - # Use SeqCount not class since we need global count - CntrlBase._seqs += 1 - return CntrlBase._seqs - 1 - - _cntrls = 0 - @classmethod - def cntrlCount(cls): - # Use CntlCount not class since we need global count - CntrlBase._cntrls += 1 - return CntrlBase._cntrls - 1 - - _version = 0 - @classmethod - def versionCount(cls): - cls._version += 1 # Use count for this particular type - return cls._version - 1 - # # Note: the L1 Cache latency is only used by the sequencer on fast path hits # @@ -756,4 +736,13 @@ ruby_system.network.number_of_virtual_networks = 10 + CPCntrl.resetBase() + TCPCntrl.resetBase() + SQCCntrl.resetBase() + TCCCntrl.resetBase() + DirMem.resetBase() + DirCntrl.resetBase() + RegionCntrl.resetBase() + RBCntrl.resetBase() + return (cpu_sequencers, dir_cntrl_nodes, mainCluster) 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 @@ -40,30 +40,10 @@ from Ruby import create_topology from Ruby import send_evicts +from CntrlBase import * from Cluster import Cluster from Crossbar import Crossbar -class CntrlBase: - _seqs = 0 - @classmethod - def seqCount(cls): - # Use SeqCount not class since we need global count - CntrlBase._seqs += 1 - return CntrlBase._seqs - 1 - - _cntrls = 0 - @classmethod - def cntrlCount(cls): - # Use CntlCount not class since we need global count - CntrlBase._cntrls += 1 - return CntrlBase._cntrls - 1 - - _version = 0 - @classmethod - def versionCount(cls): - cls._version += 1 # Use count for this particular type - return cls._version - 1 - class L1DCache(RubyCache): resourceStalls = False def create(self, options):