MCPcopy Create free account
hub / github.com/apache/tvm / TrackerSession

Class TrackerSession

python/tvm/rpc/client.py:302–478  ·  view source on GitHub ↗

Tracker client session. Parameters ---------- addr : tuple The address tuple

Source from the content-addressed store, hash-verified

300
301
302class TrackerSession:
303 """Tracker client session.
304
305 Parameters
306 ----------
307 addr : tuple
308 The address tuple
309 """
310
311 def __init__(self, addr):
312 self._addr = addr
313 self._sock = None
314 self._connect()
315
316 def __del__(self):
317 self.close()
318
319 def _connect(self):
320 self._sock = base.connect_with_retry(self._addr)
321 self._sock.sendall(struct.pack("<i", base.RPC_TRACKER_MAGIC))
322 magic = struct.unpack("<i", base.recvall(self._sock, 4))[0]
323 if magic != base.RPC_TRACKER_MAGIC:
324 raise RuntimeError(f"{self._addr!s} is not RPC Tracker")
325
326 def close(self):
327 """Close the tracker connection."""
328 if self._sock:
329 self._sock.close()
330 self._sock = None
331
332 def summary(self):
333 """Get the summary dict of the tracker."""
334 base.sendjson(self._sock, [base.TrackerCode.SUMMARY])
335 value = base.recvjson(self._sock)
336 if value[0] != base.TrackerCode.SUCCESS:
337 raise RuntimeError(f"Invalid return value {value!s}")
338 return value[1]
339
340 def text_summary(self):
341 """Get a text summary of the tracker."""
342 data = self.summary()
343
344 total_ct = {}
345
346 res = ""
347 res += "Server List\n"
348 res += "------------------------------\n"
349 res += "server-address key\n"
350 res += "------------------------------\n"
351 sorted_server = sorted(data["server_info"], key=lambda x: x["key"])
352 for item in sorted_server:
353 addr = item["addr"]
354 res += f"{':'.join(map(str, addr)):21s} "
355 res += item["key"] + "\n"
356 key = item["key"].split(":")[1] # 'server:rasp3b` -> 'rasp3b'
357 if key not in total_ct:
358 total_ct[key] = 0
359 total_ct[key] += 1

Callers 1

connect_trackerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…