summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/simple/Network_Files/GarnetFileMaker.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/network/simple/Network_Files/GarnetFileMaker.py')
-rw-r--r--src/mem/ruby/network/simple/Network_Files/GarnetFileMaker.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/mem/ruby/network/simple/Network_Files/GarnetFileMaker.py b/src/mem/ruby/network/simple/Network_Files/GarnetFileMaker.py
new file mode 100644
index 000000000..b47bb0161
--- /dev/null
+++ b/src/mem/ruby/network/simple/Network_Files/GarnetFileMaker.py
@@ -0,0 +1,45 @@
+#!/s/std/bin/python
+import sys, os, string, re, math
+
+rows = 0
+cols =0
+
+if len(sys.argv) == 3:
+ rows = int(sys.argv[1])
+ cols = int(sys.argv[2])
+else:
+ sys.stderr.write("usage : GarnetFileMaker.py <rows> <cols> \n\n")
+
+banks = rows*cols
+bank = 0
+while bank < banks:
+ sys.stdout.write("ext_node:L1Cache:%d int_node:%d link_latency:1 \n" % (bank, bank))
+ sys.stdout.write("ext_node:L2Cache:%d int_node:%d link_latency:1 \n" % (bank, bank))
+ bank += 1
+
+sys.stdout.write("\n")
+
+col = 0
+while col < cols:
+ row = 1
+ bank = col*rows
+ while row < rows:
+ sys.stdout.write("int_node:%d int_node:%d link_latency:1 link_weight:1\n" % (bank, bank+1))
+ bank += 1
+ row += 1
+ sys.stdout.write("\n")
+ col += 1
+
+sys.stdout.write("\n")
+
+row = 0
+while row < rows:
+ col = 1
+ bank = row
+ while col < cols:
+ sys.stdout.write("int_node:%d int_node:%d link_latency:1 link_weight:2\n" % (bank, rows+bank))
+ bank += rows
+ col += 1
+ sys.stdout.write("\n")
+ row += 1
+