config: Switch from the print statement to the print function.
authorGabe Black <gabeblack@google.com>
Tue, 6 Mar 2018 06:51:34 +0000 (22:51 -0800)
committerGabe Black <gabeblack@google.com>
Tue, 6 Mar 2018 23:39:43 +0000 (23:39 +0000)
Change-Id: I701fa58cfcfa2767ce9ad24da314a053889878d0
Reviewed-on: https://gem5-review.googlesource.com/8762
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Gabe Black <gabeblack@google.com>

39 files changed:
configs/common/Benchmarks.py
configs/common/CacheConfig.py
configs/common/CpuConfig.py
configs/common/FSConfig.py
configs/common/GPUTLBConfig.py
configs/common/MemConfig.py
configs/common/PlatformConfig.py
configs/common/Simulation.py
configs/common/cores/arm/HPI.py
configs/common/cpu2000.py
configs/dram/lat_mem_rd.py
configs/dram/low_power_sweep.py
configs/dram/sweep.py
configs/example/apu_se.py
configs/example/arm/fs_bigLITTLE.py
configs/example/arm/fs_power.py
configs/example/arm/starter_fs.py
configs/example/arm/starter_se.py
configs/example/etrace_replay.py
configs/example/fs.py
configs/example/garnet_synth_traffic.py
configs/example/hmctest.py
configs/example/memcheck.py
configs/example/memtest.py
configs/example/read_config.py
configs/example/ruby_direct_test.py
configs/example/ruby_gpu_random_test.py
configs/example/ruby_mem_test.py
configs/example/ruby_random_test.py
configs/example/se.py
configs/learning_gem5/part1/simple.py
configs/learning_gem5/part1/two_level.py
configs/learning_gem5/part2/hello_goodbye.py
configs/learning_gem5/part2/run_simple.py
configs/learning_gem5/part2/simple_cache.py
configs/learning_gem5/part2/simple_memobj.py
configs/ruby/Ruby.py
configs/splash2/cluster.py
configs/splash2/run.py

index dec1e3e84059a29bffa4a1351772c493db5e0b1d..b7d10b563411e3543f25912454b313641d647619 100644 (file)
@@ -26,6 +26,8 @@
 #
 # Authors: Ali Saidi
 
+from __future__ import print_function
+
 from SysPaths import script, disk, binary
 from os import environ as env
 from m5.defines import buildEnv
@@ -63,8 +65,8 @@ class SysConfig:
         elif buildEnv['TARGET_ISA'] == 'sparc':
             return env.get('LINUX_IMAGE', disk('disk.s10hw2'))
         else:
-            print "Don't know what default disk image to use for %s ISA" % \
-                buildEnv['TARGET_ISA']
+            print("Don't know what default disk image to use for %s ISA" %
+                buildEnv['TARGET_ISA'])
             exit(1)
 
     def rootdev(self):
index a0a18a3aadceec4bd9bd59c0f83642358894a09f..3fa3676b08dbf1f6a9f10a9395f4b6b833f97f3a 100644 (file)
 # Configure the M5 cache hierarchy config in one place
 #
 
+from __future__ import print_function
+
 import m5
 from m5.objects import *
 from Caches import *
 
 def config_cache(options, system):
     if options.external_memory_system and (options.caches or options.l2cache):
-        print "External caches and internal caches are exclusive options.\n"
+        print("External caches and internal caches are exclusive options.\n")
         sys.exit(1)
 
     if options.external_memory_system:
@@ -57,7 +59,7 @@ def config_cache(options, system):
         try:
             from cores.arm.O3_ARM_v7a import *
         except:
-            print "O3_ARM_v7a_3 is unavailable. Did you compile the O3 model?"
+            print("O3_ARM_v7a_3 is unavailable. Did you compile the O3 model?")
             sys.exit(1)
 
         dcache_class, icache_class, l2_cache_class, walk_cache_class = \
index 327c4318d75578a18d959b569493f3061cc8e4d7..3f193ae605cff63e280db6622daaeb00155cf31b 100644 (file)
@@ -35,6 +35,8 @@
 #
 # Authors: Andreas Sandberg
 
+from __future__ import print_function
+
 from m5 import fatal
 import m5.objects
 import inspect
@@ -64,23 +66,23 @@ def get(name):
         cpu_class = _cpu_classes[name]
         return cpu_class
     except KeyError:
-        print "%s is not a valid CPU model." % (name,)
+        print("%s is not a valid CPU model." % (name,))
         sys.exit(1)
 
 def print_cpu_list():
     """Print a list of available CPU classes including their aliases."""
 
-    print "Available CPU classes:"
+    print("Available CPU classes:")
     doc_wrapper = TextWrapper(initial_indent="\t\t", subsequent_indent="\t\t")
     for name, cls in _cpu_classes.items():
-        print "\t%s" % name
+        print("\t%s" % name)
 
         # Try to extract the class documentation from the class help
         # string.
         doc = inspect.getdoc(cls)
         if doc:
             for line in doc_wrapper.wrap(doc):
-                print line
+                print(line)
 
 def cpu_names():
     """Return a list of valid CPU names."""
index fc8765b6c873a091a969e8120e0a7f4a8b976d47..42cfafed4f4cc5f3c0c9b28e36f82ab07c346917 100644 (file)
@@ -39,6 +39,8 @@
 #
 # Authors: Kevin Lim
 
+from __future__ import print_function
+
 from m5.objects import *
 from Benchmarks import *
 from m5.util import *
