diff --git a/python/sglang/test/server_fixtures/disaggregation_fixture.py b/python/sglang/test/server_fixtures/disaggregation_fixture.py index 9e2e04aff..a66ecc213 100644 --- a/python/sglang/test/server_fixtures/disaggregation_fixture.py +++ b/python/sglang/test/server_fixtures/disaggregation_fixture.py @@ -28,10 +28,13 @@ class PDDisaggregationServerBase(CustomTestCase): cls.lb_port = base_port cls.prefill_port = f"{int(base_port) + 100}" cls.decode_port = f"{int(base_port) + 200}" + cls.bootstrap_port = f"{int(base_port) + 500}" cls.prefill_url = f"http://{cls.base_host}:{cls.prefill_port}" cls.decode_url = f"http://{cls.base_host}:{cls.decode_port}" cls.lb_url = f"http://{cls.base_host}:{cls.lb_port}" - print(f"{cls.base_host=} {cls.lb_port=} {cls.prefill_port=} {cls.decode_port=}") + print( + f"{cls.base_host=} {cls.lb_port=} {cls.prefill_port=} {cls.decode_port=} {cls.bootstrap_port=}" + ) cls.process_lb, cls.process_decode, cls.process_prefill = None, None, None # config transfer backend and rdma devices diff --git a/test/registered/amd/disaggregation/test_disaggregation_basic.py b/test/registered/amd/disaggregation/test_disaggregation_basic.py index c88e2aca4..123fee945 100644 --- a/test/registered/amd/disaggregation/test_disaggregation_basic.py +++ b/test/registered/amd/disaggregation/test_disaggregation_basic.py @@ -55,6 +55,8 @@ class TestDisaggregationAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--attention-backend", @@ -76,6 +78,8 @@ class TestDisaggregationAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -254,6 +258,8 @@ class TestDisaggregationMooncakeFailure(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--attention-backend", @@ -275,6 +281,8 @@ class TestDisaggregationMooncakeFailure(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -362,6 +370,8 @@ class TestDisaggregationSimulatedRetract(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--attention-backend", @@ -383,6 +393,8 @@ class TestDisaggregationSimulatedRetract(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", diff --git a/test/registered/amd/disaggregation/test_disaggregation_pp.py b/test/registered/amd/disaggregation/test_disaggregation_pp.py index 5603f463e..829d4dd71 100644 --- a/test/registered/amd/disaggregation/test_disaggregation_pp.py +++ b/test/registered/amd/disaggregation/test_disaggregation_pp.py @@ -51,6 +51,8 @@ class TestDisaggregationPrefillPPAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--pp-size", @@ -73,6 +75,8 @@ class TestDisaggregationPrefillPPAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--base-gpu-id", @@ -140,6 +144,8 @@ class TestDisaggregationPrefillPPDynamicChunkAccuracy(PDDisaggregationServerBase "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--pp-size", @@ -163,6 +169,8 @@ class TestDisaggregationPrefillPPDynamicChunkAccuracy(PDDisaggregationServerBase "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--base-gpu-id", @@ -230,6 +238,8 @@ class TestDisaggregationDecodePPAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--pp-size", @@ -252,6 +262,8 @@ class TestDisaggregationDecodePPAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--pp-size", diff --git a/test/registered/disaggregation/test_disaggregation_basic.py b/test/registered/disaggregation/test_disaggregation_basic.py index ed06bc476..6b621e3e0 100644 --- a/test/registered/disaggregation/test_disaggregation_basic.py +++ b/test/registered/disaggregation/test_disaggregation_basic.py @@ -45,6 +45,8 @@ class TestDisaggregationAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", ] @@ -62,6 +64,8 @@ class TestDisaggregationAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -220,6 +224,8 @@ class TestDisaggregationMooncakeFailure(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", ] @@ -237,6 +243,8 @@ class TestDisaggregationMooncakeFailure(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -317,6 +325,8 @@ class TestDisaggregationMooncakeSpec(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", ] + cls.spec_args @@ -334,6 +344,8 @@ class TestDisaggregationMooncakeSpec(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -391,6 +403,8 @@ class TestDisaggregationSimulatedRetract(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", ] @@ -408,6 +422,8 @@ class TestDisaggregationSimulatedRetract(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", diff --git a/test/registered/disaggregation/test_disaggregation_decode_offload.py b/test/registered/disaggregation/test_disaggregation_decode_offload.py index c7e9235ce..9742c9896 100644 --- a/test/registered/disaggregation/test_disaggregation_decode_offload.py +++ b/test/registered/disaggregation/test_disaggregation_decode_offload.py @@ -75,6 +75,8 @@ class TestDisaggregationDecodeOffload(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--page-size", @@ -99,6 +101,8 @@ class TestDisaggregationDecodeOffload(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", diff --git a/test/registered/distributed/test_disaggregation_aarch64.py b/test/registered/distributed/test_disaggregation_aarch64.py index e07f7fede..be9ad8b58 100644 --- a/test/registered/distributed/test_disaggregation_aarch64.py +++ b/test/registered/distributed/test_disaggregation_aarch64.py @@ -46,6 +46,8 @@ class TestDisaggregationMooncakeAARCH64Accuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "2", ] @@ -63,6 +65,8 @@ class TestDisaggregationMooncakeAARCH64Accuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "2", "--base-gpu-id", diff --git a/test/registered/distributed/test_disaggregation_different_tp.py b/test/registered/distributed/test_disaggregation_different_tp.py index 1d944dec3..4f5654f70 100644 --- a/test/registered/distributed/test_disaggregation_different_tp.py +++ b/test/registered/distributed/test_disaggregation_different_tp.py @@ -43,6 +43,8 @@ class TestDisaggregationMooncakePrefillLargerTP(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "4", ] @@ -60,6 +62,8 @@ class TestDisaggregationMooncakePrefillLargerTP(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "2", "--base-gpu-id", @@ -114,6 +118,8 @@ class TestDisaggregationMooncakeDecodeLargerTP(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "2", ] @@ -131,6 +137,8 @@ class TestDisaggregationMooncakeDecodeLargerTP(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "4", "--base-gpu-id", @@ -185,6 +193,8 @@ class TestDisaggregationMooncakeMHAPrefillLargerTP(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "4", ] @@ -202,6 +212,8 @@ class TestDisaggregationMooncakeMHAPrefillLargerTP(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "2", "--base-gpu-id", @@ -256,6 +268,8 @@ class TestDisaggregationMooncakeMHADecodeLargerTP(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "2", ] @@ -273,6 +287,8 @@ class TestDisaggregationMooncakeMHADecodeLargerTP(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "4", "--base-gpu-id", diff --git a/test/registered/distributed/test_disaggregation_dp_attention.py b/test/registered/distributed/test_disaggregation_dp_attention.py index fed913b88..b6d52fee6 100644 --- a/test/registered/distributed/test_disaggregation_dp_attention.py +++ b/test/registered/distributed/test_disaggregation_dp_attention.py @@ -48,6 +48,8 @@ class TestDisaggregationDPAttention(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", str(cls.PREFILL_DP_SIZE), "--dp", @@ -70,6 +72,8 @@ class TestDisaggregationDPAttention(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", str(cls.DECODE_DP_SIZE), "--dp", diff --git a/test/registered/distributed/test_disaggregation_hybrid_attention.py b/test/registered/distributed/test_disaggregation_hybrid_attention.py index c004a31f0..febb67646 100644 --- a/test/registered/distributed/test_disaggregation_hybrid_attention.py +++ b/test/registered/distributed/test_disaggregation_hybrid_attention.py @@ -38,6 +38,8 @@ class TestDisaggregationHybridAttentionMamba(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "4", ] @@ -55,6 +57,8 @@ class TestDisaggregationHybridAttentionMamba(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "4", "--base-gpu-id", @@ -106,6 +110,8 @@ class TestDisaggregationHybridAttentionMambaExtraBuffer(PDDisaggregationServerBa "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "4", "--mamba-scheduler-strategy", @@ -125,6 +131,8 @@ class TestDisaggregationHybridAttentionMambaExtraBuffer(PDDisaggregationServerBa "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "4", "--base-gpu-id", @@ -180,6 +188,8 @@ class TestDisaggregationHybridAttentionMambaDPDecode(PDDisaggregationServerBase) "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "2", ] @@ -197,6 +207,8 @@ class TestDisaggregationHybridAttentionMambaDPDecode(PDDisaggregationServerBase) "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "2", "--dp", diff --git a/test/registered/distributed/test_disaggregation_pp.py b/test/registered/distributed/test_disaggregation_pp.py index 63cbea175..7c441b3c8 100644 --- a/test/registered/distributed/test_disaggregation_pp.py +++ b/test/registered/distributed/test_disaggregation_pp.py @@ -39,6 +39,8 @@ class TestDisaggregationPrefillPPAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--pp-size", @@ -59,6 +61,8 @@ class TestDisaggregationPrefillPPAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--base-gpu-id", @@ -112,6 +116,8 @@ class TestDisaggregationPrefillPPDynamicChunkAccuracy(PDDisaggregationServerBase "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--pp-size", @@ -133,6 +139,8 @@ class TestDisaggregationPrefillPPDynamicChunkAccuracy(PDDisaggregationServerBase "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--base-gpu-id", @@ -186,6 +194,8 @@ class TestDisaggregationDecodePPAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--pp-size", @@ -206,6 +216,8 @@ class TestDisaggregationDecodePPAccuracy(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp-size", "2", "--pp-size", diff --git a/test/registered/distributed/test_epd_disaggregation.py b/test/registered/distributed/test_epd_disaggregation.py index fa11a937c..9b069209a 100644 --- a/test/registered/distributed/test_epd_disaggregation.py +++ b/test/registered/distributed/test_epd_disaggregation.py @@ -176,6 +176,8 @@ class TestEPDDisaggregationOmni(PDDisaggregationServerBase): ), "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -201,6 +203,8 @@ class TestEPDDisaggregationOmni(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -683,6 +687,8 @@ class TestEPDDisaggregationOneEncoder(PDDisaggregationServerBase): "zmq_to_scheduler", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -705,6 +711,8 @@ class TestEPDDisaggregationOneEncoder(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -898,6 +906,8 @@ class TestEPDDisaggregationMultiEncoders(PDDisaggregationServerBase): "zmq_to_scheduler", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -920,6 +930,8 @@ class TestEPDDisaggregationMultiEncoders(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -1090,6 +1102,8 @@ class TestEPDDisaggregationGrpcEncoderMMMU(PDDisaggregationServerBase): "zmq_to_scheduler", "--disaggregation-mode", "prefill", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id", @@ -1114,6 +1128,8 @@ class TestEPDDisaggregationGrpcEncoderMMMU(PDDisaggregationServerBase): "--trust-remote-code", "--disaggregation-mode", "decode", + "--disaggregation-bootstrap-port", + cls.bootstrap_port, "--tp", "1", "--base-gpu-id",