diff options
author | Tushar Krishna <tushar@ece.gatech.edu> | 2016-10-06 14:35:16 -0400 |
---|---|---|
committer | Tushar Krishna <tushar@ece.gatech.edu> | 2016-10-06 14:35:16 -0400 |
commit | 0f68b50ff11a957a9c8d31b592c75e659f8a1023 (patch) | |
tree | eba783cfce7f7922b359740721050ebda504357a /configs/example | |
parent | aca869bf2dba8cc7a7b06be223b84fa0376a59e9 (diff) | |
download | gem5-0f68b50ff11a957a9c8d31b592c75e659f8a1023.tar.xz |
ruby: rename networktest to garnet_synthetic_traffic.
networktest is essentially a collection of synthetic traffic patterns
for the network. The protocol name and the tester having the same name
led to multiple python configuration files with the same name, adding
confusion. This patch renames networktest to garnet_synthetic_traffic,
and also adds more synthetic traffic patterns.
Diffstat (limited to 'configs/example')
-rw-r--r-- | configs/example/garnet_synth_traffic.py (renamed from configs/example/ruby_network_test.py) | 52 |
1 files changed, 32 insertions, 20 deletions
diff --git a/configs/example/ruby_network_test.py b/configs/example/garnet_synth_traffic.py index f0e075055..a4c44efbc 100644 --- a/configs/example/ruby_network_test.py +++ b/configs/example/garnet_synth_traffic.py @@ -1,5 +1,4 @@ -# Copyright (c) 2006-2007 The Regents of The University of Michigan -# Copyright (c) 2010 Advanced Micro Devices, Inc. +# Copyright (c) 2016 Georgia Institute of Technology # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -25,8 +24,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# Authors: Ron Dreslinski -# Tushar Krishna +# Author: Tushar Krishna import m5 from m5.objects import * @@ -48,9 +46,10 @@ m5_root = os.path.dirname(config_root) parser = optparse.OptionParser() Options.addCommonOptions(parser) -parser.add_option("--synthetic", type="int", default=0, - help="Synthetic Traffic type. 0 = Uniform Random,\ - 1 = Tornado, 2 = Bit Complement") +parser.add_option("--synthetic", type="choice", default="uniform_random", + choices=['uniform_random', 'tornado', 'bit_complement', \ + 'bit_reverse', 'bit_rotation', 'neighbor', \ + 'shuffle', 'transpose']) parser.add_option("-i", "--injectionrate", type="float", default=0.1, metavar="I", @@ -65,12 +64,22 @@ parser.add_option("--precision", type="int", default=3, parser.add_option("--sim-cycles", type="int", default=1000, help="Number of simulation cycles") -parser.add_option("--fixed-pkts", action="store_true", - help="Network_test: inject --maxpackets and stop") +parser.add_option("--num-packets-max", type="int", default=-1, + help="Stop injecting after --num-packets-max.\ + Set to -1 to disable.") -parser.add_option("--maxpackets", type="int", default=1, - help="Stop injecting after --maxpackets. \ - Works only with --fixed-pkts") +parser.add_option("--single-sender-id", type="int", default=-1, + help="Only inject from this sender.\ + Set to -1 to disable.") + +parser.add_option("--single-dest-id", type="int", default=-1, + help="Only send to this destination.\ + Set to -1 to disable.") + +parser.add_option("--inj-vnet", type="int", default=-1, + help="Only inject in this vnet (0, 1 or 2).\ + 0 and 1 are 1-flit, 2 is 5-flit.\ + Set to -1 to inject randomly in all vnets.") # # Add the ruby specific and protocol specific options @@ -85,21 +94,24 @@ if args: print "Error: script doesn't take any positional arguments" sys.exit(1) -block_size = 64 -if options.num_cpus > block_size: - print "Error: Number of cores %d limited to %d because of false sharing" \ - % (options.num_cpus, block_size) - sys.exit(1) +if options.inj_vnet > 2: + print "Error: Injection vnet %d should be 0 (1-flit), 1 (1-flit) \ + or 2 (5-flit) or -1 (random)"\ + % (options.inj_vnet) + sys.exit(1) -cpus = [ NetworkTest(fixed_pkts=options.fixed_pkts, - max_packets=options.maxpackets, +cpus = [ GarnetSyntheticTraffic( + num_packets_max=options.num_packets_max, + single_sender=options.single_sender_id, + single_dest=options.single_dest_id, sim_cycles=options.sim_cycles, traffic_type=options.synthetic, inj_rate=options.injectionrate, + inj_vnet=options.inj_vnet, precision=options.precision, - num_memories=options.num_dirs) \ + num_dest=options.num_dirs) \ for i in xrange(options.num_cpus) ] # create the desired simulated system |