@@ -259,7 +261,8 @@ def makeArmSystem(mem_mode, machine_type, num_cpus=1, mdesc=None,
 
     if isinstance(self.realview, VExpress_EMM64):
         if os.path.split(mdesc.disk())[-1] == 'linux-aarch32-ael.img':
-            print "Selected 64-bit ARM architecture, updating default disk image..."
+            print("Selected 64-bit ARM architecture, updating default "
+                  "disk image...")
             mdesc.diskname = 'linaro-minimal-aarch64.img'
 
 
index b7ea6dcf109e540b61afcfcd928f7b44577f6fe4..00746ce31fe5a8891a100e23f6e25fa14b170acf 100644 (file)
@@ -33,6 +33,8 @@
 #  Author: Lisa Hsu
 #
 
+from __future__ import print_function
+
 # Configure the TLB hierarchy
 # Places which would probably need to be modified if you
 # want a different hierarchy are specified by a <Modify here .. >'
@@ -88,7 +90,7 @@ def config_tlb_hierarchy(options, system, shader_idx):
     elif options.TLB_config == "2CU":
         num_TLBs = n_cu >> 1
     else:
-        print "Bad option for TLB Configuration."
+        print("Bad option for TLB Configuration.")
         sys.exit(1)
 
     #----------------------------------------------------------------------------------------
index 475bbeb3267f7df748ffa21d0b01359fb726fe12..36035800f75ea36a206335c050782c8873fa0ce8 100644 (file)
@@ -36,6 +36,8 @@
 # Authors: Andreas Sandberg
 #          Andreas Hansson
 
+from __future__ import print_function
+
 import m5.objects
 import inspect
 import sys
@@ -64,23 +66,23 @@ def get(name):
         mem_class = _mem_classes[name]
         return mem_class
     except KeyError:
-        print "%s is not a valid memory controller." % (name,)
+        print("%s is not a valid memory controller." % (name,))
         sys.exit(1)
 
 def print_mem_list():
     """Print a list of available memory classes."""
 
-    print "Available memory classes:"
+    print("Available memory classes:")
     doc_wrapper = TextWrapper(initial_indent="\t\t", subsequent_indent="\t\t")
     for name, cls in _mem_classes.items():
-        print "\t%s" % name
+        print("\t%s" % name)
 
         # Try to extract the class documentation from the class help
         # string.
         doc = inspect.getdoc(cls)
         if doc:
             for line in doc_wrapper.wrap(doc):
-                print line
+                print(line)
 
 def mem_names():
     """Return a list of valid memory names."""
@@ -223,8 +225,8 @@ def config_mem(options, system):
 
             if opt_elastic_trace_en:
                 mem_ctrl.latency = '1ns'
-                print "For elastic trace, over-riding Simple Memory " \
-                    "latency to 1ns."
+                print("For elastic trace, over-riding Simple Memory "
+                    "latency to 1ns.")
 
             mem_ctrls.append(mem_ctrl)
 
index e2589c058ea851e65c931ba873bd81f65d318c59..34325f315cfd903c63b98d620a52162b5a08e03e 100644 (file)
@@ -38,6 +38,8 @@
 # Authors: Andreas Sandberg
 #          Pierre-Yves Peneau
 
+from __future__ import print_function
+
 import m5.objects
 import inspect
 import sys
@@ -83,22 +85,22 @@ def get(name):
 def print_platform_list():
     """Print a list of available Platform classes including their aliases."""
 
-    print "Available Platform classes:"
+    print("Available Platform classes:")
     doc_wrapper = TextWrapper(initial_indent="\t\t", subsequent_indent="\t\t")
     for name, cls in _platform_classes.items():
-        print "\t%s" % name
+        print("\t%s" % name)
 
         # Try to extract the class documentation from the class help
         # string.
         doc = inspect.getdoc(cls)
         if doc:
             for line in doc_wrapper.wrap(doc):
-                print line
+                print(line)
 
     if _platform_aliases:
-        print "\Platform aliases:"
+        print("\Platform aliases:")
         for alias, target in _platform_aliases.items():
-            print "\t%s => %s" % (alias, target)
+            print("\t%s => %s" % (alias, target))
 
 def platform_names():
     """Return a list of valid Platform names."""
index 7c949b972c451ce60c5b2609a54c761d83e00234..6df90cb6c9affc054128d08cc8a85a0bbc13072c 100644 (file)
@@ -39,6 +39,8 @@
 #
 # Authors: Lisa Hsu
 
+from __future__ import print_function
+
 import sys
 from os import getcwd
 from os.path import join as joinpath
@@ -170,7 +172,7 @@ def findCptDir(options, cptdir, testsys):
             weight_inst = float(match.group(3))
             interval_length = int(match.group(4))
             warmup_length = int(match.group(5))
-        print "Resuming from", checkpoint_dir
+        print("Resuming from", checkpoint_dir)
         simpoint_start_insts = []
         simpoint_start_insts.append(warmup_length)
         simpoint_start_insts.append(warmup_length + interval_length)
@@ -178,9 +180,9 @@ def findCptDir(options, cptdir, testsys):
         if testsys.switch_cpus != None:
             testsys.switch_cpus[0].simpoint_start_insts = simpoint_start_insts
 
-        print "Resuming from SimPoint",
-        print "#%d, start_inst:%d, weight:%f, interval:%d, warmup:%d" % \
-            (index, start_inst, weight_inst, interval_length, warmup_length)
+        print("Resuming from SimPoint", end=' ')
+        print("#%d, start_inst:%d, weight:%f, interval:%d, warmup:%d" %
+            (index, start_inst, weight_inst, interval_length, warmup_length))
 
     else:
         dirs = listdir(cptdir)
@@ -210,10 +212,10 @@ def scriptCheckpoints(options, maxtick, cptdir):
         if options.checkpoint_restore != None:
             checkpoint_inst += options.checkpoint_restore
 
-        print "Creating checkpoint at inst:%d" % (checkpoint_inst)
+        print("Creating checkpoint at inst:%d" % (checkpoint_inst))
         exit_event = m5.simulate()
         exit_cause = exit_event.getCause()
-        print "exit cause = %s" % exit_cause
+        print("exit cause = %s" % exit_cause)
 
         # skip checkpoint instructions should they exist
         while exit_cause == "checkpoint":
@@ -223,7 +225,7 @@ def scriptCheckpoints(options, maxtick, cptdir):
         if exit_cause == "a thread reached the max instruction count":
             m5.checkpoint(joinpath(cptdir, "cpt.%s.%d" % \
                     (options.bench, checkpoint_inst)))
-            print "Checkpoint written."
+            print("Checkpoint written.")
 
     else:
         when, period = options.take_checkpoints.split(",", 1)
@@ -288,10 +290,10 @@ def parseSimpointAnalysisFile(options, testsys):
 
     simpoint_filename, weight_filename, interval_length, warmup_length = \
         options.take_simpoint_checkpoints.split(",", 3)
-    print "simpoint analysis file:", simpoint_filename
-    print "simpoint weight file:", weight_filename
-    print "interval length:", interval_length
-    print "warmup length:", warmup_length
+    print("simpoint analysis file:", simpoint_filename)
+    print("simpoint weight file:", weight_filename)
+    print("interval length:", interval_length)
+    print("warmup length:", warmup_length)
 
     interval_length = int(interval_length)
     warmup_length = int(warmup_length)
@@ -339,11 +341,11 @@ def parseSimpointAnalysisFile(options, testsys):
     simpoints.sort(key=lambda obj: obj[2])
     for s in simpoints:
         interval, weight, starting_inst_count, actual_warmup_length = s
-        print str(interval), str(weight), starting_inst_count, \
-            actual_warmup_length
+        print(str(interval), str(weight), starting_inst_count,
+            actual_warmup_length)
         simpoint_start_insts.append(starting_inst_count)
 
-    print "Total # of simpoints:", len(simpoints)
+    print("Total # of simpoints:", len(simpoints))
     testsys.cpu[0].simpoint_start_insts = simpoint_start_insts
 
     return (simpoints, interval_length)
@@ -364,7 +366,7 @@ def takeSimpointCheckpoints(simpoints, interval_length, cptdir):
 
             # skip checkpoint instructions should they exist
             while exit_event.getCause() == "checkpoint":
-                print "Found 'checkpoint' exit event...ignoring..."
+                print("Found 'checkpoint' exit event...ignoring...")
                 exit_event = m5.simulate()
 
             exit_cause = exit_event.getCause()
@@ -375,16 +377,16 @@ def takeSimpointCheckpoints(simpoints, interval_length, cptdir):
                 "cpt.simpoint_%02d_inst_%d_weight_%f_interval_%d_warmup_%d"
                 % (index, starting_inst_count, weight, interval_length,
                 actual_warmup_length)))
-            print "Checkpoint #%d written. start inst:%d weight:%f" % \
-                (num_checkpoints, starting_inst_count, weight)
+            print("Checkpoint #%d written. start inst:%d weight:%f" %
+                (num_checkpoints, starting_inst_count, weight))
             num_checkpoints += 1
             last_chkpnt_inst_count = starting_inst_count
         else:
             break
         index += 1
 
-    print 'Exiting @ tick %i because %s' % (m5.curTick(), exit_cause)
-    print "%d checkpoints taken" % num_checkpoints
+    print('Exiting @ tick %i because %s' % (m5.curTick(), exit_cause))
+    print("%d checkpoints taken" % num_checkpoints)
     sys.exit(code)
 
 def restoreSimpointCheckpoint():
