aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2014-10-19 17:27:06 -0400
committerGlenn Elliott <gelliott@cs.unc.edu>2014-10-19 17:27:06 -0400
commit7999ae6ee371ab55beb84568c499d95617daead8 (patch)
tree071f3c6a76ae8f4adc2fd6807404b34c5cb6f759
parent27a117f6940631712342c054e84304f0c6cc63c9 (diff)
fix tags for tracking request types in ILP
-rw-r--r--rtss14/gpusync.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/rtss14/gpusync.py b/rtss14/gpusync.py
index ce0e0c8..4c94f9f 100644
--- a/rtss14/gpusync.py
+++ b/rtss14/gpusync.py
@@ -39,6 +39,10 @@ class ResourceRequirement(object):
39 def add_request(self, request, tag = 0): 39 def add_request(self, request, tag = 0):
40 if type(request) is not list: 40 if type(request) is not list:
41 request = [request] 41 request = [request]
42 if len(request) == 0:
43 assert False
44 if request is None:
45 assert False
42 request = np.array(request, dtype=np.float32) 46 request = np.array(request, dtype=np.float32)
43 if tag not in self.requests: 47 if tag not in self.requests:
44 self.requests[tag] = request 48 self.requests[tag] = request
@@ -135,9 +139,9 @@ class FifoCopyEngineLockNoMigrate(FifoEngineLock):
135# use an ILP to joinly solve worst-case engine blocking for in and out copy 139# use an ILP to joinly solve worst-case engine blocking for in and out copy
136# engines. may only use if there are two copy engines and 1 <= rho <= 5 140# engines. may only use if there are two copy engines and 1 <= rho <= 5
137class FifoCopyEngineLockP2P_ILP(FifoEngineLock): 141class FifoCopyEngineLockP2P_ILP(FifoEngineLock):
138 IN_TAG = 0 142 IN_TAG = 1
139 OUT_TAG = 1 143 OUT_TAG = 2
140 MIG_TAG = 2 144 MIG_TAG = 3
141 145
142 def __init__(self, tasks, ntokens, solver): 146 def __init__(self, tasks, ntokens, solver):
143 super(FifoCopyEngineLockP2P_ILP,self).__init__(tasks, ntokens) 147 super(FifoCopyEngineLockP2P_ILP,self).__init__(tasks, ntokens)
@@ -153,7 +157,7 @@ class FifoCopyEngineLockP2P_ILP(FifoEngineLock):
153 if len(t.resmodel[self].requests[FifoCopyEngineLockP2P_ILP.IN_TAG]) == 0: 157 if len(t.resmodel[self].requests[FifoCopyEngineLockP2P_ILP.IN_TAG]) == 0:
154 sys.stderr.write('---- ack!\n') 158 sys.stderr.write('---- ack!\n')
155 sys.stderr.write(str(t) + '\n') 159 sys.stderr.write(str(t) + '\n')
156 sys.stderr.write('ns: %d nr: %d st: %d\n' % (t.sdata, t.rdata, t.stdata)) 160 sys.stderr.write('send: %d rec: %d state: %d\n' % (t.sdata, t.rdata, t.stdata))
157 sys.stderr.write('ns: %d nr: %d st: %d\n' % (t.nsendrequests, t.nrecvrequests, t.nstaterequests)) 161 sys.stderr.write('ns: %d nr: %d st: %d\n' % (t.nsendrequests, t.nrecvrequests, t.nstaterequests))
158 sys.stderr.write('*********\n') 162 sys.stderr.write('*********\n')
159 sys.stderr.write(str(t.resmodel[self].requests) + '\n') 163 sys.stderr.write(str(t.resmodel[self].requests) + '\n')