MCPcopy Index your code
hub / github.com/apache/tvm / test_rpc_tracker_register

Function test_rpc_tracker_register

tests/python/runtime/test_runtime_rpc.py:478–538  ·  view source on GitHub ↗
(device_key)

Source from the content-addressed store, hash-verified

476@pytest.mark.skipif(not env.has_rpc(), reason="need rpc")
477@pytest.mark.parametrize("device_key", ["test_device", "127.0.0.1:5555"])
478def test_rpc_tracker_register(device_key):
479 # test registration
480 tracker = Tracker(port=9000, port_end=10000)
481 server1 = rpc.Server(
482 host="127.0.0.1",
483 port=9000,
484 port_end=10000,
485 key=device_key,
486 tracker_addr=("127.0.0.1", tracker.port),
487 )
488 server2 = rpc.Server(
489 host="127.0.0.1",
490 port=9000,
491 port_end=10000,
492 key=device_key,
493 tracker_addr=("127.0.0.1", tracker.port),
494 custom_addr="test_addr", # this is a test address, which is unable to connect
495 )
496 time.sleep(1)
497 client = rpc.connect_tracker("127.0.0.1", tracker.port)
498
499 def exist_address(summary, key, host, port):
500 server_info = summary["server_info"]
501 for device in server_info:
502 if device["key"] == f"server:{key}":
503 addr = device["addr"]
504 if (host is None or host == addr[0]) and port == addr[1]:
505 return True
506 return False
507
508 summary = client.summary()
509 assert summary["queue_info"][device_key]["free"] == 2
510 assert exist_address(summary, device_key, "127.0.0.1", server1.port)
511 assert exist_address(summary, device_key, "test_addr", server2.port)
512
513 remote = client.request(device_key)
514 summary = client.summary()
515 assert summary["queue_info"][device_key]["free"] == 1
516
517 del remote
518 time.sleep(1)
519
520 summary = client.summary()
521 assert summary["queue_info"][device_key]["free"] == 2
522
523 server1.terminate()
524 time.sleep(1)
525
526 summary = client.summary()
527 assert summary["queue_info"][device_key]["free"] == 1
528 assert not exist_address(summary, device_key, "127.0.0.1", server1.port)
529 assert exist_address(summary, device_key, "test_addr", server2.port)
530
531 server2.terminate()
532 time.sleep(1)
533
534 summary = client.summary()
535 assert summary["queue_info"][device_key]["free"] == 0

Callers

nothing calls this directly

Calls 8

terminateMethod · 0.95
terminateMethod · 0.95
TrackerClass · 0.90
exist_addressFunction · 0.85
ServerMethod · 0.80
connect_trackerMethod · 0.80
summaryMethod · 0.45
requestMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…