@@ -392,7 +394,7 @@ def restoreSimpointCheckpoint():
     exit_cause = exit_event.getCause()
 
     if exit_cause == "simpoint starting point found":
-        print "Warmed up! Dumping and resetting stats!"
+        print("Warmed up! Dumping and resetting stats!")
         m5.stats.dump()
         m5.stats.reset()
 
@@ -400,14 +402,14 @@ def restoreSimpointCheckpoint():
         exit_cause = exit_event.getCause()
 
         if exit_cause == "simpoint starting point found":
-            print "Done running SimPoint!"
+            print("Done running SimPoint!")
             sys.exit(exit_event.getCode())
 
-    print 'Exiting @ tick %i because %s' % (m5.curTick(), exit_cause)
+    print('Exiting @ tick %i because %s' % (m5.curTick(), exit_cause))
     sys.exit(exit_event.getCode())
 
 def repeatSwitch(testsys, repeat_switch_cpu_list, maxtick, switch_freq):
-    print "starting switch loop"
+    print("starting switch loop")
     while True:
         exit_event = m5.simulate(switch_freq)
         exit_cause = exit_event.getCause()
@@ -489,10 +491,10 @@ def run(options, root, testsys, cpu_class):
         switch_class = getCPUClass(options.cpu_type)[0]
         if switch_class.require_caches() and \
                 not options.caches:
-            print "%s: Must be used with caches" % str(switch_class)
+            print("%s: Must be used with caches" % str(switch_class))
             sys.exit(1)
         if not switch_class.support_take_over():
