# Node ID 3d953d4d168015eca6ab4f8787d1a469e940a095 # Parent aab6481923b492c5cdd27fda5036f76969d75a99 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 @@ -170,6 +170,10 @@ self.coalescer.max_outstanding_requests = options.simds_per_cu * \ options.wfs_per_simd * \ options.wf_size + if options.tcp_deadlock_threshold: + self.coalescer.deadlock_threshold = \ + options.tcp_deadlock_threshold + self.sequencer = RubySequencer() self.sequencer.version = self.seqCount() @@ -242,6 +246,10 @@ self.sequencer.support_data_reqs = False self.sequencer.is_cpu_sequencer = False + if options.sqc_deadlock_threshold: + self.sequencer.deadlock_threshold = \ + options.sqc_deadlock_threshold + self.ruby_system = ruby_system if options.recycle_latency: @@ -428,6 +436,8 @@ help="number of TCC directories and banks in the GPU") parser.add_option("--TCP_latency", type="int", default=4, help="TCP latency") + parser.add_option("--tcp-deadlock-threshold", type='int', + help="Set the TCP deadlock threshold to some value") parser.add_option("--TCC_latency", type="int", default=16, help="TCC latency") parser.add_option("--tcc-size", type='string', default='256kB', @@ -436,6 +446,8 @@ help="tcp size") parser.add_option("--tcc-dir-factor", type='int', default=4, help="TCCdir size = factor *(TCPs + TCC)") + parser.add_option("--sqc-deadlock-threshold", type='int', + help="Set the SQC deadlock threshold to some value") def create_system(options, full_system, system, dma_devices, ruby_system): if buildEnv['PROTOCOL'] != 'GPU_RfO': 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 @@ -154,6 +154,9 @@ self.coalescer.ruby_system = ruby_system self.coalescer.support_inst_reqs = False self.coalescer.is_cpu_sequencer = False + if options.tcp_deadlock_threshold: + self.coalescer.deadlock_threshold = \ + options.tcp_deadlock_threshold self.sequencer = RubySequencer() self.sequencer.version = self.seqCount() @@ -228,6 +231,9 @@ self.sequencer.ruby_system = ruby_system self.sequencer.support_data_reqs = False self.sequencer.is_cpu_sequencer = False + if options.sqc_deadlock_threshold: + self.sequencer.deadlock_threshold = \ + options.sqc_deadlock_threshold self.ruby_system = ruby_system @@ -371,6 +377,9 @@ help = "SQC cache size") parser.add_option("--sqc-assoc", type = 'int', default = 8, help = "SQC cache assoc") + parser.add_option("--sqc-deadlock-threshold", type='int', + help="Set the SQC deadlock threshold to some value") + parser.add_option("--WB_L1", action = "store_true", default = False, help = "writeback L1") parser.add_option("--WB_L2", action = "store_true", default = False, @@ -387,6 +396,9 @@ help = "tcp size") parser.add_option("--tcp-assoc", type = 'int', default = 16, help = "tcp assoc") + parser.add_option("--tcp-deadlock-threshold", type='int', + help="Set the TCP deadlock threshold to some value") + parser.add_option("--noL1", action = "store_true", default = False, help = "bypassL1") 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 @@ -154,6 +154,9 @@ self.coalescer.ruby_system = ruby_system self.coalescer.support_inst_reqs = False self.coalescer.is_cpu_sequencer = False + if options.tcp_deadlock_threshold: + self.coalescer.deadlock_threshold = \ + options.tcp_deadlock_threshold self.sequencer = RubySequencer() self.sequencer.version = self.seqCount() @@ -193,6 +196,10 @@ self.sequencer.ruby_system = ruby_system self.sequencer.support_data_reqs = False self.sequencer.is_cpu_sequencer = False + if options.sqc_deadlock_threshold: + self.sequencer.deadlock_threshold = \ + options.sqc_deadlock_threshold + self.ruby_system = ruby_system if options.recycle_latency: self.recycle_latency = options.recycle_latency @@ -344,6 +351,9 @@ help = "SQC cache size") parser.add_option("--sqc-assoc", type = 'int', default = 8, help = "SQC cache assoc") + parser.add_option("--sqc-deadlock-threshold", type='int', + help="Set the SQC deadlock threshold to some value") + parser.add_option("--region-dir-entries", type = "int", default = 8192) parser.add_option("--dir-tag-latency", type = "int", default = 8) parser.add_option("--dir-tag-banks", type = "int", default = 4) @@ -365,6 +375,9 @@ help = "tcc assoc") parser.add_option("--tcp-size", type = 'string', default = '16kB', help = "tcp size") + parser.add_option("--tcp-deadlock-threshold", type='int', + help="Set the TCP deadlock threshold to some value") + parser.add_option("--sampler-sets", type = "int", default = 1024) parser.add_option("--sampler-assoc", type = "int", default = 16) parser.add_option("--sampler-counter", type = "int", default = 512) 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 @@ -155,6 +155,9 @@ self.coalescer.ruby_system = ruby_system self.coalescer.support_inst_reqs = False self.coalescer.is_cpu_sequencer = False + if options.tcp_deadlock_threshold: + self.coalescer.deadlock_threshold = \ + options.tcp_deadlock_threshold self.sequencer = RubySequencer() self.sequencer.version = self.seqCount() @@ -194,6 +197,10 @@ self.sequencer.ruby_system = ruby_system self.sequencer.support_data_reqs = False self.sequencer.is_cpu_sequencer = False + if options.sqc_deadlock_threshold: + self.sequencer.deadlock_threshold = \ + options.sqc_deadlock_threshold + self.ruby_system = ruby_system if options.recycle_latency: self.recycle_latency = options.recycle_latency @@ -406,6 +413,8 @@ help="SQC cache size") parser.add_option("--sqc-assoc", type='int', default=8, help="SQC cache assoc") + parser.add_option("--sqc-deadlock-threshold", type='int', + help="Set the SQC deadlock threshold to some value") parser.add_option("--WB_L1", action="store_true", default=False, help="L2 Writeback Cache") @@ -421,6 +430,8 @@ help="tcc assoc") parser.add_option("--tcp-size", type='string', default='16kB', help="tcp size") + parser.add_option("--tcp-deadlock-threshold", type='int', + help="Set the TCP deadlock threshold to some value") parser.add_option("--dir-tag-latency", type="int", default=4) parser.add_option("--dir-tag-banks", type="int", default=4)