-            print "%s: CPU switching not supported" % str(switch_class)
+            print("%s: CPU switching not supported" % str(switch_class))
             sys.exit(1)
 
         repeat_switch_cpus = [switch_class(switched_out=True, \
@@ -641,32 +643,32 @@ def run(options, root, testsys, cpu_class):
 
     if options.standard_switch or cpu_class:
         if options.standard_switch:
-            print "Switch at instruction count:%s" % \
-                    str(testsys.cpu[0].max_insts_any_thread)
+            print("Switch at instruction count:%s" %
+                    str(testsys.cpu[0].max_insts_any_thread))
             exit_event = m5.simulate()
         elif cpu_class and options.fast_forward:
-            print "Switch at instruction count:%s" % \
-                    str(testsys.cpu[0].max_insts_any_thread)
+            print("Switch at instruction count:%s" %
+                    str(testsys.cpu[0].max_insts_any_thread))
             exit_event = m5.simulate()
         else:
-            print "Switch at curTick count:%s" % str(10000)
+            print("Switch at curTick count:%s" % str(10000))
             exit_event = m5.simulate(10000)
-        print "Switched CPUS @ tick %s" % (m5.curTick())
+        print("Switched CPUS @ tick %s" % (m5.curTick()))
 
         m5.switchCpus(testsys, switch_cpu_list)
 
         if options.standard_switch:
-            print "Switch at instruction count:%d" % \
-                    (testsys.switch_cpus[0].max_insts_any_thread)
+            print("Switch at instruction count:%d" %
+                    (testsys.switch_cpus[0].max_insts_any_thread))
 
             #warmup instruction count may have already been set
             if options.warmup_insts:
                 exit_event = m5.simulate()
             else:
                 exit_event = m5.simulate(options.standard_switch)
-            print "Switching CPUS @ tick %s" % (m5.curTick())
-            print "Simulation ends instruction count:%d" % \
-                    (testsys.switch_cpus_1[0].max_insts_any_thread)
+            print("Switching CPUS @ tick %s" % (m5.curTick()))
+            print("Simulation ends instruction count:%d" %
+                    (testsys.switch_cpus_1[0].max_insts_any_thread))
             m5.switchCpus(testsys, switch_cpu_list1)
 
     # If we're taking and restoring checkpoints, use checkpoint_dir
@@ -699,7 +701,7 @@ def run(options, root, testsys, cpu_class):
     else:
         if options.fast_forward:
             m5.stats.reset()
-        print "**** REAL SIMULATION ****"
+        print("**** REAL SIMULATION ****")
 
         # If checkpoints are being taken, then the checkpoint instruction
         # will occur in the benchmark code it self.
@@ -709,7 +711,8 @@ def run(options, root, testsys, cpu_class):
         else:
             exit_event = benchCheckpoints(options, maxtick, cptdir)
 
-    print 'Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause())
+    print('Exiting @ tick %i because %s' %
+          (m5.curTick(), exit_event.getCause()))
     if options.checkpoint_at_end:
         m5.checkpoint(joinpath(cptdir, "cpt.%d"))
 
index 03bad24c6b16dfc0906dc3cb62199023d1564ddd..a6f77af7f8be48719a76ee78a817fe1dbda00456 100644 (file)
@@ -45,6 +45,8 @@ at: http://www.arm.com/ResearchEnablement/SystemModeling
 
 """
 
+from __future__ import print_function
+
 from m5.objects import *
 
 # Simple function to allow a string of [01x_] to be converted into a
@@ -71,7 +73,7 @@ def make_implicant(implicant_string):
         elif char == 'x':
             pass
         else:
-            print "Can't parse implicant character", char
+            print("Can't parse implicant character", char)
 
     return (ret_mask, ret_match)
 
@@ -133,7 +135,7 @@ def ref(name):
             ret = TimingExprRef()
             ret.index = env[name]
         else:
-            print "Invalid expression name", name
+            print("Invalid expression name", name)
             ret = TimingExprNull()
         return ret
     return body
index 3d01fe9dab2ce43fc39103a58b554655e9b09a3c..da87507d967e40c6c982282bb907cf725adb29f4 100644 (file)
@@ -26,6 +26,8 @@
 #
 # Authors: Nathan Binkert
 
+from __future__ import print_function
+
 import os
 import sys
 from os.path import basename, exists, join as joinpath, normpath
@@ -747,8 +749,8 @@ if __name__ == '__main__':
     from pprint import pprint
     for bench in all:
         for input_set in 'ref', 'test', 'train':
-            print 'class: %s' % bench.__name__
+            print('class: %s' % bench.__name__)
             x = bench('alpha', 'tru64', input_set)
-            print '%s: %s' % (x, input_set)
+            print('%s: %s' % (x, input_set))
             pprint(x.makeProcessArgs())
-            print
+            print()
index dc0cfcbb80cd733955a8656eb85d0006cf378e35..dc80bd287a35c9a00bdb19cd2fbd3bad78d24049 100644 (file)
@@ -35,6 +35,8 @@
 #
 # Authors: Andreas Hansson
 
+from __future__ import print_function
+
 import gzip
 import optparse
 import os
@@ -60,22 +62,22 @@ import protolib
 try:
     import packet_pb2
 except:
-    print "Did not find packet proto definitions, attempting to generate"
+    print("Did not find packet proto definitions, attempting to generate")
     from subprocess import call
     error = call(['protoc', '--python_out=configs/dram',
                   '--proto_path=src/proto', 'src/proto/packet.proto'])
     if not error:
-        print "Generated packet proto definitions"
+        print("Generated packet proto definitions")
 
         try:
             import google.protobuf
         except:
-            print "Please install the Python protobuf module"
+            print("Please install the Python protobuf module")
             exit(-1)
 
         import packet_pb2
     else:
-        print "Failed to import packet proto definitions"
+        print("Failed to import packet proto definitions")
         exit(-1)
 
 parser = optparse.OptionParser()
@@ -92,7 +94,7 @@ parser.add_option("--reuse-trace", action="store_true",
 (options, args) = parser.parse_args()
 
 if args:
-    print "Error: script doesn't take any positional arguments"
+    print("Error: script doesn't take any positional arguments")
     sys.exit(1)
 
 # start by creating the system itself, using a multi-layer 2.0 GHz
@@ -171,7 +173,7 @@ def create_trace(filename, max_addr, burst_size, itt):
     try:
         proto_out = gzip.open(filename, 'wb')
     except IOError:
-        print "Failed to open ", filename, " for writing"
+        print("Failed to open ", filename, " for writing")
         exit(-1)
 
     # write the magic number in 4-byte Little Endian, similar to what
@@ -208,7 +210,7 @@ def create_trace(filename, max_addr, burst_size, itt):
     proto_out.close()
 
 # this will take a while, so keep the user informed
-print "Generating traces, please wait..."
+print("Generating traces, please wait...")
 
 nxt_range = 0
 nxt_state = 0
@@ -304,6 +306,6 @@ m5.instantiate()
 m5.simulate(nxt_state * period)
 
 # print all we need to make sense of the stats output
-print "lat_mem_rd with %d iterations, ranges:" % iterations
+print("lat_mem_rd with %d iterations, ranges:" % iterations)
 for r in ranges:
-    print r
+    print(r)
index 9adfcaff0c0faa9eb1e0e129a7edc6b1e1f8ad9c..2aa64906f3deb2c271c3a27b76373aafb0f9b47a 100644 (file)
@@ -36,6 +36,8 @@
 # Authors: Radhika Jagtap
 #          Andreas Hansson
 
+from __future__ import print_function
+
 import argparse
 
 import m5
@@ -239,13 +241,13 @@ m5.instantiate()
 # Simulate for exactly as long as it takes to go through all the states
 # This is why sim exists.
 m5.simulate(nxt_state * period + idle_period)
-print "--- Done DRAM low power sweep ---"
-print "Fixed params - "
-print "\tburst: %d, banks: %d, max stride: %d, itt min: %s ns" %  \
-  (burst_size, nbr_banks, max_stride, itt_min)
-print "Swept params - "
-print "\titt max multiples input:", itt_max_multiples
-print "\titt max values", itt_max_values
-print "\tbank utilization values", bank_util_values
-print "\tstride values:", stride_values
-print "Traffic gen config file:", cfg_file_name
+print("--- Done DRAM low power sweep ---")
+print("Fixed params - ")
+print("\tburst: %d, banks: %d, max stride: %d, itt min: %s ns" %  \
+  (burst_size, nbr_banks, max_stride, itt_min))
+print("Swept params - ")
+print("\titt max multiples input:", itt_max_multiples)
+print("\titt max values", itt_max_values)
+print("\tbank utilization values", bank_util_values)
+print("\tstride values:", stride_values)
+print("Traffic gen config file:", cfg_file_name)
index 32cf0034565fee37e5984e163ae125bd37378460..8380f74e33324c104396a70c85fec8936758d90a 100644 (file)
@@ -35,6 +35,8 @@
 #
 # Authors: Andreas Hansson
 
+from __future__ import print_function
+
 import optparse
 
 import m5
@@ -75,7 +77,7 @@ parser.add_option("--addr_map", type="int", default=1,
 (options, args) = parser.parse_args()
 
 if args:
-    print "Error: script doesn't take any positional arguments"
+    print("Error: script doesn't take any positional arguments")
     sys.exit(1)
 
 # at the moment we stay with the default open-adaptive page policy,
@@ -204,5 +206,5 @@ root.system.mem_mode = 'timing'
 m5.instantiate()
 m5.simulate(nxt_state * period)
 
-print "DRAM sweep with burst: %d, banks: %d, max stride: %d" % \
-    (burst_size, nbr_banks, max_stride)
+print("DRAM sweep with burst: %d, banks: %d, max stride: %d" %
+    (burst_size, nbr_banks, max_stride))
index 012fdd36baa1816ea660090823918d235faac257..da6305ff95adee57071f4acdaa84a34286bba761 100644 (file)
@@ -33,6 +33,8 @@
 #  Author: Sooraj Puthoor
 #
 
+from __future__ import print_function
+
 import optparse, os, re
 import math
 import glob
@@ -385,7 +387,7 @@ else:
     kernel_path = os.path.dirname(executable)
     kernel_files = glob.glob(os.path.join(kernel_path, '*.asm'))
     if kernel_files:
-        print "Using GPU kernel code file(s)", ",".join(kernel_files)
+        print("Using GPU kernel code file(s)", ",".join(kernel_files))
     else:
         fatal("Can't locate kernel code (.asm) in " + kernel_path)
 
@@ -489,7 +491,7 @@ for i in xrange(n_cu):
 
 for i in xrange(n_cu):
     if i > 0 and not i % options.cu_per_sqc:
-        print "incrementing idx on ", i
+        print("incrementing idx on ", i)
         gpu_port_idx += 1
     system.cpu[shader_idx].CUs[i].sqc_port = \
             system.ruby._cpu_ports[gpu_port_idx].slave
@@ -552,15 +554,14 @@ m5.instantiate(checkpoint_dir)
 host_cpu.workload[0].map(0x10000000, 0x200000000, 4096)
 
 if options.fast_forward:
-    print "Switch at instruction count: %d" % \
-        cpu_list[0].max_insts_any_thread
+    print("Switch at instruction count: %d" % cpu_list[0].max_insts_any_thread)
 
 exit_event = m5.simulate(maxtick)
 
 if options.fast_forward:
     if exit_event.getCause() == "a thread reached the max instruction count":
         m5.switchCpus(system, switch_cpu_list)
-        print "Switched CPUS @ tick %s" % (m5.curTick())
+        print("Switched CPUS @ tick %s" % (m5.curTick()))
         m5.stats.reset()
         exit_event = m5.simulate(maxtick - m5.curTick())
 elif options.fast_forward_pseudo_op:
@@ -568,15 +569,15 @@ elif options.fast_forward_pseudo_op:
         # If we are switching *to* kvm, then the current stats are meaningful
         # Note that we don't do any warmup by default
         if type(switch_cpu_list[0][0]) == FutureCpuClass:
-            print "Dumping stats..."
+            print("Dumping stats...")
             m5.stats.dump()
         m5.switchCpus(system, switch_cpu_list)
-        print "Switched CPUS @ tick %s" % (m5.curTick())
+        print("Switched CPUS @ tick %s" % (m5.curTick()))
         m5.stats.reset()
         # This lets us switch back and forth without keeping a counter
         switch_cpu_list = [(x[1], x[0]) for x in switch_cpu_list]
         exit_event = m5.simulate(maxtick - m5.curTick())
 
-print "Ticks:", m5.curTick()
-print 'Exiting because ', exit_event.getCause()
+print("Ticks:", m5.curTick())
+print('Exiting because ', exit_event.getCause())
 sys.exit(exit_event.getCode())
index 7e0555c002e498eb412db4fa4d37d4626254e6fe..7d66c03a6f30dc386d7ed586917c0001623733ba 100644 (file)
@@ -40,6 +40,8 @@
 # a generic ARM bigLITTLE system.
 
 
+from __future__ import print_function
+
 import argparse
 import os
 import sys
@@ -311,12 +313,12 @@ def run(checkpoint_dir=m5.options.outdir):
         event = m5.simulate()
         exit_msg = event.getCause()
         if exit_msg == "checkpoint":
-            print "Dropping checkpoint at tick %d" % m5.curTick()
+            print("Dropping checkpoint at tick %d" % m5.curTick())
             cpt_dir = os.path.join(checkpoint_dir, "cpt.%d" % m5.curTick())
             m5.checkpoint(cpt_dir)
-            print "Checkpoint done."
+            print("Checkpoint done.")
         else:
-            print exit_msg, " @ ", m5.curTick()
+            print(exit_msg, " @ ", m5.curTick())
             break
 
     sys.exit(event.getCode())
index 14dbae04aa4dfa5cad6cdad6be27fac6308793d9..b27455f13978dfb138fcd7a5c51a41ca9edd6776 100644 (file)
@@ -39,6 +39,8 @@
 # This configuration file extends the example ARM big.LITTLE(tm)
 # with example power models.
 
+from __future__ import print_function
+
 import argparse
 import os
 
@@ -90,11 +92,11 @@ def main():
 
     bL.instantiate(options)
 
-    print "*" * 70
-    print "WARNING: The power numbers generated by this script are " \
-        "examples. They are not representative of any particular " \
-        "implementation or process."
-    print "*" * 70
+    print("*" * 70)
+    print("WARNING: The power numbers generated by this script are "
+        "examples. They are not representative of any particular "
+        "implementation or process.")
+    print("*" * 70)
 
     # Dumping stats periodically
     m5.stats.periodicStatDump(m5.ticks.fromSeconds(0.1E-3))
index 2ca1cb8003a84b29f14aedc25f49fffe085d707f..a1997682ee5b174ce25c7312115d96f6ae35173a 100644 (file)
@@ -43,6 +43,8 @@ Research Starter Kit on System Modeling. More information can be found
 at: http://www.arm.com/ResearchEnablement/SystemModeling
 """
 
+from __future__ import print_function
+
 import os
 import m5
 from m5.util import addToPath
@@ -97,7 +99,7 @@ def create(args):
         dtb_file = args.dtb
 
     if args.script and not os.path.isfile(args.script):
-        print "Error: Bootscript %s does not exist" % args.script
+        print("Error: Bootscript %s does not exist" % args.script)
         sys.exit(1)
 
     cpu_class = cpu_types[args.cpu][0]
@@ -175,18 +177,18 @@ def create(args):
 def run(args):
     cptdir = m5.options.outdir
     if args.checkpoint:
-        print "Checkpoint directory: %s" % cptdir
+        print("Checkpoint directory: %s" % cptdir)
 
     while True:
         event = m5.simulate()
         exit_msg = event.getCause()
         if exit_msg == "checkpoint":
-            print "Dropping checkpoint at tick %d" % m5.curTick()
+            print("Dropping checkpoint at tick %d" % m5.curTick())
             cpt_dir = os.path.join(m5.options.outdir, "cpt.%d" % m5.curTick())
             m5.checkpoint(os.path.join(cpt_dir))
-            print "Checkpoint done."
+            print("Checkpoint done.")
         else:
-            print exit_msg, " @ ", m5.curTick()
+            print(exit_msg, " @ ", m5.curTick())
             break
 
     sys.exit(event.getCode())
index 902e6e49a731d86dba810add491260ddcf9a4c87..ef218d978ea45efc3284512804ab83584be94b70 100644 (file)
@@ -43,6 +43,8 @@ Research Starter Kit on System Modeling. More information can be found
 at: http://www.arm.com/ResearchEnablement/SystemModeling
 """
 
+from __future__ import print_function
+
 import os
 import m5
 from m5.util import addToPath
@@ -145,7 +147,7 @@ def get_processes(cmd):
 
         process = Process(pid=100 + idx, cwd=cwd, cmd=argv, executable=argv[0])
 
-        print "info: %d. command and arguments: %s" % (idx + 1, process.cmd)
+        print("info: %d. command and arguments: %s" % (idx + 1, process.cmd))
         multiprocesses.append(process)
 
     return multiprocesses
@@ -168,8 +170,8 @@ def create(args):
     # that we can pass to gem5.
     processes = get_processes(args.commands_to_run)
     if len(processes) != args.num_cores:
-        print "Error: Cannot map %d command(s) onto %d " \
-            "CPU(s)" % (len(processes), args.num_cores)
+        print("Error: Cannot map %d command(s) onto %d CPU(s)" %
+              (len(processes), args.num_cores))
         sys.exit(1)
 
     # Assign one workload to each CPU
@@ -225,7 +227,7 @@ def main():
     # Print the reason for the simulation exit. Some exit codes are
     # requests for service (e.g., checkpoints) from the simulation
     # script. We'll just ignore them here and exit.
-    print event.getCause(), " @ ", m5.curTick()
+    print(event.getCause(), " @ ", m5.curTick())
     sys.exit(event.getCode())
 
 
index f8586d62fdcff02734af1cfab86ad59e6305023d..e64871af762405358b38bffdba6f0fb707ae9906 100644 (file)
@@ -37,6 +37,8 @@
 
 # Basic elastic traces replay script that configures a Trace CPU
 
+from __future__ import print_function
+
 import optparse
 
 from m5.util import addToPath, fatal
@@ -53,14 +55,14 @@ parser = optparse.OptionParser()
 Options.addCommonOptions(parser)
 
 if '--ruby' in sys.argv:
-    print "This script does not support Ruby configuration, mainly"\
-    " because Trace CPU has been tested only with classic memory system"
+    print("This script does not support Ruby configuration, mainly"
+    " because Trace CPU has been tested only with classic memory system")
     sys.exit(1)
 
 (options, args) = parser.parse_args()
 
 if args:
-    print "Error: script doesn't take any positional arguments"
+    print("Error: script doesn't take any positional arguments")
     sys.exit(1)
 
 numThreads = 1
index f7115eb4887240e20761e2912648621941f790fd..0f87e2b3acb3ca950e04a77204cb3e0314b81867 100644 (file)
@@ -41,6 +41,8 @@
 # Authors: Ali Saidi
 #          Brad Beckmann
 
+from __future__ import print_function
+
 import optparse
 import sys
 
@@ -74,8 +76,8 @@ def is_kvm_cpu(cpu_class):
 
 def cmd_line_template():
     if options.command_line and options.command_line_file:
-        print "Error: --command-line and --command-line-file are " \
-              "mutually exclusive"
+        print("Error: --command-line and --command-line-file are "
+              "mutually exclusive")
         sys.exit(1)
     if options.command_line:
         return options.command_line
@@ -310,7 +312,7 @@ if '--ruby' in sys.argv:
 (options, args) = parser.parse_args()
 
 if args:
-    print "Error: script doesn't take any positional arguments"
+    print("Error: script doesn't take any positional arguments")
     sys.exit(1)
 
 # system under test can be any CPU
@@ -323,8 +325,8 @@ if options.benchmark:
     try:
         bm = Benchmarks[options.benchmark]
     except KeyError:
-        print "Error benchmark %s has not been defined." % options.benchmark
-        print "Valid benchmarks are: %s" % DefinedBenchmarks
+        print("Error benchmark %s has not been defined." % options.benchmark)
+        print("Valid benchmarks are: %s" % DefinedBenchmarks)
         sys.exit(1)
 else:
     if options.dual:
@@ -357,7 +359,7 @@ elif len(bm) == 1 and options.dist:
 elif len(bm) == 1:
     root = Root(full_system=True, system=test_sys)
 else:
-    print "Error I don't know how to create more than 2 systems."
+    print("Error I don't know how to create more than 2 systems.")
     sys.exit(1)
 
 if options.timesync:
index 0cb1fae9f812fe2aab69582b1d987c7151272edc..92fb3a04756ba24833f1ec40d839dc27bb264857 100644 (file)
@@ -26,6 +26,8 @@
 #
 # Author: Tushar Krishna
 
+from __future__ import print_function
+
 import m5
 from m5.objects import *
 from m5.defines import buildEnv
@@ -90,14 +92,13 @@ execfile(os.path.join(config_root, "common", "Options.py"))
 (options, args) = parser.parse_args()
 
 if args:
-     print "Error: script doesn't take any positional arguments"
+     print("Error: script doesn't take any positional arguments")
      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)
+    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)
 
 
@@ -153,4 +154,4 @@ m5.instantiate()
 # simulate until program terminates
 exit_event = m5.simulate(options.abs_max_tick)
 
-print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
+print('Exiting @ tick', m5.curTick(), 'because', exit_event.getCause())
index 9ed3ef45d6c0ec77b69ed9ab627cfcef22583deb..c370d0a84942de228646255e8a1b5e355901524d 100644 (file)
@@ -1,3 +1,5 @@
+from __future__ import print_function
+
 import sys
 import argparse
 import subprocess
@@ -100,13 +102,13 @@ def main():
     root = build_system(options)
     # instantiate all of the objects we've created so far
     m5.instantiate()
-    print "Beginning simulation!"
+    print("Beginning simulation!")
     event = m5.simulate(10000000000)
     m5.stats.dump()
-    print 'Exiting @ tick %i because %s (exit code is %i)' % (m5.curTick(),
+    print('Exiting @ tick %i because %s (exit code is %i)' % (m5.curTick(),
                                                               event.getCause(),
-                                                              event.getCode())
-    print "Done"
+                                                              event.getCode()))
+    print("Done")
 
 
 if __name__ == "__m5_main__":
index 0bbcd2f7c8762c1d31637a1c9d4e8997c488d1e6..c2eed1959d8fbd7d49d6a022a6102b31e8616509 100644 (file)
@@ -39,6 +39,8 @@
 # Authors: Ron Dreslinski
 #          Andreas Hansson
 
+from __future__ import print_function
+
 import optparse
 import random
 import sys
@@ -108,7 +110,7 @@ parser.add_option("--sys-clock", action="store", type="string",
 (options, args) = parser.parse_args()
 
 if args:
-     print "Error: script doesn't take any positional arguments"
+     print("Error: script doesn't take any positional arguments")
      sys.exit(1)
 
 # Start by parsing the command line options and do some basic sanity
@@ -118,36 +120,36 @@ if options.random:
      tree_depth = random.randint(1, 4)
      cachespec = [random.randint(1, 3) for i in range(tree_depth)]
      testerspec = [random.randint(1, 3) for i in range(tree_depth + 1)]
-     print "Generated random tree -c", ':'.join(map(str, cachespec)), \
-         "-t", ':'.join(map(str, testerspec))
+     print("Generated random tree -c", ':'.join(map(str, cachespec)),
+         "-t", ':'.join(map(str, testerspec)))
 else:
      try:
           cachespec = [int(x) for x in options.caches.split(':')]
           testerspec = [int(x) for x in options.testers.split(':')]
      except:
-          print "Error: Unable to parse caches or testers option"
+          print("Error: Unable to parse caches or testers option")
           sys.exit(1)
 
      if len(cachespec) < 1:
-          print "Error: Must have at least one level of caches"
+          print("Error: Must have at least one level of caches")
           sys.exit(1)
 
      if len(cachespec) != len(testerspec) - 1:
-          print "Error: Testers must have one element more than caches"
+          print("Error: Testers must have one element more than caches")
           sys.exit(1)
 
      if testerspec[-1] == 0:
-          print "Error: Must have testers at the uppermost level"
+          print("Error: Must have testers at the uppermost level")
           sys.exit(1)
 
      for t in testerspec:
           if t < 0:
-               print "Error: Cannot have a negative number of testers"
+               print("Error: Cannot have a negative number of testers")
                sys.exit(1)
 
      for c in cachespec:
           if c < 1:
-               print "Error: Must have 1 or more caches at each level"
+               print("Error: Must have 1 or more caches at each level")
                sys.exit(1)
 
 # Determine the tester multiplier for each level as the string
@@ -155,7 +157,7 @@ else:
 multiplier = [1]
 for c in cachespec:
      if c < 1:
-          print "Error: Must have at least one cache per level"
+          print("Error: Must have at least one cache per level")
      multiplier.append(multiplier[-1] * c)
 
 numtesters = 0
@@ -275,7 +277,7 @@ def make_cache_level(ncaches, prototypes, level, next_cache):
                cache.mem_side = xbar.slave
      else:
           if not next_cache:
-               print "Error: No next-level cache at top level"
+               print("Error: No next-level cache at top level")
                sys.exit(1)
 
           if ntesters > 1:
@@ -315,4 +317,4 @@ m5.instantiate()
 # Simulate until program terminates
 exit_event = m5.simulate(options.maxtick)
 
-print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
+print('Exiting @ tick', m5.curTick(), 'because', exit_event.getCause())
index d6f940e6b7d86d664b3e238b25a1e71f6b635c87..df22609bd4dfea99e8ef12b12d535819b2d43cdb 100644 (file)
@@ -39,6 +39,8 @@
 # Authors: Ron Dreslinski
 #          Andreas Hansson
 
+from __future__ import print_function
+
 import optparse
 import random
 import sys
@@ -107,7 +109,7 @@ parser.add_option("--sys-clock", action="store", type="string",
 (options, args) = parser.parse_args()
 
 if args:
-     print "Error: script doesn't take any positional arguments"
+     print("Error: script doesn't take any positional arguments")
      sys.exit(1)
 
 # Get the total number of testers
@@ -137,41 +139,41 @@ if options.random:
           if numtesters(cachespec, testerspec) < block_size:
                break
 
-     print "Generated random tree -c", ':'.join(map(str, cachespec)), \
-         "-t", ':'.join(map(str, testerspec))
+     print("Generated random tree -c", ':'.join(map(str, cachespec)),
+         "-t", ':'.join(map(str, testerspec)))
 else:
      try:
           cachespec = [int(x) for x in options.caches.split(':')]
           testerspec = [int(x) for x in options.testers.split(':')]
      except:
-          print "Error: Unable to parse caches or testers option"
+          print("Error: Unable to parse caches or testers option")
           sys.exit(1)
 
      if len(cachespec) < 1:
-          print "Error: Must have at least one level of caches"
+          print("Error: Must have at least one level of caches")
           sys.exit(1)
 
      if len(cachespec) != len(testerspec) - 1:
-          print "Error: Testers must have one element more than caches"
+          print("Error: Testers must have one element more than caches")
           sys.exit(1)
 
      if testerspec[-1] == 0:
-          print "Error: Must have testers at the uppermost level"
+          print("Error: Must have testers at the uppermost level")
           sys.exit(1)
 
      for t in testerspec:
           if t < 0:
-               print "Error: Cannot have a negative number of testers"
+               print("Error: Cannot have a negative number of testers")
                sys.exit(1)
 
      for c in cachespec:
           if c < 1:
-               print "Error: Must have 1 or more caches at each level"
+               print("Error: Must have 1 or more caches at each level")
                sys.exit(1)
 
      if numtesters(cachespec, testerspec) > block_size:
-          print "Error: Limited to %s testers because of false sharing" \
-              % (block_size)
+          print("Error: Limited to %s testers because of false sharing"
+              % (block_size))
           sys.exit(1)
 
 # Define a prototype L1 cache that we scale for all successive levels
@@ -280,7 +282,7 @@ def make_cache_level(ncaches, prototypes, level, next_cache):
                cache.mem_side = xbar.slave
      else:
           if not next_cache:
-               print "Error: No next-level cache at top level"
+               print("Error: No next-level cache at top level")
                sys.exit(1)
 
           if ntesters > 1:
@@ -318,4 +320,4 @@ m5.instantiate()
 # Simulate until program terminates
 exit_event = m5.simulate(options.maxtick)
 
-print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
+print('Exiting @ tick', m5.curTick(), 'because', exit_event.getCause())
index 7569cd17dc748179a8f35f834ebd24db15ad7a72..3c17d4b9c8350841f75dbe07a821fb7e7063b958 100644 (file)
@@ -45,6 +45,8 @@
 # between system construction and run control may allow better
 # debugging.
 
+from __future__ import print_function
+
 import argparse
 import ConfigParser
 import inspect
@@ -540,5 +542,4 @@ mgr.find_all_objects()
 m5.instantiate(args.checkpoint_dir)
 
 exit_event = m5.simulate()
-print 'Exiting @ tick %i because %s' % (
-    m5.curTick(), exit_event.getCause())
+print('Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause()))
index 9e8c87a8108fd6a17c5da2f6a1fd1f7a370d6636..317fb47fd9dc7a1b5c1c6d134680b2edbe0d83ef 100644 (file)
@@ -28,6 +28,8 @@
 # Authors: Ron Dreslinski
 #          Brad Beckmann
 
+from __future__ import print_function
+
 import m5
 from m5.objects import *
 from m5.defines import buildEnv
@@ -65,7 +67,7 @@ Ruby.define_options(parser)
 (options, args) = parser.parse_args()
 
 if args:
-     print "Error: script doesn't take any positional arguments"
+     print("Error: script doesn't take any positional arguments")
      sys.exit(1)
 
 #
@@ -83,7 +85,7 @@ elif options.test_type == "SeriesGetMixed":
 elif options.test_type == "Invalidate":
     generator = InvalidateGenerator(num_cpus = options.num_cpus)
 else:
-    print "Error: unknown direct test generator"
+    print("Error: unknown direct test generator")
     sys.exit(1)
 
 # Create the M5 system.
@@ -130,4 +132,4 @@ m5.instantiate()
 # simulate until program terminates
 exit_event = m5.simulate(options.abs_max_tick)
 
-print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
+print('Exiting @ tick', m5.curTick(), 'because', exit_event.getCause())
index 80aecf90ebd61e1deb22a56887e8070de6454894..4f71cd84a0befad21cd67c18ddd9c1ac15e250be 100644 (file)
@@ -33,6 +33,8 @@
 #  Author: Brad Beckmann
 #
 
+from __future__ import print_function
+
 import m5
 from m5.objects import *
 from m5.defines import buildEnv
@@ -100,7 +102,7 @@ n_cu = options.num_compute_units
 options.num_sqc = int((n_cu + options.cu_per_sqc - 1) / options.cu_per_sqc)
 
 if args:
-     print "Error: script doesn't take any positional arguments"
+     print("Error: script doesn't take any positional arguments")
      sys.exit(1)
 
 #
@@ -183,4 +185,4 @@ m5.instantiate()
 # simulate until program terminates
 exit_event = m5.simulate(options.abs_max_tick)
 
-print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
+print('Exiting @ tick', m5.curTick(), 'because', exit_event.getCause())
index 010c4a2bc61651b1aa4fdad87c6a28e584d7e4fe..ab658f787e9797f34155b1c1bda113520ac2e03b 100644 (file)
@@ -28,6 +28,8 @@
 # Authors: Ron Dreslinski
 #          Brad Beckmann
 
+from __future__ import print_function
+
 import m5
 from m5.objects import *
 from m5.defines import buildEnv
@@ -81,14 +83,14 @@ options.l2_assoc=2
 options.l3_assoc=2
 
 if args:
-     print "Error: script doesn't take any positional arguments"
+     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 testers %d limited to %d because of false sharing" \
-           % (options.num_cpus, block_size)
+     print("Error: Number of testers %d limited to %d because of false sharing"
+           % (options.num_cpus, block_size))
      sys.exit(1)
 
 #
@@ -183,4 +185,4 @@ m5.instantiate()
 # simulate until program terminates
 exit_event = m5.simulate(options.abs_max_tick)
 
-print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
+print('Exiting @ tick', m5.curTick(), 'because', exit_event.getCause())
index d96905e2c27e45fad54668b1018e0ed6207a32fe..d6b53cf3e85065ed99fa5afacd71dd36738a8afe 100644 (file)
@@ -28,6 +28,8 @@
 # Authors: Ron Dreslinski
 #          Brad Beckmann
 
+from __future__ import print_function
+
 import m5
 from m5.objects import *
 from m5.defines import buildEnv
@@ -75,7 +77,7 @@ options.l2_assoc=2
 options.l3_assoc=2
 
 if args:
-     print "Error: script doesn't take any positional arguments"
+     print("Error: script doesn't take any positional arguments")
      sys.exit(1)
 
 #
@@ -156,4 +158,4 @@ m5.instantiate()
 # simulate until program terminates
 exit_event = m5.simulate(options.abs_max_tick)
 
-print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
+print('Exiting @ tick', m5.curTick(), 'because', exit_event.getCause())
index 56e4753b9d304641d168e8cffb4ec24e1e4f29e8..99d79bc575ebac0b4ac08297f75971ff6d7cde68 100644 (file)
@@ -42,6 +42,8 @@
 #
 # "m5 test.py"
 
+from __future__ import print_function
+
 import optparse
 import sys
 import os
@@ -131,7 +133,7 @@ if '--ruby' in sys.argv:
 (options, args) = parser.parse_args()
 
 if args:
-    print "Error: script doesn't take any positional arguments"
+    print("Error: script doesn't take any positional arguments")
     sys.exit(1)
 
 multiprocesses = []
@@ -140,7 +142,7 @@ numThreads = 1
 if options.bench:
     apps = options.bench.split("-")
     if len(apps) != options.num_cpus:
-        print "number of benchmarks not equal to set num_cpus!"
+        print("number of benchmarks not equal to set num_cpus!")
         sys.exit(1)
 
     for app in apps:
@@ -156,13 +158,14 @@ if options.bench:
                         app, options.spec_input))
             multiprocesses.append(workload.makeProcess())
         except:
-            print >>sys.stderr, "Unable to find workload for %s: %s" % (
-                    buildEnv['TARGET_ISA'], app)
+            print("Unable to find workload for %s: %s" %
+                  (buildEnv['TARGET_ISA'], app),
+                  file=sys.stderr)
             sys.exit(1)
 elif options.cmd:
     multiprocesses, numThreads = get_processes(options)
 else:
-    print >> sys.stderr, "No workload specified. Exiting!\n"
+    print("No workload specified. Exiting!\n", file=sys.stderr)
     sys.exit(1)
 
 
index 31fdb0de80596d83bf36788eb35075aeb3b1a0be..5336b445b727d8b17de68fb54683ac6d6db5ef29 100644 (file)
@@ -37,6 +37,8 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 
 """
 
+from __future__ import print_function
+
 # import the m5 (gem5) library created when gem5 is built
 import m5
 # import all of the SimObjects
@@ -102,6 +104,6 @@ root = Root(full_system = False, system = system)
 # instantiate all of the objects we've created above
 m5.instantiate()
 
-print "Beginning simulation!"
+print("Beginning simulation!")
 exit_event = m5.simulate()
-print 'Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause())
+print('Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause()))
index 1330d5d0cd1b101afe321704a94882f48a7be02f..51d51c474a85c2166a5c410cafd385e8ae9ae377 100644 (file)
@@ -40,6 +40,8 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 
 """
 
+from __future__ import print_function
+
 # import the m5 (gem5) library created when gem5 is built
 import m5
 # import all of the SimObjects
@@ -146,6 +148,6 @@ root = Root(full_system = False, system = system)
 # instantiate all of the objects we've created above
 m5.instantiate()
 
-print "Beginning simulation!"
+print("Beginning simulation!")
 exit_event = m5.simulate()
-print 'Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause())
+print('Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause()))
index 6e82a63c768374a03910c5de991e44fd058b62bd..e908ae0c377ae368a4f40b6af2e5f81170e36803 100644 (file)
@@ -36,6 +36,8 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 
 """
 
+from __future__ import print_function
+
 # import the m5 (gem5) library created when gem5 is built
 import m5
 # import all of the SimObjects
@@ -51,6 +53,6 @@ root.hello.goodbye_object = GoodbyeObject(buffer_size='100B')
 # instantiate all of the objects we've created above
 m5.instantiate()
 
-print "Beginning simulation!"
+print("Beginning simulation!")
 exit_event = m5.simulate()
-print 'Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause())
+print('Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause()))
index 07b366aa940900c5e4fca834616f24c62aac007f..1b729ae7c366a2e5ff4faeb4aac4af0bbe58bf03 100644 (file)
@@ -35,6 +35,8 @@ system. Since there are no events, this "simulation" should finish immediately
 
 """
 
+from __future__ import print_function
+
 # import the m5 (gem5) library created when gem5 is built
 import m5
 # import all of the SimObjects
@@ -49,6 +51,6 @@ root.hello = SimpleObject()
 # instantiate all of the objects we've created above
 m5.instantiate()
 
-print "Beginning simulation!"
+print("Beginning simulation!")
 exit_event = m5.simulate()
-print 'Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause())
+print('Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause()))
index a07147cafbe9376de37cf53aeda4b5b3743a5089..98078df3048129f3fec7aafbdd3b41c493bca69f 100644 (file)
@@ -33,6 +33,8 @@ World application. Adds a simple cache between the CPU and the membus.
 This config file assumes that the x86 ISA was built.
 """
 
+from __future__ import print_function
+
 # import the m5 (gem5) library created when gem5 is built
 import m5
 # import all of the SimObjects
@@ -96,6 +98,6 @@ root = Root(full_system = False, system = system)
 # instantiate all of the objects we've created above
 m5.instantiate()
 
-print "Beginning simulation!"
+print("Beginning simulation!")
 exit_event = m5.simulate()
-print 'Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause())
+print('Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause()))
index 8d3553dda1dd988cb140c6a4f6d22ed8a73c544b..066bca08d63f1493efefa9896ceeef3f69c55bec 100644 (file)
@@ -33,6 +33,8 @@ World application. Adds a simple memobj between the CPU and the membus.
 This config file assumes that the x86 ISA was built.
 """
 
+from __future__ import print_function
+
 # import the m5 (gem5) library created when gem5 is built
 import m5
 # import all of the SimObjects
@@ -94,6 +96,6 @@ root = Root(full_system = False, system = system)
 # instantiate all of the objects we've created above
 m5.instantiate()
 
-print "Beginning simulation!"
+print("Beginning simulation!")
 exit_event = m5.simulate()
-print 'Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause())
+print('Exiting @ tick %i because %s' % (m5.curTick(), exit_event.getCause()))
index 04eda5a391352e142181bfd9790b70bf5ae70f36..9e110f84d9d141820ded6bda52c5318577901cbc 100644 (file)
@@ -39,6 +39,8 @@
 #
 # Authors: Brad Beckmann
 
+from __future__ import print_function
+
 import math
 import m5
 from m5.objects import *
@@ -151,7 +153,7 @@ def create_system(options, full_system, system, piobus = None, dma_ports = []):
                                     ruby)"
                   % protocol)
     except:
-        print "Error: could not create sytem for ruby protocol %s" % protocol
+        print("Error: could not create sytem for ruby protocol %s" % protocol)
         raise
 
     # Create the network topology
index a0423e6e38d5e29f35f3b515d85228d6b58d8da3..f819bd19e45de682a576e4047a45f867226c89cc 100644 (file)
@@ -30,6 +30,8 @@
 #
 # "m5 test.py"
 
+from __future__ import print_function
+
 import os
 import optparse
 import sys
@@ -70,7 +72,7 @@ parser.add_option("-b", "--benchmark",
 (options, args) = parser.parse_args()
 
 if args:
-    print "Error: script doesn't take any positional arguments"
+    print("Error: script doesn't take any positional arguments")
     sys.exit(1)
 
 # --------------------
@@ -297,5 +299,5 @@ if options.maxtick:
 else:
     exit_event = m5.simulate(m5.MaxTick)
 
-print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
+print('Exiting @ tick', m5.curTick(), 'because', exit_event.getCause())
 
index 0f374c17df1ff33eb2154fe82f9019554d222c63..b17eb5400de3d37b939971dc2cdec0f34f956485 100644 (file)
@@ -29,6 +29,8 @@
 # Splash2 Run Script
 #
 
+from __future__ import print_function
+
 import os
 import optparse
 import sys
@@ -67,11 +69,11 @@ parser.add_option("-b", "--benchmark",
 (options, args) = parser.parse_args()
 
 if args:
-    print "Error: script doesn't take any positional arguments"
+    print("Error: script doesn't take any positional arguments")
     sys.exit(1)
 
 if not options.numcpus:
-    print "Specify the number of cpus with -n"
+    print("Specify the number of cpus with -n")
     sys.exit(1)
 
 # --------------------
@@ -253,9 +255,10 @@ elif options.benchmark == 'WaterNSquared':
 elif options.benchmark == 'WaterSpatial':
     root.workload = Water_spatial()
 else:
-    print >> sys.stderr, """The --benchmark environment variable was set to something improper.
-Use Cholesky, FFT, LUContig, LUNoncontig, Radix, Barnes, FMM, OceanContig,
-OceanNoncontig, Raytrace, WaterNSquared, or WaterSpatial"""
+    print("The --benchmark environment variable was set to something "
+          "improper. Use Cholesky, FFT, LUContig, LUNoncontig, Radix, "
+          "Barnes, FMM, OceanContig, OceanNoncontig, Raytrace, WaterNSquared, "
+          "or WaterSpatial", file=sys.stderr)
     sys.exit(1)
 
 # --------------------
@@ -281,5 +284,5 @@ if options.maxtick:
 else:
     exit_event = m5.simulate(m5.MaxTick)
 
-print 'Exiting @ tick', m5.curTick(), 'because', exit_event.getCause()
+print('Exiting @ tick', m5.curTick(), 'because', exit_event.getCause())